Я использую регистры «TX» и «TX_data_bit» в качестве входных данных в другом модуле, как в приведенных ниже примерах.
module LPT_ASK(input wire clk,
input wire [7:0]Data,
input wire strobe,
output reg TX,
output reg [3:0]TX_data_bit);
reg [7:0]TX_data = 8'b00000000;
reg TX_in_progress = 0;
reg TX_ended = 1;
reg [1:0]strobe_reg;
reg flag;
always @(posedge strobe) begin
TX_data = Data;
end
always @(posedge clk) begin
strobe_reg[0] <= strobe_reg[1];
strobe_reg[1] <= strobe;
if ((strobe_reg[1] == 1)&&(strobe_reg[0] == 0)) begin
flag = 1;
end
if ((flag == 1)&&(TX_in_progress == 0)) begin
TX_in_progress = 1;
TX_data_bit = 4'b0000;
TX = 0;
end
if ((TX_in_progress == 1)&&(TX_data_bit < 4'b1000)) begin
TX = TX_data[TX_data_bit];
TX_data_bit = TX_data_bit + 4'b0001;
end else begin
TX_in_progress = 0;
TX = 1;
flag = 0;
end
end
endmodule
module assignerer
(
input wire clk,
input wire [7:0]Data,
input wire strobe,
output wire TX_final,
output wire [3:0] TX_final_data_bit
);
wire LPT_ASK_to_assignerer;
wire LPT_ASK_to_assignerer2;
LPT_ASK LPT_ASK1
(
.clk (clk),
.Data (Data),
.strobe (strobe),
.TX (LPT_ASK_to_assignerer),
.TX_data_bit (LPT_ASK_to_assignerer2)
);
assign TX_final = LPT_ASK_to_assignerer;
assign TX_final_data_bit = LPT_ASK_to_assignerer2;
endmodule
Ошибок нет, но похоже не работает , потому что на диаграмме осциллограмм в строке ниже нет назначения.
assign TX_final = LPT_ASK_to_assignerer;
Я пытался использовать другие конструкции, как, например. Но компилятор выдает ошибку.
всегда @ (*) TX_final = LPT_ASK_to_assignerer; Ошибка (10137): Ошибка процедурного назначения Verilog HDL в assignerer.v (26): объект «TX_final» в левой части назначения должен иметь переменный тип данных.
На первом рисунке ниже есть некоторые прогресс для модуля «LPT_ASK» в регистрах «TX» и «TX_data_bit». Но когда я пытаюсь назначить этот результат второму модулю в проводе «TX_final», ничего не происходит.
Если я изменю тип данных с провода на reg, ошибка 10137 исчезнет, но изображение останется прежним. Назначения нет.
Надеюсь, я смог правильно представить свою основную идею на второй картинке. Я хочу использовать вывод в качестве ввода в другом модуле и работать с ним.
- Элемент списка
введите описание изображения здесь