嘿所以我基本上是Verilog的新手,并不太确定语法是如何工作的以及类似的东西。
作业如下
使用Altera板上的按钮和开关来递增或递减4位计数器。应使用板载LED显示计数器的值。使用开关控制计数器的方向,使用按钮更改计数器值。
这是我到目前为止所得到的,我不知道它是否正确,我知道如何在我达到这一点时在板上分配输入和输出但是无法获得编译的代码。我一直在说:
错误(10043):Lab2pt2.v上的Verilog HDL不支持的功能错误(11):不支持程序连续分配注册。
以下是代码:
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
答案 0 :(得分:0)
你是第二个尝试使用程序分配(一个相当模糊的语言功能)的人今天!
快速回答是简单地放弃'分配'在你的......任务和事情会更快乐。这种结构可以在模拟器中工作,但在物理硬件中会暗示一些不寻常的逻辑。它真的意味着测试平台(如果那样)。
您在这里遇到的问题还有其他一些问题。你错过了一个' if'在你的if / else表达式中的条件之前。
更一般地说,你需要开始考虑将Verilog描述为硬件。您的增量/减量语句在RHS上使用F. F之前是什么? '之前'甚至意味着在这种背景下? F的第一个值是多少? 电路如何知道何时从一个状态移动到另一个状态?如果您能回答这些问题,那么您将很快找到解决方案。