EDA與電子技術課程設計課件_第1頁
EDA與電子技術課程設計課件_第2頁
EDA與電子技術課程設計課件_第3頁
EDA與電子技術課程設計課件_第4頁
EDA與電子技術課程設計課件_第5頁
已閱讀5頁,還剩279頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

EDA與電子技術課程設計教材:EDA與數(shù)字系統(tǒng)設計李國麗朱維勇欒銘主編EDA與電子技術課程設計教材:EDA與數(shù)字系統(tǒng)設計1緒論門電路、觸發(fā)器等稱為邏輯器件;由邏輯器件構成,能執(zhí)行某單一功能的電路,如計數(shù)器、譯碼器、加法器等,稱為邏輯功能部件;由邏輯功能部件組成的能實現(xiàn)復雜功能的數(shù)字電路稱數(shù)字系統(tǒng)。緒論門電路、觸發(fā)器等稱為邏輯器件;2圖0-1數(shù)字系統(tǒng)框圖圖0-1數(shù)字系統(tǒng)框圖3數(shù)字系統(tǒng)設計方法簡介

明確設計要求,確定系統(tǒng)的輸入/輸出;確定整體設計方案;自頂向下(top-down)的模塊化設計方法。數(shù)字系統(tǒng)設計方法簡介明確設計要求,確定系統(tǒng)的輸入/輸出4數(shù)字系統(tǒng)的設計層次選用通用集成電路芯片構成數(shù)字系統(tǒng);應用可編程邏輯器件實現(xiàn)數(shù)字系統(tǒng);設計專用集成電路(單片系統(tǒng))。數(shù)字系統(tǒng)的設計層次選用通用集成電路芯片構成數(shù)字系統(tǒng);5應用可編程邏輯器件(ProgrammableLogicDevicePLD)實現(xiàn)數(shù)字系統(tǒng)設計,是目前利用EDA(ElectronicDesignAutomation)技術設計數(shù)字系統(tǒng)的潮流。這種設計方法以數(shù)字系統(tǒng)設計軟件為工具,將傳統(tǒng)數(shù)字系統(tǒng)設計中的搭建調試用軟件仿真取代,對計算機上建立的系統(tǒng)模型,用測試碼或測試序列測試驗證后,將系統(tǒng)實現(xiàn)在PLD芯片或專用集成電路上,這樣最大程度地縮短了設計和開發(fā)時間,降低了成本,提高了系統(tǒng)的可靠性。應用可編程邏輯器件(ProgrammableLogicD6PLD簡介

數(shù)字集成電路的發(fā)展過程:電子管晶體管小中規(guī)模集成電路(SSI,MSI)大規(guī)模集成電路(LSI)超大規(guī)模集成電路(VLSIC)

具有特定功能的專用集成電路(ApplicationSpecificIntegratedCircuitASIC)PLD簡介數(shù)字集成電路的發(fā)展過程:7為使ASIC的設計周期盡可能短,出現(xiàn)了現(xiàn)場可編程邏輯器件(FieldProgrammableLogicDeviceFPLD),其中應用最廣泛的當屬CPLD和FPGA。

CPLD:ComplexProgrammableLogicDeviceFPGA:FieldProgrammableGateArray統(tǒng)稱為PLD或CPLD/FPGA。

為使ASIC的設計周期盡可能短,出8PLD發(fā)展過程早期:PROM、EPROM、EEPROM

70年代中期:ProgrammableLogicarrayPLA

70年代末:美國MMI公司ProgrammablearrayLogicPAL

80年代中期:Altera公司GenericArrayLogicGAL共同特點:低密度PLD,結構簡單,設計靈活,規(guī)模小,難以實現(xiàn)復雜的邏輯功能。PLD發(fā)展過程早期:PROM、EPROM、EEPROM9PLD發(fā)展過程80年代中期:Altera公司ErasableProgrammableLogicDeviceEPLD

1985年:Xilinx公司FieldProgrammableGateArrayFPGA80年代末:Lattice公司提出InSystemProgrammableISP)技術,相繼出現(xiàn)了一系列具備在系統(tǒng)可編程能力的復雜可編程邏輯器件(ComplexProgrammab1eLogicDeviceCPLD)。共同特點:高密度、高速度、低功耗結構體系更靈活、適用范圍更寬,設計風險為零。PLD發(fā)展過程80年代中期:Altera公司Erasabl10PLD發(fā)展過程90年代以后,高密度PLD在生產(chǎn)工藝、器件的編程和測試技術等方面都有了飛速發(fā)展,CPLD的集成度一般可達數(shù)千甚至上萬門。Altera的EPF10K10每片含62000158000個可使用門,重復擦寫次數(shù)達10萬次以上。PLD發(fā)展過程90年代以后,高密度PLD在生產(chǎn)工藝、器件的編11PLA、PAL、GAL、EPLD、FPGA、ISP-PLD的基本結構在《數(shù)字電子技術基礎》的第八章有介紹PLA、PAL、GAL、EPLD、FPGA、ISP-PLD的12EDA軟件種類及各自特點

專門用于開發(fā)FPGA和CPLD的EDA工具分為五個模塊:1.設計輸入編輯器(xilinx的Foundation、Altera的MAX+plus2等);2.仿真器(如Mentor公司的ModelSim,Cadence公司的Verilog-XL,NC-Verilog等);3.HDL綜合器(Synopsys公司的FPGACompiler、FPGAExpress等);4.適配器(或部局布線器)(如Lattice公司的ispEXPERT中有自己的適配器);5.下載器(編程器)。EDA軟件種類及各自特點專門用于開發(fā)FPGA和CPLD的E13MAX+Plus210.0(學生版)支持的器件

1、EPF10K10,EPF10K10A等2、MAX7000系列(如MAX7000S中的MAX7128)3、EPM9320等MAX+Plus210.0(學生版)支持的器件1、EPF14MAX+plus2使用練習圖形輸入方式(.gdf文件);HDL(HardwareDescriptionLanguage)語言輸入方式1)VHDL語言(VeryHighSpeedIntergatedCircuitHardwareDescriptionLanguage)2)VerilogHDL語言MAX+plus2使用練習圖形輸入方式(.gdf文件);15設計過程設計輸入圖形或HDL語言輸入編譯Compiler項目校驗、仿真Simulate編程或下載Program或Configure設計過程設計輸入編譯項目校驗、仿真編程或下載16步驟進入Windows操作系統(tǒng),打開MAX+Plus2;啟動File\Project\Name菜單,輸入設計文件的名稱(給出文件存儲路徑);點擊Assign\Device菜單,選擇器件(EPM7128SLC84-6或EPF10K10LC84-4);啟動File\New菜單,選擇GraphicEditor,打開原理圖編輯器;步驟進入Windows操作系統(tǒng),打開MAX+Plus2;17原理圖設計輸入過程元器件放置;在元器件之間添加連線;添加輸入、輸出引腳,并給它們命名;保存原理圖。原理圖設計輸入過程元器件放置;18編譯啟動MaxplusII/Compiler菜單,選擇Start,開始編譯;若電路有錯,編譯器停止編譯,并顯示出錯信息;若電路無錯,則編譯通過,生成.sof、.pof文件,以備硬件下載或編程時用。注意:編譯只對頂層文件進行編譯啟動MaxplusII/Compiler菜單,選擇Sta19時序模擬仿真

