В настоящее время я занимаюсь разработкой части RS-232 / UART моего процессора и решил разработать ее на HDL, а не использовать netlist / GUI.Пока у меня есть следующее, но оно появляется с ошибкой: Синтаксическая ошибка в строках 9 и 16
Вот мой (очень короткий) код HDL:
module RS232_HDL(Data_In, Data_Out, DTR, DSR, RTS, CTS, Tx, Rx, Address);
input Data_In, DTR, DSR, RTS, CTS, Rx;
output Data_Out, Tx;
input [7:0] Address;
reg Tx_Reg, Rx_Reg;
assign DSR = 0;
if (DTR == 0 && Address == 8'b11111111)
begin
assign RTS = 1;
if (CTS == 1)
begin
assign Tx = Data_In;
assign DSR = 1;
end
end
endmodule
Строка 9это: if (DTR == 0 && Address == 8'b11111111)
Строка 16: end
Я не знаю, как end может быть синтаксической ошибкой, но она появляется как единое целое.
Я думаю, что главная проблема между моей идеей и текущимРеализация заключается в том, что я просто хочу использовать функцию «битовый взрыв», но каждая реализация RS-232, с которой я столкнулся, использует целый байт в качестве ввода вместо отдельных битов.