【问题标题】:Verilog Increment Decrement counter using Altera Board使用 Altera 板的 Verilog 递增递减计数器
【发布时间】:2017-10-02 15:58:43
【问题描述】:

嘿,所以我基本上是 Verilog 的新手,不太确定语法是如何工作的以及类似的事情。

作业如下

使用 Altera 板上的按钮和开关来增加或减少 4 位计数器。计数器的值应使用板载 LED 显示。使用开关控制计数器的方向,使用按钮改变计数器的值。

这是我到目前为止得到的,我不知道它是否正确,当我到达那个点时,我知道如何在板上分配输入和输出,但无法编译代码。我不断得到:

错误 (10043): Verilog HDL unsupported feature error at Lab2pt2.v(11): Procedural Continuous Assignment to register is not supported.

下面是代码:

module counter(A,B,F);
input A,B;
output reg [3:0] F;

always @(A or B)

begin
if (A == 1 & B==1)

assign F = F+1;

else(A == 0 & B==1)

assign F = F-1;

end
endmodule 

【问题讨论】:

标签: verilog counter intel-fpga quartus digital-design


【解决方案1】:

您是今天第二个尝试使用程序分配(一种相当晦涩的语言功能)的人!

快速的答案是简单地将“分配”放在您的...分配中,事情会更快乐。这种结构将在模拟器中工作,但在物理硬件中会暗示一些不寻常的逻辑。它确实适用于测试台(如果那样的话)。

您在此处进行的操作还有一些其他问题。您在 if/else 表达式中的条件之前缺少一个“if”。

更一般地,您需要开始将 Verilog 视为描述硬件。您的递增/递减语句在 RHS 上使用 F。 F以前是什么?在这种情况下,“之前”甚至意味着什么? F的第一个值是多少? 电路如何知道何时从一个状态移动到下一个状态?如果您能回答这些问题,您就可以顺利找到解决方案。

【讨论】:

    猜你喜欢
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多