編譯通過后就可進行時序模擬:1、建立波形輸入文件:1)打開菜單File/New,選WaveformEditorFile(.scf),OK;2)在波形編輯器窗口的Name下單擊鼠標右鍵,出現(xiàn)浮動菜單,選EnterNodesfromSNF…出現(xiàn)對話框;3)在Type區(qū)選Inputs和Outputs,單擊List按鈕,可在其右下方看到設計中的輸入輸出信號,單擊=>可將這些信號選到SelectedNodes&Groups區(qū),OK;4)在菜單File中選Save。時序模擬仿真編譯通過后就可進行時序模擬:20時序模擬仿真2、編輯輸入節(jié)點波形:1)在菜單Options中選中SnaptoGrid和ShowGrid,并打開GridSize…設置仿真時間;2)使用繪制圖形工具條繪制輸入節(jié)點波形;3)選File中Save存盤。時序模擬仿真2、編輯輸入節(jié)點波形:21時序模擬仿真3、時序模擬:1)在菜單Maxplus2中選Simulator;2)單擊Start,開始模擬;3)模擬完畢,單擊OpenScf得模擬結果,可對結果進行檢查(注意有動態(tài)延時和競爭冒險現(xiàn)象)。時序模擬仿真3、時序模擬:22管腳分配啟動MaxplusII/FloorplanEditor菜單,則顯示該設計項目的管腳分配;用戶可根據(jù)下載板情況,改變管腳分配。管腳分配啟動MaxplusII/FloorplanEdi23注意下載板有兩種:1.北京理工達勝科技有限公司生產(chǎn)的下載板,芯片管腳與外圍信號沒有連接,需在實驗中由你連接;2.東南大學東訊通生產(chǎn)的DXT-BIII型EDA實驗開發(fā)系統(tǒng),芯片管腳與外圍信號已連接好,必須根據(jù)下表改變管腳分配.注意下載板有兩種:24圖1-2-15PLD引腳與外部人工連接EPF10K10LC84-4圖1-2-15PLD引腳與外部人工連接EPF10K10LC25圖1-2-16PLD引腳與外部器件連接鎖定圖1-2-16PLD管腳與外部器件連接鎖定圖1-2-16PLD引腳與外部器件連接鎖定圖1-2-1626器件名稱信號名10K10管腳器件名稱信號名10K10管腳輸出發(fā)光管L12R25數(shù)據(jù)開關K229輸出發(fā)光管L12G24數(shù)據(jù)開關K330輸出發(fā)光管L1123數(shù)據(jù)開關K435輸出發(fā)光管L1022數(shù)據(jù)開關K536輸出發(fā)光管L921數(shù)據(jù)開關K637輸出發(fā)光管L819數(shù)據(jù)開關K738輸出發(fā)光管L718數(shù)據(jù)開關K839輸出發(fā)光管L665數(shù)據(jù)開關K947輸出發(fā)光管L564數(shù)據(jù)開關K1048輸出發(fā)光管L462數(shù)據(jù)開關K1149輸出發(fā)光管L361數(shù)據(jù)開關K1250輸出發(fā)光管L260數(shù)據(jù)開關K1351輸出發(fā)光管L1G59數(shù)據(jù)開關K1452輸出發(fā)光管L1R58數(shù)據(jù)開關K1553數(shù)據(jù)開關K128數(shù)據(jù)開關K1654器件名稱信號名10K10管腳器件名稱信號名10K10管腳輸出27器件名稱信號名10K10管腳器件名稱信號名10K10管腳數(shù)碼管M4M4A17揚聲器SP27M4B16時鐘信號CP11M4C11時鐘信號CP243M4D10數(shù)碼管M3M3A9M3B8M3C7M3D6數(shù)碼管M2M2A5M2B3M2C83M2D81數(shù)碼管M1M1A80M1B79M1C78M1D73器件名稱信號名10K10管腳器件名稱信號名10K10管腳數(shù)碼28下載將實驗板接口線與計算機并口連接,打開試驗箱電源;啟動MaxliusII/Programmer菜單;如果是第一次使用該軟件,啟動Options\HardwareSetup菜單,在HardwareType中選擇ByteBlaster(MV)。Configure即可完成下載。

下載將實驗板接口線與計算機并口連接,打開試驗箱電源;29注意若下載后提示下載不成功信息,按以上各步檢查是否設置正確,并檢查計算機與實驗箱硬件連接,排除故障,再次嘗試下載;隨時可利用幫助信息(?),解決疑難問題;相同名字的導線,在電氣上相連(P26);器件可以旋轉;一組輸入或一組輸出時,可用BUS(組);改變管腳后,應再編譯一次,再下載。注意若下載后提示下載不成功信息,按以上各步檢查是否設置正確,30VerilogHDL語言輸入方式進入Windows操作系統(tǒng),打開MAX+Plus2;啟動File\Project\Name菜單,輸入設計文件的名稱(給出文件存儲路徑);點擊Assign\Device菜單,選擇器件(EPM7128SLC84-6或EPF10K10LC84-4);啟動File\New菜單,選擇TextEditorfile,打開原理圖編輯器;鍵入程序;在File\Saveas保存,生成.v文件;以下步驟同圖形輸入法。VerilogHDL語言輸入方式進入Windows操作系統(tǒng)31有關VerilogHDL的詳細內容參見第三章(P.98)有關VerilogHDL的詳細內容參見第三章(P.98)32/**************************************************************///MODULE:adder//FILENAME:add.v//VERSION:v1.0//DATE:May5th,2003//AUTHOR:Peter//CODETYPE:RTL//DESCRIPTION:Anadderwithtwoinputs(1bit),oneoutput(2bits)./****************************************************/moduleadder(in1,in2,sum);

inputin1,in2;output[1:0]sum;wirein1,in2;reg[1:0]sum;

