马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
請教各位大牛...我在某本Codign Style的書看到用來介紹IF的兩個例子,描述如下:
1.
module priority_encoder(a,b,c,d,sel,z);
input a, b, c, d;
input [3:0] sel;
output z;
reg z;
always @(a or b or c or d or sel)
begin
z=0;
if (sel[0]) z=a;
if (sel[1]) z=b;
if (sel[2]) z=c;
if (sel[3]) z=d;
end
endmodule
2.
module priority_encoder_2(a,b,c,d,sel,z);
input a, b, c, d;
input [3:0] sel;
output z;
reg z;
always @(a or b or c or d or sel)
begin
z=0;
if (sel[3]) z=d;
else if (sel[2]) z=c;
else if (sel[1]) z=b;
else if (sel[0]) z=a;
end
endmodule
其中Case1會合成出串接式的架構(詳細圖無法畫出),由四個多工器組成.而case2會合成出一個並行的架構,只需一個多工器便可完成,可是我用synplify pro去合這兩個範例卻發現跟書上描述的不一樣,請教一下是不是我軟體設定上有問題還是....@#$%??
另外,這兩種結構到底有啥優缺點ㄋ,書上看的不是很董,有沒有說在哪種環境下哪種結構會比較快或是省面積之類的ㄋ,請各位大大不吝賜教謝謝^^ |