2016-04-10 40 views
0

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 

Method1

Method2

Bir sentez aracına verilirse

Method3b

bir donanım tanımlama dili (HDL) olarak Verilog için

Method4

+0

Sorguyu simüle ederek/sentezleyerek kendinize sorun. – toolic

+0

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

cevap

1

Method3

, aynı mantıksal işlevin 5 farklı uygulamaları eşdeğer donanıma neden olur. Böylece donanımın mantıksal çalışması aynı olacaktır.

Ancak, sentez araçlarının, örneğin zamanlama kısıtlamaları ve cihaz dolumuna dayanan özel uygulamayı seçmede çok fazla özgürlüğe sahip olduğuna dikkat edin; bu nedenle, kapı sunumuna bakarken çalıştırmadan tuna uygulamalardaki farklılıkları görebilirsiniz. Bununla birlikte, uygulanan mantıksal işlev eşdeğer olacaktır.