always@(in1orin2)beginsum=in1+in2;endendmodule模塊名(必須和存儲時的名稱相同)端口列表說明部分模塊主體結束行注釋部分模塊定義行/*****************************33事件控制的Always語句,一直監(jiān)測輸入信號,只要有變化,就執(zhí)行下面的塊語句。Case語句Case(敏感表達式)值1:塊語句1;值2:塊語句2;……default:塊語句n+1;endcasemoduledecoder(out,in);output[7:0]out;input[2:0]in;reg[7:0]out;always@(in)begincase(in)3'd0:out=8'b00000001;3'd1:out=8'b00000010;3'd2:out=8'b00000100;3'd3:out=8'b00001000;3'd4:out=8'b00010000;3'd5:out=8'b00100000;3'd6:out=8'b01000000;3'd7:out=8'b10000000;endcaseendendmodule<位寬>’<基數(shù)><數(shù)值>d十進制h十六進制b二進制o八進制事件控制的Always語句,一直監(jiān)測輸入信號,只要有變化,就34modulejsq16(q,clk,reset);output[3:0]q;reg[3:0]q;inputclk,reset;always@(posedgeclkornegedgereset)beginif(!reset)q[3:0]<=4'b0000;elseq[3:0]<=q[3:0]+4'b0001;endendmoduleif(表達式)塊語句1;else塊語句2;modulejsq16(q,clk,reset);if(表35注意.v文件描述的功能模塊可以生成一個符號,放在用戶庫中,供其它原理圖輸入文件調用,調用的方法與從器件庫中取元器件的方法相同。生成功能模塊的方法為:選擇菜單file\createdefaultsymbol,經(jīng)過與編譯相同的過程后,生成的功能模塊被放入用戶庫,注意.v文件描述的功能模塊可以生成一個符號,放在用戶36實驗內容和時間安排星期一上午講課,完成非門下載

先在F盤中設置一個自己的文件夾,例:F\lgl星期一下午星期二:1.2、1.3所有練習星期二下午4:00講課:掃描顯示電路星期三:完成1.4所有練習星期三下午:布置數(shù)字系統(tǒng)設計題星期四星期五:完成數(shù)字系統(tǒng)設計一個實驗內容和時間安排星期一上午講課,完成非門下載37掃描顯示實驗室A掃描顯示實驗室A38掃描顯示電路用發(fā)光管的狀態(tài)驗證設計是否滿足要求。在譯碼器設計時,這種方式是很直觀的,但在計數(shù)器設計時,這樣的驗證方式就顯得很不直觀,尤其當計數(shù)器的位數(shù)增加時(如百進制計數(shù)),太多的發(fā)光管將使結果的讀出非常困難。掃描顯示電路用發(fā)光管的狀態(tài)驗證設計是否滿足要求。在譯碼器設39數(shù)碼管驅動方式BCD碼驅動直接驅動數(shù)碼管驅動方式BCD碼驅動40數(shù)碼管

BCD碼驅動輸入輸出DCBAYaYbYcYdYeYfYg字形000000010010001101000101011001111000100110101011110011011110111111111100110000110110111110010110011101101110111111110000111111111100111110111001111110011100111101100111110001110123456789AbCdEFDCBADCBA數(shù)碼管

BCD碼驅動輸入輸出DCBAYaY41圖1-2-16PLD引腳與外部器件連接鎖定東南大學實驗箱的靜態(tài)顯示方式屬于BCD碼驅動撥向“靜態(tài)”圖1-2-16PLD引腳與外部器件連接鎖定東南大學實驗箱的42數(shù)碼管直接驅動輸入abcdefg輸出字形11111100110000110110111110010110011101101110111111110000111111111110111110111001111110011100111101100111110001110123456789ABCDEF當采用直接驅動方式時,驅動一個數(shù)碼管需要七個電平信號,如果系統(tǒng)用來顯示結果的數(shù)碼管較多,應考慮數(shù)字系統(tǒng)輸出信號占用PLD芯片管腳的問題,因為PLD芯片的管腳總數(shù)是有限的,例如F10K10,它的管腳總數(shù)是84,其中還有一些特定功能的管腳不能給用戶使用,能使用的管腳不到60個,所以直接驅動時,必須設法減少占用PLD芯片的管腳的數(shù)量。解決的方法是采用動態(tài)掃描顯示數(shù)碼管直接驅動輸入輸出字形11111100當43動態(tài)掃描顯示(管腳見表1-2-2)

撥向“動態(tài)”動態(tài)掃描顯示(管腳見表1-2-2)

撥向“動態(tài)”44例1-4-1設計一個電路,使八個數(shù)碼管依次同時顯示0、1、2、……A、B、…E、F。例1-4-1設計一個電路,使八個數(shù)碼管依次同時顯示0、1、245例1-4-1動態(tài)掃描字形顯示十六進制計數(shù)moduleled(a,b,c,d,e,f,g,D);outputa,b,c,d,e,f,g;input[3:0]D;rega,b,c,d,e,f,g;always@(D)begincase(D)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011;4'hA:{a,b,c,d,e,f,g}=7'b1110111;4'hB:{a,b,c,d,e,f,g}=7'b0011111;4'hC:{a,b,c,d,e,f,g}=7'b1001110;4'hD:{a,b,c,d,e,f,g}=7'b0111101;4'hE:{a,b,c,d,e,f,g}=7'b1001111;4'hF:{a,b,c,d,e,f,g}=7'b1000111;endcaseendendmodulemoduledecoder(out,in);output[7:0]out;input[2:0]in;reg[7:0]out;always@(in)begincase(in)3'd0:out=8'b00000001;3'd1:out=8'b00000010;3'd2:out=8'b00000100;3'd3:out=8'b00001000;3'd4:out=8'b00010000;3'd5:out=8'b00100000;3'd6:out=8'b01000000;3'd7:out=8'b10000000;endcaseendendmodule例1-4-1動態(tài)掃描字形顯示十六進制計數(shù)moduleled46modulesaomiao(reset,clk,clk1,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g);inputclk,reset,clk1;reg[3:0]in1;outputms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;regms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg[3:0]temp,flag;always@(posedgeclk)begin{ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8}=8'b00000000;flag=flag+1;case(flag)0:begintemp=in1;ms1=1;end1:begintemp=in1;ms2=1;end2:begintemp=in1;ms3=1;end3:begintemp=in1;ms4=1;end4:begintemp=in1;ms5=1;end5:begintemp=in1;ms6=1;end6:begintemp=in1;ms7=1;end7:begintemp=in1;ms8=1;endendcasecase(temp)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011;4'hA:{a,b,c,d,e,f,g}=7'b1110111;4'hB:{a,b,c,d,e,f,g}=7'b0011111;4'hC:{a,b,c,d,e,f,g}=7'b1001110;4'hD:{a,b,c,d,e,f,g}=7'b0111101;4'hE:{a,b,c,d,e,f,g}=7'b1001111;4'hF:{a,b,c,d,e,f,g}=7'b1000111;default:{a,b,c,d,e,f,g}=7'b1111110;endcaseendalways@(posedgeclk1)beginif(!reset)in1=4'b0000;elsebeginin1=in1+1;endendendmodule東南大學實驗箱完全用VerilogHDL完成modulesaomiao(reset,clk,clk1,47問題是要把兩個計數(shù)器輸出的個位和十位數(shù)分別顯示在不同的數(shù)碼管上,用Sel模塊實現(xiàn)。原理是:in1,in2……in8為八個數(shù)碼管的BCD碼輸入端數(shù)據(jù),MS1有效時,in1的數(shù)據(jù)送MS1顯示;MS2有效時,in2的數(shù)據(jù)送MS2顯示;……MS8有效時,in8的數(shù)據(jù)送MS8顯示。八組數(shù)據(jù)可以不全部都有,如此例中,十二進制數(shù)的低四位送in1,高四位送in2,六十進制數(shù)的低四位送in3,高四位送in4,其余數(shù)據(jù)端為空。例1-4-2設計一個電路,使兩個數(shù)碼管顯示112的十二進制計數(shù),兩個數(shù)碼管顯示059的六十進制計數(shù)。

注意:十二進制計數(shù)器自行設計問題是要把兩個計數(shù)器輸出的個位和十位數(shù)分別顯48

49EDA與電子技術課程設計課件50case(temp)

4'd0:{a,b,c,d,e,f,g}=7'b1111110;

4'd1:{a,b,c,d,e,f,g}=7'b0110000;

4'd2:{a,b,c,d,e,f,g}=7'b1101101;

4'd3:{a,b,c,d,e,f,g}=7'b1111001;

4'd4:{a,b,c,d,e,f,g}=7'b0110011;

4'd5:{a,b,c,d,e,f,g}=7'b1011011;

4'd6:{a,b,c,d,e,f,g}=7'b1011111;

4'd7:{a,b,c,d,e,f,g}=7'b1110000;

4'd8:{a,b,c,d,e,f,g}=7'b1111111;

4'd9:{a,b,c,d,e,f,g}=7'b1111011;

4'hA:{a,b,c,d,e,f,g}=7'b1110111;

4'hB:{a,b,c,d,e,f,g}=7'b0011111;

4'hC:{a,b,c,d,e,f,g}=7'b1001110;

4'hD:{a,b,c,d,e,f,g}=7'b0111101;

4'hE:{a,b,c,d,e,f,g}=7'b1001111;

4'hF:{a,b,c,d,e,f,g}=7'b1000111;

default:{a,b,c,d,e,f,g}=7'b1111110;

endcase

end

endmodule

modulesel(in1,in2,in3,in4,in5,in6,in7,in8,clk,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g);inputclk;input[3:0]in1,in2,in3,in4,in5,in6,in7,in8;outputms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;regms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg[3:0]temp,flag;always@(posedgeclk)begin{ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8}=8'b00000000;flag=flag+1;case(flag)0:begintemp=in1;ms1=1;end1:begintemp=in2;ms2=1;end2:begintemp=in3;ms3=1;end3:begintemp=in4;ms4=1;end4:begintemp=in5;ms5=1;end5:begintemp=in6;ms6=1;end6:begintemp=in7;ms7=1;end7:begintemp=in8;ms8=1;endendcasecase(temp)

4'd0:{a,b,c,d,e,f,g51EndEnd52掃描顯示實驗室B掃描顯示實驗室B53掃描顯示電路用發(fā)光管的狀態(tài)驗證設計是否滿足要求。在譯碼器設計時,這種方式是很直觀的,但在計數(shù)器設計時,這樣的驗證方式就顯得很不直觀,尤其當計數(shù)器的位數(shù)增加時(如百進制計數(shù)),太多的發(fā)光管將使結果的讀出非常困難。掃描顯示電路用發(fā)光管的狀態(tài)驗證設計是否滿足要求。在譯碼器設54數(shù)碼管驅動方式BCD碼驅動直接驅動數(shù)碼管驅動方式BCD碼驅動55數(shù)碼管

BCD碼驅動輸入輸出DCBAYaYbYcYdYeYfYg字形000000010010001101000101011001111000100110101011110011011110111111111100110000110110111110010110011101101110111111110000111111111100111110111001111110011100111101100111110001110123456789AbCdEFDCBADCBA數(shù)碼管

BCD碼驅動輸入輸出DCBAYaY56數(shù)碼管直接驅動輸入abcdefg輸出字形11111100110000110110111110010110011101101110111111110000111111111110111110111001111110011100111101100111110001110123456789ABCDEF當采用直接驅動方式時,驅動一個數(shù)碼管需要七個電平信號,如果系統(tǒng)用來顯示結果的數(shù)碼管較多,應考慮數(shù)字系統(tǒng)輸出信號占用PLD芯片管腳的問題,因為PLD芯片的管腳總數(shù)是有限的,例如F10K10,它的管腳總數(shù)是84,其中還有一些特定功能的管腳不能給用戶使用,能使用的管腳不到60個,所以直接驅動時,必須設法減少占用PLD芯片的管腳的數(shù)量。解決的方法是采用動態(tài)掃描顯示數(shù)碼管直接驅動輸入輸出字形11111100當57北理工生產(chǎn)的實驗箱,只能用動態(tài)掃描方式進行數(shù)碼管顯示。硬件電路提供了一只3線-8線譯碼器,輸入端為sel2,sel1,sel0,輸出接各個數(shù)碼管片選端。3線-8線譯碼器輸入端北理工生產(chǎn)的實驗箱,只能用動態(tài)掃描方式進行數(shù)碼管顯示。3線-58例1-4-1設計一個電路,使八個數(shù)碼管依次同時顯示0、1、2、……A、B、…E、F。例1-4-1設計一個電路,使八個數(shù)碼管依次同時顯示0、1、259moduleled(a,b,c,d,e,f,g,D);outputa,b,c,d,e,f,g;input[3:0]D;rega,b,c,d,e,f,g;always@(D)begincase(D)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011;

4'hA:{a,b,c,d,e,f,g}=7'b1110111;4'hB:{a,b,c,d,e,f,g}=7'b0011111;4'hC:{a,b,c,d,e,f,g}=7'b1001110;4'hD:{a,b,c,d,e,f,g}=7'b0111101;4'hE:{a,b,c,d,e,f,g}=7'b1001111;4'hF:{a,b,c,d,e,f,g}=7'b1000111;endcaseendendmodule例1-4-1譯碼器moduleled(a,b,c,d,e,f,g,D);例160北京理工實驗箱modulesaomiaob(reset,clk,clk1,flag,a,b,c,d,e,f,g);inputclk,reset,clk1;reg[3:0]in1;outputflag,a,b,c,d,e,f,g;rega,b,c,d,e,f,g;reg[2:0]flag;always@(posedgeclk)beginflag=flag+1;case(in1)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011;4'hA:{a,b,c,d,e,f,g}=7'b1110111;4'hB:{a,b,c,d,e,f,g}=7'b0011111;4'hC:{a,b,c,d,e,f,g}=7'b1001110;4'hD:{a,b,c,d,e,f,g}=7'b0111101;4'hE:{a,b,c,d,e,f,g}=7'b1001111;4'hF:{a,b,c,d,e,f,g}=7'b1000111;endcaseendalways@(posedgeclk1)beginif(!reset)in1=4'b0000;elsebeginin1=in1+1;endendendmodule完全用VerilogHDL完成北京理工實驗箱modulesaomiaob(reset,c61問題是要把兩個計數(shù)器輸出的個位和十位數(shù)分別顯示在不同的數(shù)碼管上,用Selb模塊實現(xiàn)。原理是:in1,in2……in8為八個數(shù)碼管的BCD碼輸入端數(shù)據(jù),sel[2..0]=000時,左邊數(shù)碼管(ms1)選中,in1送ms1;sel[2..0]=001時,第二數(shù)碼管(ms2)選中,in1送ms2;……….sel[2..0]=111時,第八數(shù)碼管(ms8)選中,in1送ms8;八組數(shù)據(jù)可以不全部都有,如此例中,十二進制數(shù)的低四位送in1,高四位送in2,六十進制數(shù)的低四位送in3,高四位送in4,其余數(shù)據(jù)端為空。例1-4-2設計一個電路,使兩個數(shù)碼管顯示112的十二進制計數(shù),兩個數(shù)碼管顯示059的六十進制計數(shù)。

注意:十二進制計數(shù)器自行設計問題是要把兩個計數(shù)器輸出的個位和十位數(shù)分別顯62EDA與電子技術課程設計課件63北京理工實驗箱moduleselb(in1,in2,in3,in4,in5,in6,in7,in8,clk,flag,a,b,c,d,e,f,g);inputclk;input[3:0]in1,in2,in3,in4,in5,in6,in7,in8;outputa,b,c,d,e,f,g;outputflag;rega,b,c,d,e,f,g;reg[3:0]temp;reg[2:0]flag;always@(posedgeclk)beginflag=flag+1;case(flag)0:begintemp=in1;end1:begintemp=in2;end2:begintemp=in3;end3:begintemp=in4;end4:begintemp=in5;end5:begintemp=in6;end6:begintemp=in7;end7:begintemp=in8;endendcasecase(temp)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011;/*4'hA:{a,b,c,d,e,f,g}=7'b1110111;4'hB:{a,b,c,d,e,f,g}=7'b0011111;4'hC:{a,b,c,d,e,f,g}=7'b1001110;4'hD:{a,b,c,d,e,f,g}=7'b0111101;4'hE:{a,b,c,d,e,f,g}=7'b1001111;4'hF:{a,b,c,d,e,f,g}=7'b1000111;*/default:{a,b,c,d,e,f,g}=7'bzzzzzzz;endcaseendendmodule北京理工實驗箱moduleselb(in1,in2,in364EndEnd65選做一到二題數(shù)字系統(tǒng)設計問題選做一到二題數(shù)字系統(tǒng)設計問題66數(shù)字鐘實驗數(shù)字鐘實驗67設計要求設計一個能進行時、分、秒計時的十二小時制或二十四小時制的數(shù)字鐘,并具有定時與鬧鐘功能,能在設定的時間發(fā)出鬧鈴音,能非常方便地對小時、分鐘和秒進行手動調節(jié)以校準時間,每逢整點,產(chǎn)生報時音報時。設計要求設計一個能進行時、分、秒計時的十二小時制或二十四小時68設計提示主控電路計數(shù)器模塊掃描顯示

