首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在edaplayground中执行中断或达到最大运行时间

在edaplayground中执行中断或达到最大运行时间
EN

Stack Overflow用户
提问于 2015-10-18 06:51:47
回答 2查看 2.3K关注 0票数 0

执行中断或达到最大运行时间。

这是我的代码的链接:http://www.edaplayground.com/x/CX8

我试图在这个设计中交换数字。

EN

回答 2

Stack Overflow用户

发布于 2015-10-19 12:13:28

当然,这不是EDAPlayground的问题。代码可能在某个地方有buggy。

always @(*)块是模拟停留在单个时间戳的主要原因。*表示如果任何 RHS变量更改了它的值,则执行整个块。这里,变量a_reg和b_reg在单个时隙上连续交换。相反,请使用always @(posedge clk)

要获得更清晰的概念,请参阅this链接。

票数 1
EN

Stack Overflow用户

发布于 2015-10-20 09:49:00

我相信你要做的是交换两个4位数字'a‘和'b’。要在verilog中做到这一点,您需要记住,当您使用always @(posedge clk)构造时,您实际上是将RHS上的net的旧值赋值给LHS上的寄存器。因此

always @(posedge clk) begin a_out = b; b_out = a; end会导致正确的操作,不需要任何额外的寄存器。我已经创建了您的edaplayground项目的副本,并添加了一些额外的测试向量。http://www.edaplayground.com/x/8hk

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33192421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档