...帮解,verilog有没有跳出指令,或是verilog如何实现跳出always或是停在...

发布网友 发布时间:2024-10-24 09:36

我来回答

3个回答

热心网友 时间:13小时前

硬件语言首先你要理解你写的always块是要映射成物理电路的,不像软件有什么跳出或者pause一说。但是实现你说的功能是有办法的。
举个例子,你可以这样做:
always@(*)
if(button_n) //这里添加一个条件判断模块,假如按键不按下就执行逻辑
/*状态机或者逻辑块*/
else ; //else后直接跟分号,表示按键按下的时候这个always块不动作,保持原有状态
另一层楼的朋友说的方法实质是使用门控时钟,也是一种思路,不过在同步电路设计中不推荐使用门控时钟,容易引入毛刺。。这一般是ASIC为了降低功耗才会使用的方法。

热心网友 时间:14小时前

我有一个想法
设置一个信号en,然后你程序的时钟是fclk,而你用的时钟是clk=en&&fclk。
你的目的是用一个按键将数码管停下,那意思就是数码管的值不变,比如说你的always是posedge clk有效,那么初试设en=1,然后在你需要时将en=0,那么时钟就已知为0,所以已知不会执行always模块,所以数码管就不会变。
没试过,但是感觉应该可以,试试吧

热心网友 时间:14小时前

用状态机实现吧,不是很难。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com