Tüm kodlar resimlerde ve benim sorularım, eğer kodlar bana farklı sonuçlar verecektir. Yöntem 3 ve 3b arasındaki farklar konusunda özellikle şüphem var ve kolaylık için aşağıda özetledim. 3 ile 3b arasında, biri XOR için atama deyimini kullanır, diğeri düz yukarı XOR kullanır. 1) Saat ifadesinin her zaman @ ifadesi dışında olduğu için, yine de benzer bir şekilde çalışacak mı? 2) Eminim, ve bunu sürekli bir şekilde çalıştıran bir yerde okurum. Kombinatoryal mantık (xor U1 (Z .....) bir "her zaman @ (*)" bloğuna yerleştirilmeli mi? atama ifadesi olarak benzer moda kaçmadı mı?Verilog aynı mantığı tanımlamanın 5 yolu, 5 kod arasında herhangi bir fark var mı
xor U1(Z,A,D);//uncomment this line for METHOD 3
assign Z=A^D; //uncomment this line for METHOD 3b
tam kod ......
module SetupHold(
input wire clock,
input wire B,
input wire C,
input wire E,
input wire F,
input wire H,
input wire J,
output reg K
);
reg A,D,G;
//wire Z;//uncomment this line for METHOD 3 & 3b
//xor U1(Z,A,D);//uncomment this line for METHOD 3
//assign Z=A^D; //uncomment this line for METHOD 3b
[email protected](posedge clock) begin
A <= B^C;
D <= E & F;
G <= H | J;
//K <= G ? ~&{A,D} : ^{A^D};//uncomment this line for METHOD 1
//K <= G ? ~&{A,D} : (A^D); //uncomment this line for METHOD 2
//K <= G ? ~&{A,D} : Z;//uncomment this line for METHOD 3 &3b
if (G==1)//uncomment this line for METHOD 4
K<=~&{A,D};//uncomment this line for METHOD 4
else //uncomment this line for METHOD 4
K<=(A^D);//uncomment this line for METHOD 4
end
endmodule
Bir sentez aracına verilirse
bir donanım tanımlama dili (HDL) olarak Verilog için
Sorguyu simüle ederek/sentezleyerek kendinize sorun. – toolic
Sentezlenmiş ve Simüle. 3 ve 3b, benzetim için aynı sonuçları verir, çünkü K çıkışı her zaman blokta değerlendirildiğinde, WIRE NET Z'yi değerlendirilmek üzere Z'ye zorlamak zorundadır, böylece Z her zaman @ (*) bloğunda olmak zorunda değildir. Benim düşünceme göre atama, A ve/veya D değiştiğinde Z'nin yeni bir değer almasını sağlamanın kesin bir yolu olduğundan, kod yazmanın daha iyi bir yoludur. – newb7777