Я прикрепил свой код для моего источника дизайна и тестового стенда. Я не могу получить выходные данные для N22
и N23
.
Первая часть — загруженный список соединений для C17.
module c17 (N1,N2,N3,N6,N7,N22,N23);
input N1,N2,N3,N6,N7;
output N22,N23;
wire N10,N11,N16,N19;
nand NAND2_1 (N10, N1, N3);
nand NAND2_2 (N11, N3, N6);
nand NAND2_3 (N16, N2, N11);
nand NAND2_4 (N19, N11, N7);
nand NAND2_5 (N22, N10, N16);
nand NAND2_6 (N23, N16, N19);
endmodule
Следующая часть — это мой тестовый стенд, который проходит через все бинарные входы, но я не могу получить выходы.
`timescale 10ns / 1ps
module test;
reg N1,N2,N3,N6,N7;
wire N22,N23;
integer i;
initial begin
$monitor(N1,N2,N3,N6,N7,N22,N23);
for (i=0; i<31; i=i+1)begin
{N1,N2,N3,N6,N7} = i;
#1;
end
end
endmodule
1
cannon21
16 Апр 2020 в 20:49
1 ответ
Поскольку провода N22
и N23
не проложены в тестовом стенде, они всегда z
. Вам нужно добавить экземпляр вашего модуля c17
в тестовую среду:
module test;
reg N1,N2,N3,N6,N7;
wire N22,N23;
integer i;
c17 dut (
// Inputs:
.N1 (N1),
.N2 (N2),
.N3 (N3),
.N6 (N6),
.N7 (N7),
// Outputs:
.N22 (N22),
.N23 (N23)
);
initial begin
$monitor(N1,N2,N3,N6,N7,N22,N23);
for (i=0; i<31; i=i+1) begin
{N1,N2,N3,N6,N7} = i;
#1;
end
end
endmodule
Теперь они переключаются между 0 и 1.
См. также: Тестбенч 101
2
toolic
17 Апр 2020 в 01:22
Похожие вопросы
Связанные вопросы
Новые вопросы
verilog
Verilog - это язык описания аппаратных средств (HDL), используемый для моделирования электронных систем. Он чаще всего используется при разработке, проверке и реализации цифровых логических чипов.