• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

1位全減器組成8位全減器設(shè)計(jì)Verilog代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-24011G1061B33.doc

共1個(gè)文件

名稱:8位全減器設(shè)計(jì)Verilog代碼Quartus仿真

軟件:Quartus

語(yǔ)言:Verilog

代碼功能:

給出1位全減器的 Verilog HDL描述。

要求:

1)首先設(shè)計(jì)1位半減器,然后用例化語(yǔ)句將它們連接起來(lái),圖中 h_ suber是半減器,diff是輸出差,Sout是借位輸出, sub_in是借位輸入。

2)根據(jù)圖設(shè)計(jì)1位全減器。

3)以1位全減器為基本硬件,構(gòu)成串行借位的8位全減器,要求用例化語(yǔ)句來(lái)完成此項(xiàng)設(shè)計(jì)。

QQ圖片20240117110433.png

(1)將RTL代碼復(fù)制黏貼到下面

(2)將 testbench仿真測(cè)試代碼復(fù)制黏貼在下方

(3)截圖波形,波形能夠清晰反映所有變量的變化情況

(4)截圖RTL視圖

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

module f_suber_8bit(

input [7:0]x,

input [7:0]y,

input sub_in,

output [7:0]diff,

output sub_out

);

wire sub_out1;

wire sub_out2;

wire sub_out3;

wire sub_out4;

wire sub_out5;

wire sub_out6;

wire sub_out7;

f_suber i0_f_suber(

. x(x[0]),

. y(y[0]),

. sub_in(sub_in),

. diff(diff[0]),

. sub_out(sub_out1)

);

f_suber i1_f_suber(

. x(x[1]),

. y(y[1]),

. sub_in(sub_out1),

. diff(diff[1]),

. sub_out(sub_out2)

);

f_suber i2_f_suber(

. x(x[2]),

. y(y[2]),

. sub_in(sub_out2),

. diff(diff[2]),

. sub_out(sub_out3)

);

f_suber i3_f_suber(

. x(x[3]),

. y(y[3]),

. sub_in(sub_out3),

. diff(diff[3]),

. sub_out(sub_out4)

);

f_suber i4_f_suber(

. x(x[4]),

. y(y[4]),

. sub_in(sub_out4),

. diff(diff[4]),

. sub_out(sub_out5)

);

f_suber i5_f_suber(

. x(x[5]),

. y(y[5]),

. sub_in(sub_out5),

. diff(diff[5]),

. sub_out(sub_out6)

);

f_suber i6_f_suber(

. x(x[6]),

. y(y[6]),

. sub_in(sub_out6),

. diff(diff[6]),

. sub_out(sub_out7)

);

f_suber i7_f_suber(

. x(x[7]),

. y(y[7]),

. sub_in(sub_out7),

. diff(diff[7]),

. sub_out(sub_out)

);

endmodule

Testbench代碼

module testbench();

reg [7:0]x;

reg [7:0]y;

reg sub_in;

wire [7:0]diff;

wire sub_out;

f_suber_8bit i_f_suber_8bit(

.x(x),

.y(y),

.sub_in(sub_in),

.diff(diff),

.sub_out(sub_out)

);

initial begin

x=0;

y=0;

sub_in=0;

#10;

x=7;

y=5;

sub_in=1;

#10;

x=89;

y=28;

sub_in=0;

#10;

x=45;

y=25;

sub_in=1;

#10;

x=44;

y=45;

sub_in=0;

#10;

x=78;

y=42;

sub_in=0;

#10;

end

endmodule

仿真圖

RTL圖

部分代碼展示:

module?f_suber(
input?x,
input?y,
input?sub_in,
output?diff,
output?sub_out
);
wire?diff1;
wire?s_out1;
wire?s_out2;
h_suber?i1_h_suber(
.?x(x),
.?y(y),
.?diff(diff1),
.?s_out(s_out1)
);
h_suber?i2_h_suber(
.?x(diff1),
.?y(sub_in),
.?diff(diff),
.?s_out(s_out2)
);
assign?sub_out=?s_out1?|?s_out2;
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=590

  • 2-24011G1061B33.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!