設計提示主控電路69主控電路*A、B:模式選擇,AB=00為模式0,計時狀態(tài);AB=01為模式1,手動校時狀態(tài);AB=10為模式2,鬧鐘設置狀態(tài)。Turn:turn=0時,在手動校對時,選擇調整分鐘部分;turn=1時,在手動校對時,選擇調整小時部分。Change:在手動校時或鬧鐘設置模式下,每按一次,計數(shù)器加1。Reset:reset=0時,整個系統(tǒng)復位;reset=1時,系統(tǒng)計時或其它特殊功能操作。Reset1:reset1=0時,關閉鬧鈴信號;reset1=1時,可對鬧鈴進行設置。狀態(tài)顯示信號(發(fā)光管):LD_alert:指示是否設置了鬧鈴功能;LD_h:指示當前調整的是小時信號;LD_m:指示當前調整的是分鐘信號。主控電路*A、B:模式選擇,AB=00為模式0,計時狀態(tài);70EDA與電子技術課程設計課件71拔河游戲機拔河游戲機72設計要求設計一個能進行拔河游戲的電路。電路使用15個(或9個)發(fā)光二極管表示拔河的“電子繩”,開機后只有中間一個發(fā)亮,此即拔河的中心點。游戲雙方各持一個按鈕,迅速地、不斷地按動,產(chǎn)生脈沖,誰按得快,亮點就向誰的方向移動,每按一次,亮點移動一次。亮點移到任一方終端二極管時,這一方就獲勝,此時雙方按鈕均無作用,輸出保持,只有復位后才使亮點恢復到中心。由裁判下達比賽開始命令后,甲乙雙方才能輸入信號,否則,輸入信號無效。用數(shù)碼管顯示獲勝者的盤數(shù),每次比賽結束自動給獲勝方加分。設計要求設計一個能進行拔河游戲的電路。73EDA與電子技術課程設計課件74設計提示加/減計數(shù)器譯碼器得分計數(shù)顯示電路設計提示加/減計數(shù)器75EDA與電子技術課程設計課件76數(shù)字式競賽搶答器數(shù)字式競賽搶答器77設計要求設計一個可容納四組參賽的數(shù)字式搶答器,每組設一個按鈕供搶答使用。搶答器具有第一信號鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用;設置一個主持人“復位”按鈕,主持人復位后,開始搶答,第一信號鑒別鎖存電路得到信號后,用指示燈顯示搶答組別,揚聲器發(fā)出23秒的音響。*設置犯規(guī)電路,對提前搶答和超時答題(例如3分鐘)的組別鳴笛示警,并由組別顯示電路顯示出犯規(guī)組別。設置一個計分電路,每組開始預置10分,由主持人記分,答對一次加1分,答錯一次減1分。設計要求設計一個可容納四組參賽的數(shù)字式搶答器,每組設一個按鈕78EDA與電子技術課程設計課件79設計提示鑒別鎖存模塊答題計時模塊計分電路模塊掃描顯示模塊設計提示鑒別鎖存模塊80

