1)所有綜合工具都支援的結構:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,parameter。
(2)所有綜合工具都不支援的結構:time,defparam,$finish,fork,join,initial,delays,udp,wait。
(3)有些工具支援有些工具不支援的結構:ca***,casez,wand,triand,wor,trior,real,disable,forever,arrays,memories,repeat,task,while。
建立可綜合模型的原則
要保證verilog hdl賦值語句的可綜合性,在建模時應注意以下要點: (1)不使用initial。 (2)不使用#10。
(3)不使用迴圈次數不確定的迴圈語句,如forever、while等。 (4)不使用使用者自定義原語(udp元件)。 (5)盡量使用同步方式設計電路。
(6)除非是關鍵路徑的設計,一般不採用呼叫門級元件來描述設計的方法,建議採用行為語句來完成設計。
(7)用always過程塊描述組合邏輯,應在敏感訊號列表中列出所有的輸入訊號。
(8)所有的內部暫存器都應該能夠被復位,在使用fpga實現設計時,應盡量使用器件的全域性復位端作為系統總的復位。
(9)對時序邏輯描述和建模,應盡量使用非阻塞賦值方式。對組合邏輯描述和建模,既可以用阻塞賦值,也可以用非阻塞賦值。但在同乙個過程塊中,最好不要同時用阻塞賦值和非阻塞賦值。
(10)不能在乙個以上的always過程塊中對同乙個變數賦值。而對同乙個賦值物件不能既使用阻塞式賦值,又使用非阻塞式賦值。
(11)如果不打算把變數推導成鎖存器,那麼必須在if語句或case語句的所有條件分支中都對變數明確地賦值。
(12)避免混合使用上公升沿和下降沿觸發的觸發器。
(13)同乙個變數的賦值不能受多個時鐘控制,也不能受兩種不同的時鐘條件(或者不同的時鐘沿)控制。
(14)避免在case語句的分支項中使用x值或z值。
不可綜合verilog語句
1、initial
只能在test bench中使用,不能綜合。(我用ise9.1綜合時,有的簡單的initial也可以綜合,不知道為什麼) 2、events: event在同步test bench時更有用,不能綜合。 3、real 不支援real資料型別的綜合。 4、time 不支援time資料型別的綜合。 5、force 和release
不支援force和release的綜合。 6、assign 和deassign
不支援對reg 資料型別的assign或deassign進行綜合,支援對wire資料型別的assign或deassign進行綜合。 7、fork join
不可綜合,可以使用非塊語句達到同樣的效果。 8、primitives 支援門級原語的綜合,不支援非門級原語的綜合。
9、table 不支援udp 和table的綜合。
10、敏感列表裡同時帶有posedge和negedge
如:always @(posedge clk or negedge clk) begin...end 這個always塊不可綜合。
11、同乙個reg變數被多個always塊驅動 12、延時以#開頭的延時不可綜合成硬體電路延時,綜合工具會忽略所有延時**,但不會報錯。 如:a=#10 b;
這裡的#10是用於**時的延時,在綜合的時候綜合工具會忽略它。也就是說,在綜合的時候上式等同於a=b; 13、與x、z的比較
可能會有人喜歡在條件表示式中把資料和x(或z)進行比較,殊不知這是不可綜合的,綜合工具同樣會忽略。所以要確保訊號只有兩個狀態:0或1。
可不可以不勇敢
累了,可以放鬆放鬆 每一次我都說 沒事,我行 我總帶著堅強的微笑 一副永遠勇敢的樣子 可這一次 我想說 我可不可以不勇敢 我只是小心翼翼的問了自己 然後又帶著堅強的表情 勇敢了一次 他們都讚許的微笑了 夜幕低垂 風起的時候 我只想輕輕的問 你可不可以想我 一如我千萬次的想你 我從不欺盼 我的問題得到...
可不可以不寂寞
連續幾個夜晚 乙個人晃著一盞燈 也不知道在做些什麼 就是不要睡覺 因為害怕自己 倒在夢裡 就不願 醒來了.我知道我是沉迷與了自己乖張的情緒 渴望寂寞給我更多思考的空間 卻軟弱的失去了自我 反而被黑夜下的寂寞給吞噬掉了 真正可怕的 就是這種讓內心都充滿無所適從感覺的寂寞 我不害怕形單影隻 我不憂慮總是...
aden 可不可以(變數)
import turtle turtle 工具包 python自帶,第三方工具包,我們自己寫的工具包 變數 改變會變化的量,相當於裝資料的盒子 變數名 盒子的名字 變數名的規則 1。數字,字母,下劃線任意組成 2。不能有標點符號,數字不能作為開頭 a b 3 a.bbbbbbb 3abc 哈佛 法無...