程序中第一个always块中的9位计数器ref_timer计数到0之后,会重新回到511,等到再被调用的时候,从设定计数值递减。 而第二个块中的ref_timer值在第一次递减结束后,会保持在最低值,等再被调用时,从设定计数值开始递减。 我想知道其中的区别,谢谢解答!module ref_timer( input clk, input rst_n, input INIT_REQ, output REF_REQ1, output REF_REQ2);// reg define reg ref_req1; reg ref_req2; reg [8:0] ref_timer; reg [8:0] ref_timer2;always@(posedge clk or negedge rst_n)begin if(!rst_n)begin ref_timer <= 0; ref_req1 <= 0; end else begin if(INIT_REQ == 1) begin ref_timer <= 9'd50; ref_req1 <=0; end else ref_timer <= ref_timer - 1'd1; if (ref_timer == 1) ref_req1 <= 1; end end always@(posedge clk or negedge rst_n)begin if(!rst_n)begin ref_timer2 <= 0; ref_req2 <= 0; end else begin if(INIT_REQ == 1) begin ref_timer2 <= 9'd50; ref_req2 <=0; end else if(ref_timer2 == 1) ref_req2 = 1'd1; else ref_timer2 <= ref_timer2 - 1'd1; end end// assign define assign REF_REQ1 = ref_req1; assign REF_REQ2 = ref_req2;endmodule //------前提,参考代码注释。 Verilog中always块对于未特别说明的寄存器,一般采用锁存器处理。 //------说明,参考代码修改。 仿真波形里,对于寄存器的值查看方式有多种,unsigned无符号数和signed有符号数。 截图里的511其实是-1,这样便于理解。 最佳答案
高速图像处理系统中DDR2-SDRAM接口 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费 MPS157 Buck非隔离电源关于π型滤波的故障疑问使用MPS157 非隔离电源方案,生产中发现前级整流π型滤波电路中,电感后面电容(图中C5)虚焊会导致芯片损坏,请大家帮忙分析一下,是因为输入纹波大还是其他原因?
可能是L1的原因,你
|