1.此模塊的關鍵是準確判斷出第一搶答者并將其鎖存,實現(xiàn)的方法可使用觸發(fā)器或鎖存器,在得到第一信號后將輸入封鎖,使其它組的搶答信號無效。2.形成第一搶答信號后,用編碼、譯碼及數(shù)碼顯示電路顯示第一搶答者的組別,控制揚聲器發(fā)出音響,并啟動答題計時電路。鑒別鎖存模塊1.此模塊的關鍵是準確判斷出第一搶答者并將其鎖存,實現(xiàn)的方81EDA與電子技術課程設計課件82洗衣機控制器洗衣機控制器83設計要求設計一個洗衣機洗滌程序控制器,控制洗衣機的電機作如下規(guī)律運轉:用兩位數(shù)碼管預置洗滌時間(分鐘數(shù)),洗滌過程在送入預置時間后開始運轉,洗滌中按倒計時方式對洗滌過程作計時顯示,用LED表示電機的正、反轉,如果定時時間到,則停機并發(fā)出音響信號。設計要求設計一個洗衣機洗滌程序控制器,控制洗衣機的電機作如下84EDA與電子技術課程設計課件85設計提示洗滌預置時間編碼模塊減法計數(shù)顯示時序電路譯碼驅動模塊

設計提示洗滌預置時間編碼模塊86EDA與電子技術課程設計課件87數(shù)字頻率表數(shù)字頻率表88設計要求1.設計一個能測量方波信號頻率的頻率計,測量結果用十進制數(shù)顯示。2.測量的頻率范圍是110KHz,分成兩個頻段,即1999Hz,1KHz10KHz,用三位數(shù)碼管顯示測量頻率,用LED顯示表示單位,如亮綠燈表示Hz,亮紅燈表示KHz。3.具有自動校驗和測量兩種功能,即能用標準時鐘校驗測量精度。4.具有超量程報警功能,在超出目前量程檔的測量范圍時,發(fā)出燈光和音響信號。設計要求1.設計一個能測量方波信號頻率的頻率計,測量結果用十89EDA與電子技術課程設計課件90設計提示脈沖信號的頻率就是在單位時間內所產(chǎn)生的脈沖個數(shù),其表達式為f=N/T,f為被測信號的頻率,N為計數(shù)器所累計的脈沖個數(shù),T為產(chǎn)生N個脈沖所需的時間。所以,在1秒時間內計數(shù)器所記錄的結果,就是被測信號的頻率。測量/校驗選擇模塊*計數(shù)器模塊送存選擇報警模塊鎖存模塊掃描顯示模塊

