freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

課程設計論文-數(shù)字頻率計的設計(編輯修改稿)

2024-12-11 19:50 本頁面
 

【文章內容簡介】 數(shù)字頻率計 12 門控模塊 gate_control 門控模塊實現(xiàn)檢測外界量程的選擇,并且根據(jù)量程輸出控制 6 位 BCD 碼十進制計算器的計數(shù)時鐘。生成的模塊如下: 實現(xiàn)的源程序如下: module gate_control(SW0,SW1,SW2,f1hz,f10hz,f100hz,Latch_EN,Counter_EN,dp_s1hz,dp_s10hz,dp_s100hz)。 output Latch_EN。 output Counter_EN。 output dp_s1hz,dp_s10hz,dp_s100hz。 input SW0,SW1,SW2。 input f1hz,f10hz,f100hz。 reg dp_s1hz,dp_s10hz,dp_s100hz。 reg fref。 reg wire_1。 reg wire_2。 initial begin fref = 139。b0。 wire_1 = 139。b0。 wire_2 = 139。b0; end always @(SW0 or SW1 or SW2 or f1hz or f10hz or f100hz) begin if(SW2 == 139。b1) begin fref = f100hz。 {dp_s1hz,dp_s10hz,dp_s100hz} = 339。b001。 end else if(SW1 == 139。b1) begin fref = f10hz 。 {dp_s1hz,dp_s10hz,dp_s100hz} = 339。b010。 end else if(SW0 == 139。b1) begin fref = f1hz。 {dp_s1hz,dp_s10hz,dp_s100hz} = 339。b100。 end end always @(posedge fref) begin wire_1 = ! wire_1; end always @(negedge fref) begin wire_2 = wire_1。 end assign Counter_EN = wire_1。 assign Latch_EN = (! Counter_EN) amp。 wire_2。 endmodule 該模塊定義輸入端口如下: 數(shù)字頻率計 13 ● SW0、 SW SW2:量程選擇開關 ● flhz: 1Hz 的標準時鐘輸入 ● fl0hz: 10Hz的標準時鐘輸入 ● fl00hz: 100Hz 的標準時鐘輸入 該模塊定義輸入端口如下: ● Latch_EN:用來是能寄存器所存數(shù)據(jù) ● Counter_EN:用于使能計數(shù)器開始計數(shù) ● dp_s1hz:選擇 999999Hz 量程時,用于控制顯示中的小數(shù)點位置 ● dp_s10hz:選擇 量程時,用于控制顯示中的小數(shù)點位置 ● dp_s100hz:選擇 量程時,用于控制顯示中的小數(shù)點位置 經過 ModelSim SE 仿真圖像如下: 分頻模塊 fdiv 分頻模塊在系統(tǒng)全局時鐘的驅動下,經過分頻得到系統(tǒng)中所需要的多種頻率成分的時鐘信號。 分頻模塊的結構框圖如圖 所示。 數(shù)字頻率計 14 圖 分頻模塊結構框圖 實現(xiàn)分頻功能的源代碼如下: module fdiv(clk,f1hz,f10hz,f100hz,f1khz)。 output f1hz,f10hz,f100hz,f1khz。 input clk。 reg f1hz,f10hz,f100hz,f1khz。 integer t1=0,t2=0,t3=0,t4=0。 always @(posedge clk) begin if(t147999) begin f1khz = 139。b0。 t1 = t1 + 1。 end else begin f1khz = 139。b1。 t1 = 0。 end end always @(posedge f1khz) begin if(t2 9) begin f100hz = 139。b0。 t2 = t2 + 1。end else begin f100hz = 139。b1。 t2 = 0。 end end always @(posedge f100hz) begin if(t39) 數(shù)字頻率計 15 begin f10hz = 139。b0。 t3 = t3 + 1。 end else begin f10hz = 139。b1。 t3 = 0。 end end always @(posedge f10hz) begin if(t49) begin f1hz = 139。b0。t4 = t4 + 1。 end else begin f1hz = 139。b1。 t4 = 0。 end end endmodule 該模塊定義輸入端口如下: ● clk:全局系統(tǒng)時鐘信號 該模塊定義輸出端口如下: ● f1hz:輸出 1Hz 的時鐘信號 ● f10hz:輸出 1Hz 的時鐘信號 ● f1khz:輸出 1Hz 的時鐘信號 經過 ModelSim SE 仿真圖像如下: 寄存器模塊 flip_latch 寄存器模塊實現(xiàn)每一個測量頻率時,計數(shù)器計算值的暫時存儲。并且將儲存的溢出信號輸出。 該模塊的結構圖如下圖所示: 數(shù)字頻率計 16 實現(xiàn)該模塊的源代碼如下: module flip_latch(clk,A0,A1,A2,A3,A4,A5,A6,Q0,Q1,Q2,Q3,Q4,Q5,Q6)。 output [3:0] Q0,Q1,Q2,Q3,Q4,Q5。 output Q6。 input clk。 input [3:0] A0,A1,A2,A3,A4,A5。 input A6。 reg [3:0] Q0,Q1,Q2,Q3,Q4,Q5。 reg Q6。 always @(posedge clk) begin Q0 = A0。 Q1 = A1。 Q2 = A2。 Q3 = A3。 Q4 = A4。 Q5 = A5。 Q6 =~ A6。 end endmodule 該模塊定義輸入端口如下 ● clk:所存數(shù)據(jù)信號輸入,當 clk的上升沿到來時,寄存器將輸入端信號鎖存進寄存器,并且改變輸出。 ● A0,A1,A2,A3,A4,A5, A6:寄存器的數(shù)據(jù)輸入端 該模塊定義輸出端口如下: ● Q0,Q1,Q2,Q3,Q4,Q5, Q6:寄存器的數(shù)據(jù)輸出端。 經過 ModelSim SE 仿真圖像如下: 數(shù)字頻率計 17 多路選擇模塊 data_mux 多路選擇模塊實現(xiàn)測量頻率值的分時顯示,即動態(tài)顯示。經過多路選擇器模塊來分時地傳輸數(shù)據(jù)。 多路選擇模塊的結構如圖 所示。 圖 多路選擇模塊結構框圖 根據(jù)模塊實現(xiàn)的功能設計 Verilog HDL 源代碼如下: module data_mux(disp_select,A0,A1,A2,A3,A4,A5,Q)。 數(shù)字頻率計 18 output [3:0] Q。 input [3:0]disp_select。 input [3:0] A0,A1,A2,A3,A4,A5。 reg [3:0] Q。 always @(disp_select,A5,A4,A3,A2,A1,A0,Q) begin case(disp_select) 439。b0000: Q = A0。 439。b0001: Q = A1。 439。b0010: Q = A2。439。b0011: Q = A3。 439。b0100: Q = A4。 439。b0101: Q = A5。default: Q = 439。b0。 endcase end endmodule 該模塊定義輸入端口如下: ● disp_select:選擇信
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1