FPGA小白学习之路(5)clk为什么要用posedge,而不用negedge(转)
clk為什么要用posedge,而不用negedge
轉自:http://www.cnblogs.com/dangxia/archive/2012/03/07/2383744.html
Verilog中典型的counter邏輯是這樣的:
1 always@(posedge clk or negedge reset) begin 2 3 if(reset == 1'b0) 4 5 reg_inst1 <= 8'd0; 6 7 else if(clk == 1'b1) 8 9 reg_inst1 <= reg_inst1 + 1'd1; 10 11 else 12 13 reg_inst1 <= reg_inst1; 14 15 end
clk為什么要用posedge,而不用negedge呢?請教丹內(nèi)先生,答案如下:
一般情況下,系統(tǒng)中統(tǒng)一用posedge,避免用negedge,降低設計的復雜度,可以減少出錯。
在ModelSim仿真中,時鐘是很嚴格的,但是在真實的晶振所產(chǎn)生的clock卻是不嚴格的,比如高電平和低電平的時間跨度不一樣,甚至非周期性的微小波動。如果只使用posedge,則整個系統(tǒng)的節(jié)拍都按照clock上升沿對齊,如果用到了negedge,則系統(tǒng)的節(jié)拍沒有統(tǒng)一到一個點上。上升沿到上升沿肯定是一個時鐘周期,但是上升沿到下降沿卻很可能不是半個周期。這都會出現(xiàn)問題。
FPGA特有的東西:Global CLK。FPGA內(nèi)部有專門的CLK“線”,和一般的邏輯門的走法不一樣,目的是為了保證整個FPGA片內(nèi)的時鐘一致,這個東西就叫Global CLK
今天找這方面的資料,但發(fā)現(xiàn)信息很少,感覺本文說的蠻有道理,所以轉載了和大家分享。希望對這個問題有不同理解的,可以交流交流。
真正不羈的靈魂不會真的去計較什么,因為他們的內(nèi)心深處有著國王般的驕傲。
總結
以上是生活随笔為你收集整理的FPGA小白学习之路(5)clk为什么要用posedge,而不用negedge(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: emc文件存储服务器,emc存储怎么挂在
- 下一篇: 半斤八两中级破解 (四) TCP_U