文章目錄
- 一、設計二進制全加器
- (1)實驗目的
- (2)設計原理或設計過程
- (3)實驗電路圖
- (4)RTL代碼設計(加分項)
- (5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
- 二、數(shù)據(jù)選擇器及應用
- (1)實驗目的
- (2)實驗原理或設計過程
- (3)實驗電路圖
- (4)RTL代碼設計(加分項)
- (5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
- 三、集成觸發(fā)器及應用
- (1)實驗目的
- (2)實驗原理或設計過程
- (3)實驗電路圖
- (4)RTL代碼設計(加分項)
- (5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
一、設計二進制全加器
(1)實驗目的
1、掌握常用譯碼器的工作原理與邏輯功能。
2、了解動態(tài)掃描顯示電路的工作原理與優(yōu)缺點。
3、掌握十進制數(shù)字動態(tài)顯示電路的設計方法。
(2)設計原理或設計過程
(3)實驗電路圖
(4)RTL代碼設計(加分項)
module full_adder(input wire in1,input wire in2,input wire cin,output wire cout,output wire sum
);wire sum0;wire cout0;wire cout1;assign {cout0,sum0}=in1+in2;assign {cout1,sum}=cin+sum0;assign cout=cout0 | cout1;endmodule
- 仿真測試模塊代碼
三個輸入端產(chǎn)生0到1的隨機數(shù)。
`timescale 1ns/1nsmodule full_adder_tb;reg in1;reg in2;reg cin;wire cout;wire sum;full_adder full_adder(.in1(in1),.in2(in2),.cin(cin),.cout(cout),.sum(sum));initial beginin1=0;in2=0;cin=0;endalways #10 in1<={$random}%2;always #10 in2<={$random}%2;always #10 cin<={$random}%2;initial begin$timeformat(-9,0,"ns",6);$monitor("@time %t: in1=%d in2=%d cin=%d cout=%d sum=%d",$time,in1,in2,cin,cout,sum);end
endmodule
(5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
二、數(shù)據(jù)選擇器及應用
(1)實驗目的
1、熟悉中規(guī)模集成電路數(shù)據(jù)選擇器的工作原理與邏輯功能。
2、掌握數(shù)據(jù)選擇器的應用。
(2)實驗原理或設計過程
1.用數(shù)據(jù)選擇器M8_1E實現(xiàn)函數(shù)F=(m0,m4,m5.m8.m12,m14)
用M8_1E,畫出F的卡諾圖,降一維,實現(xiàn)電路。
(3)實驗電路圖
(4)RTL代碼設計(加分項)
module mux(input wire A,input wire B,input wire C,input wire D,output reg F
);always @(*)case({C,B,A})3'd0,3'd4,3'd6,3'd7 : F = ~D;3'd1,3'd3,3'd5 : F = 1'b0;3'd2 : F = 1'b1;endcaseendmodule
`timescale 1ns/1nsmodule mux_tb;reg A;reg B;reg C;reg D;wire F;mux mux_inst(.A(A),.B(B),.C(C),.D(D),.F(F));initial beginA=1'b0;B=1'b0;C=1'b0;D=1'b0;endalways #10 A <= {$random}%2;always #10 B <= {$random}%2;always #10 C <= {$random}%2;always #10 D <= {$random}%2;endmodule
(5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
三、集成觸發(fā)器及應用
(1)實驗目的
1、掌握集成觸發(fā)器的邏輯功能。
2、熟悉用觸發(fā)器構成計數(shù)器的設計方法。
3、掌握集成觸發(fā)器的基本應用。
(2)實驗原理或設計過程
設計一個3bit可控延時電路,該電路有一個輸入信號CP,一個串行輸入信號F1,一個串行輸出信號F2,F1和F2與CP同步,另有兩個控制信號K1和K2。對該電路的邏輯功能要求:(1)當K1K2=00,F1和F2沒有延時;(2)當K1K2=01時,延時一個時鐘周期;(3)當K1K2=10,延時兩個時鐘周期;(4)當K1K2=11,延時三個時鐘周期。
①串行輸入信號F1:可用2位二進制計數(shù)器的Tc輸出端。
②3bit延時電路:運用D觸發(fā)器實現(xiàn),將F1置于觸發(fā)器D端,在后續(xù)CP作用下,觸發(fā)器Q端輸出即為延遲一個時鐘周期的F2,將3個D觸發(fā)器級聯(lián),可實現(xiàn)3bit延時。
③控制電路:利用四選一數(shù)據(jù)選擇器在開關控制下依次選擇F1,Q1,Q2,Q3到數(shù)據(jù)選擇器的輸出端即可。
(3)實驗電路圖
(4)RTL代碼設計(加分項)
module bit_3(input wire clk,input wire [1:0]K,input wire clr,output reg F1,output reg F2
);reg Q1;reg Q2;reg Q3;reg clk_4;reg [1:0]cnt;always @(posedge clk or negedge clr)if(!clr)cnt <= 1'b0;else if(cnt == 2'd3)cnt <= 1'b0;else cnt <= cnt + 1'b1;always @(posedge clk or negedge clr)if(!clr)clk_4 <= 1'b0;else if(cnt == 2'd2)clk_4 <= ~clk_4;always @(posedge clk_4 or negedge clr)if(!clr)F1 <= 1'b0;elseF1 <= ~F1;always @(posedge clk or negedge clr)if(!clr) beginQ1 <= 1'b0;Q2 <= 1'b0;Q3 <= 1'b0;endelse beginQ1 <= F1;Q2 <= Q1;Q3 <= Q2;endalways @(*)if(!clr)F2 <= 1'b0;else begincase(K)2'b00 : F2 = F1;2'b01 : F2 = Q1;2'b10 : F2 = Q2;2'b11 : F2 = Q3;endcaseendendmodule
`timescale 1ns/1ns
`define clk_period 20module bit_3_tb;reg clk;reg [1:0]K;reg clr;wire F1;wire F2;bit_3 bit_3_inst(.clk(clk),.K(K),.clr(clr),.F1(F1),.F2(F2));initial beginclr = 1'b0;K = 1'b0;#20;clr = 1'b1;K = 2'b00;#(`clk_period*50);K = 2'b01;#(`clk_period*50);K = 2'b10;#(`clk_period*50);K = 2'b11;#(`clk_period*50);endinitial clk = 1'b1;always #(`clk_period/2) clk = ~clk;endmodule
- 仿真波形圖
K=00
K=01
K=10
K=11
(5)ISE原理圖輸入的實驗數(shù)據(jù)分析和實驗結果
總結
以上是生活随笔為你收集整理的南京邮电大学电工电子(数电)实验报告——二进制全加器 数据选择器 集成触发器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。