新手上路
- 积分
- 49
- 金钱
- 49
- 注册时间
- 2018-4-17
- 在线时间
- 12 小时
|
5金钱
先上程序::::
always @(posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)begin
mid_cnt <= 28'd0;
counter <= 28'd0;
ceshi_up1 <= 1'b0;
ceshi_up <= 1'b0;
end
else begin
mid_cnt <= mid_cnt + 1'b1;
if(double_edge) begin
ceshi_up1 <= ~ceshi_up1;// 1
counter <= mid_cnt;// 2
mid_cnt <= 28'd0;// 3
end
else begin
if(jus) begin
mid_cnt <= 28'd0;
end
else begin
//counter <= counter;
ceshi_up <= ~ceshi_up;
end
end
end
end
仿真示意图
按照程序描述,当double_edge被检测到时,后面标注“//”的程序1、2、3都会被执行。但是在仿真图中,仅有程序1、2被执行了,程序3没有被执行,这是咋回事啊?有没有人能指导一下。
|
|