verilog 中如何让一个高电平在经过一个时钟周期后回到低电平 用了#延迟没有用啊
我一开始初始化为一个低电平,然后执行一个运算,当运算结束,结果输出的时候,这个电平置高,起到一个done的作用,但是我不想让它一致高下去,让它在一个周期以后变回低电平,请...
我一开始初始化为一个低电平,然后执行一个运算,当运算结束,结果输出的时候,这个电平置高,起到一个done的作用,但是我不想让它一致高下去,让它在一个周期以后变回低电平,请问如何实现。
begin
flout_c={s3,exp3[7:0],man3[22:0]};
done= 1'b1;
//#10 done= 1'b0;
end
end
因为没有用,我把它注释掉了,如果不注释掉的话,done就一直是低电平,根本不会变高,这是为什么呢? 展开
begin
flout_c={s3,exp3[7:0],man3[22:0]};
done= 1'b1;
//#10 done= 1'b0;
end
end
因为没有用,我把它注释掉了,如果不注释掉的话,done就一直是低电平,根本不会变高,这是为什么呢? 展开
展开全部
看你的问题你并不是在写测试代码,只是在写设计代码,设计中输出高低电平变化要由输入来控制。延时有关的语句在设计中是不可综合的,在编译综合后,编译器会自动忽略。所以你还要一个输入来控制
当然你这个done 本身就可以定义为一个input 然后对应的 IO 外接控制高低电平的按键来控制done 的高低 简要思路如下:
module XX (done,XX,……);
input done;
output XX;
…… ;
reg XX;
always @ (done)
begin
if (done) //done 由输入IO口控制
XX = 0;
else
XX = ……;
end
........
..........
..........
endmodule
当然如果是些测试代码的话就是上面那位仁兄所写的。希望能帮到你,共同进步,加油!!
当然你这个done 本身就可以定义为一个input 然后对应的 IO 外接控制高低电平的按键来控制done 的高低 简要思路如下:
module XX (done,XX,……);
input done;
output XX;
…… ;
reg XX;
always @ (done)
begin
if (done) //done 由输入IO口控制
XX = 0;
else
XX = ……;
end
........
..........
..........
endmodule
当然如果是些测试代码的话就是上面那位仁兄所写的。希望能帮到你,共同进步,加油!!
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询