Я новичок в xilinx, поэтому, пожалуйста, извините любые глупости в коде.Входной выход для 8-битного ALU с использованием платы FPGA
Ах, так что я пытаюсь разработать 8-разрядное АЛУ и модуль прекрасно работает по моделированию, но мы должны принять входы и выходы на дисплей FPGA платы.
Технически я использовал RS-232, но так как мы просто имеем 8-битовый вход и 8 переключателей доступны, мы стараемся, чтобы закодировать это таким образом.
Однако код не компилируется и дает ошибку "expecting 'endmodule', found 'forever'"
.
Я использовал 'forever'
, а не 'always'
, потому что всегда не допускает экземпляра экземпляра внутри него.
Может кто-нибудь, пожалуйста, помогите нам выяснить, что не так с кодом?
module main(out,in,switch);
output [7:0] out;
input [7:0] in;
input switch;
reg [7:0] a,b,select;
reg [1:0] count;
wire eq, comp, C8;
initial
begin
count = 2'b00;
select = 8'b0000_0000;
end
MyALU A(eq, comp, C8, out, a, b, 1'b0, select[0], select[1], select[2], select[3]);
forever
begin
if (switch)
begin
case (count)
00:
begin
a = in;
count = 2'b01;
end
01:
begin
b = in;
count = 2'b10;
end
10:
begin
select = in;
A(eq, comp, C8, out, a, b, 1'b0, select[0], select[1], select[2], select[3]);
count = 2'b00;
end
default
a = in;
endcase
end
end
Петли внутри verilog должны быть внутри некоторого процедурного блока. Используйте 'initial' перед' forever'. Или удалите 'forever' и используйте' always @ (*) 'более тонкий путь. 'endmodule' отсутствует здесь. – sharvil111
Создание экземпляра модуля просто вне любого процедурного блока. Если требуется несколько экземпляров (это не так), используйте блок 'generate'. – sharvil111