作者maxwellee (maxwell)
看板Electronics
标题[请益] 关於除频电路(verilog)
时间Wed Apr 15 17:31:49 2009
我看到的除频电路有两种
以要产生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)
1F:推 horsehead:第一种比较好 他经过的组合逻辑较少 延迟 跟 skew 问题 04/15 19:18
2F:→ horsehead:会比第二种来的漂亮一些 04/15 19:18
3F:推 horsehead:修正一下 延迟 跟 skew 问题应该都一样 差别应该在第一 04/15 19:26
4F:→ horsehead:种的clock source 可以比较快 04/15 19:26
5F:推 fnrj:1 04/16 00:24
6F:推 pierreqq:除2只有好选1了, 第2个是除4的电路... 04/16 09:06
7F:推 horsehead:第二个也是除二 04/16 09:14
8F:推 pierreqq:因为是assign clk2=ct[1]而不是assign clk2=ct[0] 04/16 10:35
拍谢 我修正一下
我测试的结果power第一种方法较小 area第二种方法较小
请问这样的结果合理吗?
※ 编辑: maxwellee 来自: 203.68.162.102 (04/16 13:09)
9F:推 deathcustom:实际DFF layout的话似乎一个DFF就KO /2电路了 04/18 05:07