verilog中可綜合語句:input,output,parameter,reg,wire,always,assign, begin...end,case,for,posedge,negedge,or,and,default,if,function,generate,integer,while,repeat(while、repeat循環可綜合時,要具有明確的循環表達式和循環條件,for可綜合時也要有具體的循環范圍),·define
不可綜合語句:initial,fork...join,wait,time,display,forever。
保證Verilog HDL賦值語句的可綜合性,在建模時應注意以下要點:(1)不能使用initial,initial一般使用在測試程序,做初始化。(2)不建議使用延時,#1,這種只是模擬數字電路中因為布線產生的信號延時,不可綜合,但也不會報錯。(3)不能使用循環次數不確定的函數,但forever在綜合設計中禁止使用,只能使用在仿真測試程序中。(4)盡量使用同步電路設計方式。(5)除非關鍵電路設計,一般不建議調用門級元件進行設計,一般使用行為級進行設計。(6)當使用always進行組合邏輯設計時,敏感列表里面的要列出所有輸入信號。(7)在進行時序電路進行編寫時,采樣非阻塞賦值。組合邏輯設計時,采樣阻塞賦值,但是不能在同一個always語句里兩種混合使用。(8)為避免產生鎖存器,if,case要進行完整的語句賦值,且case語句中避免使用X值,Z值。