設計提示脈沖信號的頻率就是在單位時間內所產(chǎn)生的脈沖個數(shù),其表91測量/校驗選擇模塊*輸入信號:選擇信號selet被測信號meas測試信號test輸出信號:CP1當selet=0時,為測量狀態(tài),CP1=meas;當selet=1時,為校驗狀態(tài),CP1=test。校驗與測量共用一個電路,只是被測信號CP1不同而已。測量/校驗選擇模塊*92設置1秒定時信號(周期為2秒),在1秒定時時間內的所有被測信號送計數(shù)器輸入端。計數(shù)器對CP1信號進行計數(shù),在1秒定時結束后,將計數(shù)器結果送鎖存器鎖存,同時將計數(shù)器清零,為下一次采樣測量做好準備。設置1秒定時信號(周期為2秒),在1秒定時時間內的所有被測信93設置量程檔控制開關K,單位顯示信號Y,當K=0時,為1999Hz量程檔,數(shù)碼管顯示的數(shù)值為被測信號頻率值,Y顯示綠色,即單位為Hz;當K=1時,為1KHz10KHz量程檔,被測信號頻率值為數(shù)碼管顯示的數(shù)值乘1000,Y顯示紅色,即單位為KHz。設置量程檔控制開關K,單位顯示信號Y,當K=0時,為19994設置超出量程檔測量范圍示警信號alert。計數(shù)器由四級十進制計數(shù)構成(帶進位C)。若被測信號頻率小于1KHz(K=0),則計數(shù)器只進行三級十進制計數(shù),最大顯示值為999.Hz,如果被測信號頻率超過此范圍,示警信號驅動燈光、揚聲器報警;若被測信號為1KHz10KHz(K=1),計數(shù)器進行四位十進制計數(shù),取高三位顯示,最大顯示值為9.99KHz,如果被測信號頻率超過此范圍,報警。設置超出量程檔測量范圍示警信號alert。計數(shù)器由四級十進制95左第一位左第一位左第一位左第一位96EDA與電子技術課程設計課件97電子密碼鎖電子密碼鎖98設計要求設計一個電子密碼鎖,在鎖開的狀態(tài)下輸入密碼,密碼共4位,用數(shù)據(jù)開關K1K10分別代表數(shù)字1、2、…、9、0,輸入的密碼用數(shù)碼管顯示,最后輸入的密碼顯示在最右邊的數(shù)碼管上,即每輸入一位數(shù),密碼在數(shù)碼管上的顯示左移一位??蓜h除輸入的數(shù)字,刪除的是最后輸入的數(shù)字,每刪除一位,密碼在數(shù)碼管的顯示右移一位,并在左邊空出的位上補充“0”。用一位輸出電平的狀態(tài)代表鎖的開閉狀態(tài)。為保證密碼鎖主人能打開密碼鎖,設置一個萬能密碼,在主人忘記密碼時使用。設計要求設計一個電子密碼鎖,在鎖開的狀態(tài)下輸入密碼,密碼共499EDA與電子技術課程設計課件100設計提示密碼輸入刪除控制模塊寄存模塊比較模塊掃描顯示模塊設計提示密碼輸入刪除控制模塊101EDA與電子技術課程設計課件102脈沖按鍵電話按鍵顯示器脈沖按鍵電話按鍵顯示器103設計要求設計一個具有7位顯示的電話按鍵顯示器,顯示器應能正確反映按鍵數(shù)字,顯示器顯示從低位向高位前移,逐位顯示按鍵數(shù)字,最低位為當前顯示位,七位數(shù)字輸入完畢后,電話接通,揚聲器發(fā)出“嘟——嘟”接通聲響,直到有接聽信號輸入,若一直沒有接聽,10秒鐘后,自動掛斷,顯示器清除顯示,揚聲器停止,直到有新號碼輸入。設計要求設計一個具有7位顯示的電話按鍵顯示器,顯示器應能正確104EDA與電子技術課程設計課件105設計提示號碼輸入顯示控制模塊主控制模塊掃描顯示模塊設計提示號碼輸入顯示控制模塊106EDA與電子技術課程設計課件107乒乓球比賽游戲機乒乓球比賽游戲機108任務與要求設計一個由甲、乙雙方參賽,有裁判的3人乒乓球游戲機。用8個(或更多個)LED排成一條直線,以中點為界,兩邊各代表參賽雙方的位置,其中一只點亮的LED指示球的當前位置,點亮的LED依此從左到右,或從右到左,其移動的速度應能調節(jié)。當“球”(點亮的那只LED)運動到某方的最后一位時,參賽者應能果斷地按下位于自己一方的按鈕開關,即表示啟動球拍擊球。若擊中,則球向相反方向移動;若未擊中,則對方得1分。一方得分時,電路自動響鈴3秒,這期間發(fā)球無效,等鈴聲停止后方能繼續(xù)比賽。設置自動記分電路,甲、乙雙方各用2位數(shù)碼管進行記分顯示,每計滿21分為1局。甲、乙雙方各設一個發(fā)光二極管,表示擁有發(fā)球權,每隔5次自動交換發(fā)球權,擁有發(fā)球權的一方發(fā)球才有效。任務與要求設計一個由甲、乙雙方參賽,有裁判的3人乒乓球游戲機109設計思路用雙向移位寄存器的輸出端控制LED顯示來模擬乒乓球運動的軌跡,先點亮位于某一方的第1個LED,由擊球者通過按鈕輸入開關信號,實現(xiàn)移位方向的控制。也可用計數(shù)譯碼方式實現(xiàn)乒乓球運動軌跡的模擬,如利用加/減計數(shù)器的2個時鐘信號實現(xiàn)甲、乙雙方的擊球,由表示球拍的按鈕產(chǎn)生計數(shù)時鐘,計數(shù)器的輸出狀態(tài)經(jīng)譯碼驅動LED發(fā)亮。任何時刻都保持一個LED發(fā)亮,若發(fā)亮的LED運動到對方的終點,但對方未能及時輸入信號使其向相反方向移動,即失去1分??刂齐娐窙Q定整個系統(tǒng)的協(xié)調動作,必須嚴格掌握各信號之間的關系。設計思路用雙向移位寄存器的輸出端控制LED顯示來模擬乒乓球運110EDA與電子技術課程設計課件111交通信號燈控制器交通信號燈控制器112任務與要求設計一個交通信號燈控制器,由一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、綠、黃三色信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發(fā)光二極管作信號燈,用傳感器或邏輯開關作檢測車輛是否到來的信號。主干道處于常允許通行的狀態(tài),支干道有車來時才允許通行。主干道亮綠燈時,支干道亮紅燈;支干道亮綠燈時,主干道亮紅燈。主、支干道均有車時,兩者交替允許通行,主干道每次放行45秒,支干道每次放行25秒,設立45秒、25秒計時、顯示電路。在每次由綠燈亮到紅燈亮的轉換過程中,要亮5秒黃燈作為過渡,使行駛中的車輛有時間停到禁行線外,設立5秒計時、顯示電路。任務與要求設計一個交通信號燈控制器,由一條主干道和一條支干道113EDA與電子技術課程設計課件114EDA與電子技術課程設計課件115設計思路主、支干道用傳感器檢測車輛到來情況,實驗電路用邏輯開關代替。45秒、25秒、5秒定時信號可用順計時,也可用倒計時,計時起始信號由主控電路給出,定時結束信號也輸入到主控電路,由主控電路啟、閉三色信號燈或啟動另一計時電路。設計思路主、支干道用傳感器檢測車輛到來情況,實驗電路用邏輯開116設計思路主控電路是核心,這是一個時序電路,其輸入信號為:(1)車輛檢測信號(A,B);(2)45秒、25秒、5秒定時信號(C,D,E)。其狀態(tài)表為:狀態(tài)主干道 支干道 時間 0 綠燈亮,允許通行 紅燈亮,禁止通行 45秒 1 黃燈亮,停車 紅燈亮,禁止通行 5秒 2 紅燈亮,禁止通行 綠燈亮,允許通行 25秒 3 紅燈亮,禁止通行 黃燈亮,停車 5秒 設計思路主控電路是核心,這是一個時序電路,其輸入信號為:117EDA與電子技術課程設計課件118具體設計時鐘產(chǎn)生電路產(chǎn)生1HZ系統(tǒng)時鐘。主控電路由兩個JK觸發(fā)器和邏輯門構成,其輸出經(jīng)譯碼后,控制主干道三色燈R、G、Y和支干道三色燈r、g、y。三個定時器分別產(chǎn)生45秒、25秒、5秒定時信號,電路都是計數(shù)器,并受主控電路和來自主、支干道車輛信號控制,每當計滿所需時間,即向主控電路輸出“時間到”信號,并使計數(shù)器清零。具體設計時鐘產(chǎn)生電路產(chǎn)生1HZ系統(tǒng)時鐘。119設:A:主干道車輛情況,有車為“1”,無車為“0”B:支干道車輛情況,有車為“1”,無車為“0”C:45秒定時信號,45秒定時已到為“1”,45秒定時未到為“0”D:25秒定時信號,25秒定時已到為“1”,25秒定時未到為“0”E:5秒定時信號,5秒定時已到為“1”,5秒定時未到為“0”設:120

