Verilog 执行中断或已达到中的最大运行时间
执行中断或达到最大运行时间 以下是我的代码的链接:Verilog 执行中断或已达到中的最大运行时间,verilog,edaplayground,Verilog,Edaplayground,执行中断或达到最大运行时间 以下是我的代码的链接: 我试图在这个设计中交换数字。当然这不是一个问题。代码可能在某个地方有问题 您的始终@(*)块是您的模拟卡在单个时间戳上的主要原因。*表示如果任何RHS变量更改其值,则执行整个块。在这里,变量a_reg和b_reg在单个时隙上连续交换。相反,请使用始终@(posedge clk) 要获得更清晰的概念,请参阅链接。我相信您要做的是交换两个4位数字“a”和“b”。要在verilog中实现这一点,您需要记住,当您使用always@(posedge c
我试图在这个设计中交换数字。当然这不是一个问题。代码可能在某个地方有问题 您的
始终@(*)
块是您的模拟卡在单个时间戳上的主要原因。*
表示如果任何RHS变量更改其值,则执行整个块。在这里,变量a_reg和b_reg在单个时隙上连续交换。相反,请使用始终@(posedge clk)
要获得更清晰的概念,请参阅链接。我相信您要做的是交换两个4位数字“a”和“b”。要在verilog中实现这一点,您需要记住,当您使用
always@(posedge clk)
构造时,实际上是将RHS上网络的旧值分配给LHS上的寄存器。
因此
始终@(posedge clk)
开始
a_out=b;
b_out=a;
结束
结果正确运行,无需任何附加寄存器。我已经创建了一个项目的副本,并添加了一些额外的测试向量 看一看。@RajeshReddy如果你把一个答案标记为正确的解决方案,如果它对你有帮助的话,它会有帮助的