[請益] 關於除頻電路(verilog)

看板Electronics作者 (maxwell)時間16年前 (2009/04/15 17:31), 編輯推噓7(702)
留言9則, 4人參與, 最新討論串1/6 (看更多)
我看到的除頻電路有兩種 以要產生2倍週期clk命名為clk2為例 法一: always@(negedge clk or posedge rst)begin if(rst)begin clk2<=0; end else begin clk2<=~clk2; end end ---------------- 法二: reg[1:0]ct; always@(posedge clk or posedge rst)begin if(rst)begin ct<=0; end else begin ct<=ct+1'b1; end end assign clk2=ct[0] -------------------- 請問這兩種方法哪種比較好呢?個有什麼優劣點? 或是還有更適合的方法? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: maxwellee 來自: 203.68.162.102 (04/15 17:34)

04/15 19:18, , 1F
第一種比較好 他經過的組合邏輯較少 延遲 跟 skew 問題
04/15 19:18, 1F

04/15 19:18, , 2F
會比第二種來的漂亮一些
04/15 19:18, 2F

04/15 19:26, , 3F
修正一下 延遲 跟 skew 問題應該都一樣 差別應該在第一
04/15 19:26, 3F

04/15 19:26, , 4F
種的clock source 可以比較快
04/15 19:26, 4F

04/16 00:24, , 5F
1
04/16 00:24, 5F

04/16 09:06, , 6F
除2只有好選1了, 第2個是除4的電路...
04/16 09:06, 6F

04/16 09:14, , 7F
第二個也是除二
04/16 09:14, 7F

04/16 10:35, , 8F
因為是assign clk2=ct[1]而不是assign clk2=ct[0]
04/16 10:35, 8F
拍謝 我修正一下 我測試的結果power第一種方法較小 area第二種方法較小 請問這樣的結果合理嗎? ※ 編輯: maxwellee 來自: 203.68.162.102 (04/16 13:09)

04/18 05:07, , 9F
實際DFF layout的話似乎一個DFF就KO /2電路了
04/18 05:07, 9F
文章代碼(AID): #19vQc658 (Electronics)
討論串 (同標題文章)
文章代碼(AID): #19vQc658 (Electronics)