Verilog输入到电线

时间:2013-11-15 15:45:11

标签: verilog

我想在Altera DE2板上用verilog制作一个时钟。截至目前,我可以使用触发器作为时钟从00:00:00到23:59:59。现在我需要能够将Switch设置为某​​个值,比如12:56:00然后从那里开始计数。我试图将一个wire变量设置为初始开关输入,然后将其用作我的计数器的起点。

    module part3(HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7,SW,KEY,LEDR,CLOCK_50);

input [17:0] LEDR, SW;
input [3:0] KEY;
input CLOCK_50;
output [0:6] HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,HEX6,HEX7;

parameter clock_speed = 50000000;
parameter clock_divisor = 8;

wire [26:0] Q,Q2,Q3,Q4;
wire [3:0] one,two,three,four;
reg SecInc,MinInc,HrInc;

one = SW[3:0];

这是我崩溃的代码。我不明白为什么

   wire in = SW[0];

是合法的,但我按照我的方式分配它是不合法的。我需要将开关输入存储在寄存器或线路中,以便根据条件增加该寄存器或线路。

注意:我没有正式的verilog介绍,我们的教授给了我们一个董事会和altera大学计划实验室的链接,并说有乐趣。

1 个答案:

答案 0 :(得分:2)

您需要使用assign关键字。变化:

one = SW[3:0];

为:

assign one = SW[3:0];

这被称为Verilog中的连续任务。如果您正在进行程序性分配(例如,在assign块内),则不需要always关键字。