S0S1S2S3BAC=0BAC=1E=0E=1BAD=1BAD=0E=0E=1

121狀態(tài)編碼:S0=00S1=01S2=11S3=10若選JK觸發(fā)器,其輸出為Q2Q1則狀態(tài)表為:ABCDEQ2nQ1nQ2n+1Q1n+1x0xxx0000110xx000001xxx0001111xx0001xxxx00101xxxx1011111x0x111101xxx1111x0xxx1110xxxx01010xxxxx1000維持S045秒定時由S0——S1維持S1由S1——S2維持S2

由S2——S3

維持S3

由S3——S05秒定時25秒定時5秒定時狀態(tài)編碼:122從狀態(tài)表得狀態(tài)方程得觸發(fā)器驅動方程:從狀態(tài)表得狀態(tài)方程12345S、25S、5S定時器CP脈沖驅動方程

45S、25S、5S定時器CP脈沖驅動方程

124則主控電路和各定時電路如圖1-5-3所示則主控電路和各定時電路如圖1-5-3所示125計數(shù)器驅動脈沖如圖1-5-4所示

計數(shù)器驅動脈沖如圖1-5-4所示126譯碼驅動電路真值表

譯碼驅動電路真值表127譯碼驅動電路如圖1-5-5所示

譯碼驅動電路如圖1-5-5所示128此例也可以完全由VerilogHDL文件完成

