我编写了一个用作计数器(秒)的模块,并在 Altera 板上的两个七段显示器上显示数字,每个数字一个。
这是模块:
module assignment2_sevenseg(clkin, seg1_output, seg2_output);
input clkin;
output reg [6:0] seg1_output;
output reg [6:0] seg2_output;
reg currentTime;
assignment2_sec seconds(.clkin(clkin), .output_sec(currentTime));
always @(currentTime)
begin
digitaltimer timer(currentTime/10, seg1_output); //left segment (line 14)
digitaltimer timer1(currentTime%10, seg2_output); //right segment (line 15)
end
endmodule
assignment2_sec 模块是另一个用于计数/增加秒数的模块。它应该工作正常。我得到的错误出现在 always 语句中 begin/end 语句之间的两行中。
错误 (10170):assign2_sevenseg.v(14) 附近文本处的 Verilog HDL 语法错误:“(”;期待“;”。检查并修复紧接在指定关键字之前或处出现的任何语法错误。
我也得到了第 15 行的确切错误。
这里也是digitaltimer模块,仅供参考。
module digitaltimer(num , segments);
input [3:0] num ;
output [6:0] segments ;
reg [6:0 ] segments ;
always@(num)
begin
case (num)
0: segments <= ~7'b0111111;
1: segments <= ~7'b0000110;
2: segments <= ~7'b1011011;
3: segments <= ~7'b1001111;
4: segments <= ~7'b1100110;
5: segments <= ~7'b1101101;
6: segments <= ~7'b1111101;
7: segments <= ~7'b0000111;
8: segments <= ~7'b1111111;
9: segments <= ~7'b1101111;
default: segments <= ~7'bx ;
endcase
end
endmodule