|
发表于 2017-6-28 10:08:25
|
显示全部楼层
回复 55# 杰克淡定
楼主您好,看了您的帖子,我把这部分电路推理了一遍,有点不理解的地方想向楼主请教,从楼主的代码中可以看到,楼主的MUX采用“与门+或门”的结构来实现,而后级采用“与门+或门”的时候,用于输出"与门"的门控信号的寄存器一定要下降沿触发 “3、如果part5部分希望使用注释掉的两行“与”逻辑实现时钟gating,此时part1与part3使用正相或者反相时钟都可以,但是必须把part2和part4部分改为注释掉的反相时钟实现,目的是初步从RTL设计上避免“与”逻辑的毛刺” 您在第三点中也说明了,这一点,那么为啥在代码中采用“clk_gate_xxx clk_gate_a ( .CP(clka), .EN(sel_clka_dly1), .Q(clka_g) .TE(1'b0) );
clk_gate_xxx clk_gate_b ( .CP(clkb), .EN(sel_clkb_dly1), .Q(clkb_g) .TE(1'b0) );”的时候可以采用上升沿触发?按道理来讲,clk_gate不就是一个与门吗?如果想要采用全上升沿触发,那么就应该是原始时钟上升沿触发‘控制原始时钟的触发器’,关断原始时钟,锁定输出到高电平,目的时钟上升沿后触发‘目的时钟的触发器
’,开启目的时钟,从而在高电平完成时钟切换,要达到这个目的,后级的MUX的实现方法,应该是采用“或门+与门”的结构,而不是楼主代码里的"与门+或门"的结构吧?还请楼主不吝赐教,谢谢! |
|