在begin---end中竟然有两次的赋值,这样能实现吗 Verilog代码的意思
在begin---end中竟然有两次的赋值,这样能实现吗请教高手们一段Verilog代码的意思
在仿真的测试模块中CLK是所需的时钟信号,是用下面这段代码实现的,可是触发条件为posedge CLK”,而此时CLK时钟信号还没有产生呢呀,怎么可能有上升沿呢??而且在begin---end中竟然有两次的赋值,这样能实现吗?? 谢谢啦
initial CLK <= 1'b1;
initial CLK_N <= 1'b0;
always @(posedge CLK) begin
CLK <= #(`tCK/2) 1'b0;
CLK_N <= #(`tCK/2) 1'b1;
CLK <= #(`tCK) 1'b1;
CLK_N <= #(`tCK) 1'b0;
end 请不要重复发贴! 倍频的?<br>
取决于tCK了 可以实现有CLK个initial值,但是这段代码如果综合的话会有很大的问题,综合的时候不考虑 initial和#(`tCK/2)这种延时 ..汗. 这个代码含有initial.. 只能跑behav仿真 完全不能综合. 貌似altera的ddrsdramcontroller core 的tb里面就用这个生成的时钟 希望lz用可综合的书写模式写code,结构代码和测试代码至少要分开! 偶是学VHDL的,Verilog以后再学 原帖由 坐等红杏 于 2007-6-11 16:24 发表
http://www.edacn.net/bbs/images/common/back.gif
<br>
竟然还有两个initial!! 这个没有问题阿,有两个initial可以的。只要不是给同一个信号赋值 原帖由 tezhong 于 2007-6-24 11:41 发表
http://www.edacn.net/bbs/images/common/back.gif
<br>
希望lz用可综合的书写模式写code,结构代码和测试代码至少要分开! 这明显是验证用的代码
页:
[1]
2