Ben kurulum için aşağıdaki gibi bir 1 bitlik Verilog kodu ile tam toplayıcı ve beraberindeki testbençi denedik eski Spartan2-Kurulu ile ıslak ayaklarımı elde ederken:ModelSim SE 5.7: Beklenmeyen 'Z' ve 'X'
module full_adder(s, cout, a, b, cin);
output s, cout;
input a, b, cin;
wire t1, t2, t3;
xor (t1, a, b);
xor (s, t1, cin);
and (t2, t1, cin);
and (t3, a, b);
or (cout, t2, t3);
endmodule
Testbench:
module tb_full_adder;
// Inputs
reg a;
reg b;
reg cin;
// Outputs
wire s;
wire cout;
// Instantiate the Unit Under Test (UUT)
full_adder uut (
.s(s),
.cout(cout),
.a(a),
.b(b),
.cin(cin)
);
initial begin
// Initialize Inputs
a = 0;
b = 0;
cin = 0;
// Wait 100 ns for global reset to finish
#100;
//125 ns
#25; a = 1'b1;
//150 ns
#25; a = 1'b0; b = 1'b1;
//175 ns
#25; b = 1'b0; cin = 1'b1;
end
endmodule
Ben İMKB'nin daha yeni sürümleri artık IIUC (dursun Vivado) Spartan cihazların herhangi desteklemediğinden İMKB 10.1 ve ModelSim SE 5.7 kullanmak zorunda kaldı. konu Modelsim'e ait 'Dalga penceresi' hi-Z ya kadar tüm sinyalleri gösterir ise 'X' umurumda değil olmasıdır:
Ben kurulum İMKB 14.7 tam olarak aynı proje için, kodu da derler ve simülasyon, bu durumda daha yeni işim var, beklenen izlerini gösterir:
onun yaşı yanı sıra Modelsim'e ve işim arasındaki fark nedir
? Neyi eksik?iyi
, Chris bu açıdan ModelSim ve İsim arasında farklı bir şey yok
Spot on. ModelSim'de açmak için üst düzey modülü yanlışlıkla tıklattım, ancak test fikstür dosyasını değil. Çünkü "İşlemler" bölmesi, "full_adder.v" nin yanı sıra "tb_full_adder.v" ile de ModelSim'i çalıştırmama izin verdi, bu yüzden dalga formlarını otomatik olarak göstereceğini düşündüm. – user2286339