此例也可以完全由VerilogHDL文件完成129具有四種信號燈的交通燈控制器

設計一個具有四種信號燈的交通燈控制器。設計要求是:由一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、綠、黃、左拐允許四盞信號燈,紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外,左拐燈亮允許車輛向左拐彎。信號燈變換次序為:主支干道交替允許通行,主干道每次放行40S,亮5S紅燈讓行駛中的車輛有時間停到禁行線外,左拐放行15秒,亮5S紅燈;支干道放行30S,亮5S黃燈,左拐放行15秒,亮5S紅燈……。各計時電路為倒計時顯示。具有四種信號燈的交通燈控制器設計一個具有四種信號燈的交通燈130系統(tǒng)框圖如圖4-7-1所示

系統(tǒng)框圖如圖4-7-1所示131EDA與電子技術課程設計課件132彩燈控制器彩燈控制器133任務與要求設計一個彩燈控制器,使彩燈(LED管)能連續(xù)發(fā)出四種以上不同的顯示形式;隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。任務與要求設計一個彩燈控制器,使彩燈(LED管)能連續(xù)發(fā)出四134總體設計方案彩燈顯示的不同形式可由不同進制計數(shù)器驅動LED顯示完成;音響由不同頻率CP脈沖驅動揚聲器形成。總體設計方案彩燈顯示的不同形式可由不同進制計數(shù)器驅動LED顯135簡易電子琴簡易電子琴136任務與要求設計一個簡易電子琴;利用實驗箱的脈沖源產(chǎn)生1,2,3,。。。共7個或14個音階信號;用指示燈顯示節(jié)拍;*能產(chǎn)生顫音效果;任務與要求設計一個簡易電子琴;137出租車自動計費器出租車自動計費器138任務與要求設計一個出租車自動計費器,具有行車里程計費、等候時間計費、及起價三部分,用四位數(shù)碼管顯示總金額,最大值為99。99元;行車里程單價1元/公里,等候時間單價0。5元/10分鐘,起價3元(3公里起價)均能通過人工輸入。任務與要求設計一個出租車自動計費器,具有行車里程計費、等候時139總體設計方案行車里程的計費電路將汽車行駛的里程數(shù)轉換成與之成正比的脈沖數(shù),然后由計數(shù)譯碼電路轉換成收費金額,實驗中以一個脈沖模擬汽車前進十米,則每100個脈沖表示1公里,然后用BCD碼比例乘法器將里程脈沖乘以每公里單價的比例系數(shù),比例系數(shù)可由開關預置。例如單價是1。0元/公里,則脈沖當量為0。01元/脈沖。用LED顯示行駛公里數(shù),兩個數(shù)碼管顯示收費金額。總體設計方案行車里程的計費電路將汽車行駛的里程數(shù)轉換成與之成140總體設計方案等候時間計費需將等候時間轉換成脈沖個數(shù),用每個脈沖表示的金額與脈沖數(shù)相乘即得計費數(shù),例如100個脈沖表示10分鐘,而10分鐘收費0。5元,則脈沖當量為0。05元/脈沖,如果將脈沖當量設置成與行車里程計費相同(0。01元/脈沖),則10分鐘內的脈沖數(shù)應為500個。用LED顯示等候時間,兩個數(shù)碼管表示等候時間收費金額。總體設計方案等候時間計費需將等候時間轉換成脈沖個數(shù),用每個脈141總體設計方案用加法器將幾項收費相加,P=P1+P2+P3,P1為起價,P2為行車里程計費,P3為等候時間計費,用兩個數(shù)碼管表示結果??傮w設計方案用加法器將幾項收費相加,P=P1+P2+P3,142EDA與電子技術課程設計教材:EDA與數(shù)字系統(tǒng)設計李國麗朱維勇欒銘主編EDA與電子技術課程設計教材:EDA與數(shù)字系統(tǒng)設計143緒論門電路、觸發(fā)器等稱為邏輯器件;由邏輯器件構成,能執(zhí)行某單一功能的電路,如計數(shù)器、譯碼器、加法器等,稱為邏輯功能部件;由邏輯功能部件組成的能實現(xiàn)復雜功能的數(shù)字電路稱數(shù)字系統(tǒng)。緒論門電路、觸發(fā)器等稱為邏輯器件;144圖0-1數(shù)字系統(tǒng)框圖圖0-1數(shù)字系統(tǒng)框圖145數(shù)字系統(tǒng)設計方法簡介

明確設計要求,確定系統(tǒng)的輸入/輸出;確定整體設計方案;自頂向下(top-down)的模塊化設計方法。數(shù)字系統(tǒng)設計方法簡介明確設計要求,確定系統(tǒng)的輸入/輸出146數(shù)字系統(tǒng)的設計層次選用通用集成電路芯片構成數(shù)字系統(tǒng);應用可編程邏輯器件實現(xiàn)數(shù)字系統(tǒng);設計專用集成電路(單片系統(tǒng))。數(shù)字系統(tǒng)的設計層次選用通用集成電路芯片構成數(shù)字系統(tǒng);147應用可編程邏輯器件(ProgrammableLogicDevicePLD)實現(xiàn)數(shù)字系統(tǒng)設計,是目前利用EDA(ElectronicDesignAutomation)技術設計數(shù)字系統(tǒng)的潮流。這種設計方法以數(shù)字系統(tǒng)設計軟件為工具,將傳統(tǒng)數(shù)字系統(tǒng)設計中的搭建調試用軟件仿真取代,對計算機上建立的系統(tǒng)模型,用測試碼或測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論