版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子設(shè)計(jì)自動(dòng)化(EDA)實(shí)驗(yàn)指導(dǎo)書前言近些年來,電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)發(fā)展迅速。一方面,各種大容量、高性能、低功耗的可編程邏輯器件不斷推出,使得專用集成電路(ASIC)的生產(chǎn)商感受到空前的競(jìng)爭(zhēng)壓力。另一方面,出現(xiàn)了許多EDA設(shè)計(jì)輔助工具,這些工具大大提高了新型集成電路的設(shè)計(jì)效率,使更低成本、更短周期的復(fù)雜數(shù)字系統(tǒng)開發(fā)成為可能。于是一場(chǎng)ASIC與FPGA/CPLD之爭(zhēng)在所難免。然而PLD器件具有先天的競(jìng)爭(zhēng)優(yōu)勢(shì),那就是可以反復(fù)編程,在線調(diào)試。EDA技術(shù)正是這場(chǎng)較量的推動(dòng)引擎之一。一般來說,EDA技術(shù)就是以計(jì)算機(jī)為平臺(tái),以EDA軟件工具為開發(fā)環(huán)境,以HDL為設(shè)計(jì)語言,以可編程器件為載體,以AS
2、IC、SOC芯片為目標(biāo)器件,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過程。設(shè)計(jì)者只需編寫硬件描述語言代碼,然后選擇目標(biāo)器件,在集成開發(fā)環(huán)境里進(jìn)行編譯,仿真,綜合,最后在線下載調(diào)試。整個(gè)過程,大部分工作由EDA軟件完成。全球許多著名的可編程器件提供商都推出了自己的集成開發(fā)工具軟件,如Altera公司的MAX+PLUS、Quartus 軟件;Xilinx公司的Foundation 、ISE軟件,Lattice公司的ispExpert軟件,Actel公司的Libero軟件等。這些軟件的推出,極大地促進(jìn)了集算法設(shè)計(jì)、芯片編程、電路板設(shè)計(jì)于一體的EDA技術(shù)的發(fā)展。另外,在以SOC芯片為目標(biāo)器件的電子
3、系統(tǒng)設(shè)計(jì)要求下,可編程器件的內(nèi)部開始集成高速的處理器硬核、處理器軟核、DSP模塊、大量的存儲(chǔ)資源、高速的串行收發(fā)模塊、系統(tǒng)時(shí)鐘管理器、多標(biāo)準(zhǔn)的I/O接口模塊,亦使得設(shè)計(jì)者更加得心應(yīng)手,新一輪的數(shù)字革命由此引發(fā)。EDA技術(shù)是一門實(shí)踐性很強(qiáng)的學(xué)科,要培養(yǎng)出具有競(jìng)爭(zhēng)力的一流IC設(shè)計(jì)人才,動(dòng)手能力是關(guān)鍵。只有通過理論學(xué)習(xí),加上現(xiàn)場(chǎng)實(shí)驗(yàn),在使用軟件編程加硬件調(diào)試的過程中真正獲得鍛煉,增長(zhǎng)技能。ZY11EDA13BE型實(shí)驗(yàn)系統(tǒng)采用主板加適配板加擴(kuò)展板的靈活結(jié)構(gòu),可方便進(jìn)行基于不同PLD芯片的實(shí)驗(yàn)開發(fā),并易于升級(jí),符合當(dāng)前高校在此方面對(duì)人才培養(yǎng)的要求。我們相信,只要學(xué)生扎扎實(shí)實(shí)完成本實(shí)驗(yàn)系統(tǒng)的所有實(shí)驗(yàn),并在
4、此基礎(chǔ)上利用現(xiàn)有硬件資源開發(fā)出新的數(shù)字應(yīng)用系統(tǒng),學(xué)生的潛力會(huì)得到最大程度的發(fā)揮,對(duì)EDA技術(shù)的學(xué)習(xí)也會(huì)有質(zhì)的飛躍,從而為推動(dòng)我國(guó)數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)的發(fā)展做出更大的貢獻(xiàn)。本實(shí)驗(yàn)手冊(cè)是我校電子設(shè)計(jì)自動(dòng)化(EDA)課程實(shí)驗(yàn)指導(dǎo)的主要依據(jù)。根據(jù)實(shí)驗(yàn)大綱要求,共包含8個(gè)實(shí)驗(yàn),其中實(shí)驗(yàn)二、三、四為必做,實(shí)驗(yàn)五、六、七、八至少選做一個(gè)。目錄實(shí)驗(yàn)一 EDA軟件的熟悉與使用1實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)內(nèi)容1實(shí)驗(yàn)原理1實(shí)驗(yàn)步驟1實(shí)驗(yàn)報(bào)告1實(shí)驗(yàn)思考題2實(shí)驗(yàn)二 1位全加器的設(shè)計(jì)3實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)內(nèi)容3實(shí)驗(yàn)儀器3實(shí)驗(yàn)原理3實(shí)驗(yàn)注意事項(xiàng)4實(shí)驗(yàn)步驟4實(shí)驗(yàn)報(bào)告4思考題4實(shí)驗(yàn)三 基本組合邏輯電路的VHDL模型6實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)內(nèi)容6實(shí)驗(yàn)儀器6實(shí)
5、驗(yàn)原理6實(shí)驗(yàn)步驟12實(shí)驗(yàn)四 基本時(shí)序邏輯電路的VHDL模型13實(shí)驗(yàn)?zāi)康?3實(shí)驗(yàn)內(nèi)容13實(shí)驗(yàn)儀器13實(shí)驗(yàn)原理13實(shí)驗(yàn)步驟31實(shí)驗(yàn)五 Melay型有限狀態(tài)機(jī)的設(shè)計(jì)32實(shí)驗(yàn)?zāi)康?2實(shí)驗(yàn)內(nèi)容32實(shí)驗(yàn)儀器32實(shí)驗(yàn)原理32實(shí)驗(yàn)步驟34實(shí)驗(yàn)六 ROM設(shè)計(jì)35實(shí)驗(yàn)?zāi)康?5實(shí)驗(yàn)內(nèi)容35實(shí)驗(yàn)儀器35實(shí)驗(yàn)原理35實(shí)驗(yàn)步驟36實(shí)驗(yàn)七 鍵盤控制電路設(shè)計(jì)38實(shí)驗(yàn)?zāi)康?8實(shí)驗(yàn)內(nèi)容38實(shí)驗(yàn)儀器38實(shí)驗(yàn)原理38實(shí)驗(yàn)步驟40實(shí)驗(yàn)八 交通燈實(shí)驗(yàn)41實(shí)驗(yàn)?zāi)康?1實(shí)驗(yàn)內(nèi)容41實(shí)驗(yàn)儀器41實(shí)驗(yàn)原理41實(shí)驗(yàn)步驟42附錄一 實(shí)驗(yàn)要求43附錄二 實(shí)驗(yàn)成績(jī)的考核與評(píng)定辦法44附錄三 實(shí)驗(yàn)項(xiàng)目設(shè)置與內(nèi)容45實(shí)驗(yàn)一 EDA軟件的熟悉與使用實(shí)驗(yàn)?zāi)康?
6、熟悉ALTERA公司EDA設(shè)計(jì)工具軟件QuartusII 5.0。2熟悉ZY11EDA13BE型實(shí)驗(yàn)箱。實(shí)驗(yàn)內(nèi)容1學(xué)習(xí)QuartusII 5.0軟件課件。2學(xué)習(xí)QuartusII 5.0軟件的安裝,重要菜單命令含義。3熟悉ZY11EDA13BE型實(shí)驗(yàn)箱的結(jié)構(gòu)與組成。4模仿課件中實(shí)例動(dòng)手操作一遍,掌握采用QuartusII 5.0軟件設(shè)計(jì)流程。實(shí)驗(yàn)原理參考QuartusII 5.0軟件學(xué)習(xí)課件。實(shí)驗(yàn)步驟1在教師的指導(dǎo)下,學(xué)習(xí)軟件課件。2由教師演示QuartusII 5.0軟件的安裝,介紹菜單命令功能。3參考課件實(shí)例,動(dòng)手操作軟件,按照流程做完從新建文件,編譯,仿真,分配引腳等軟件操作部分的全過程
7、。4參考第一部分實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介,熟悉ZY11EDA13BE型實(shí)驗(yàn)箱結(jié)構(gòu),組成,了解各模塊的基本作用,了解主板I/O分布情況,認(rèn)識(shí)液晶屏,并口連接器,晶振,JTAG接口,邏輯筆,跳線等器件或組件。實(shí)驗(yàn)報(bào)告1繪制出QuartusII 5.0軟件設(shè)計(jì)的詳細(xì)流程圖。2描述出QuartusII 5.0軟件是如何進(jìn)行目標(biāo)器件選擇,I/O分配和鎖定引腳的。3描述出QuartusII 5.0軟件help菜單功能,如何有效的使用它。4寫出系統(tǒng)主板的I/O口分布情況。5寫出ZY11EDA13BE型實(shí)驗(yàn)箱撥碼開關(guān)CTRL各檔的作用。6描述出一個(gè)完整的實(shí)驗(yàn)流程。實(shí)驗(yàn)思考題1QuartusII 5.0軟件支持那些器件,該
8、軟件有什么局限性?2QuartusII 5.0軟件使用中大小寫字母是否有區(qū)別?3在進(jìn)行一個(gè)完整的實(shí)驗(yàn)流程時(shí)應(yīng)注意些什么?實(shí)驗(yàn)二 1位全加器的設(shè)計(jì)實(shí)驗(yàn)?zāi)康?掌握QuartusII 5.0軟件使用流程。2熟悉ZY11EDA13BE型實(shí)驗(yàn)箱的開關(guān)按鍵模塊,LED顯示模塊。實(shí)驗(yàn)內(nèi)容在QuartusII 5.0軟件中使用原理圖輸入法設(shè)計(jì)并實(shí)現(xiàn)一個(gè)1位全加器。實(shí)驗(yàn)儀器1ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,開關(guān)按鍵模塊,LED顯示模塊。2并口延長(zhǎng)線,JTAG延長(zhǎng)線。(所有實(shí)驗(yàn)均包括,以下實(shí)驗(yàn)中均略去)。3安裝QuartusII 5.0軟件的PC機(jī)。(所有實(shí)驗(yàn)均包括,以下實(shí)驗(yàn)中均略去)。實(shí)驗(yàn)
9、原理1位全加器可以用兩個(gè)半加器及一個(gè)或門連接而成,半加器原理圖的設(shè)計(jì)方法很多,我們用一個(gè)與門、一個(gè)非門和同或門(xnor為同或符合,相同為1,不同為0)來實(shí)現(xiàn)。先設(shè)計(jì)底層文件:半加器,再設(shè)計(jì)頂層文件全加器。(1)半加器的設(shè)計(jì)半加器表達(dá)式:進(jìn)位:co=a and b和 :so=a xnor (not b)半加器原理圖如下:(2)全加器的設(shè)計(jì)全加器原理圖如下:實(shí)驗(yàn)注意事項(xiàng)實(shí)驗(yàn)指導(dǎo)書中的所有實(shí)驗(yàn)內(nèi)容都是針對(duì)主板系統(tǒng)的核心芯片EP1K30QC208-2來設(shè)計(jì)的,實(shí)驗(yàn)原理中提供了管腳分配情況,管腳分配好后必須通過成功編譯才可以下載配置。 實(shí)驗(yàn)步驟1在QuartusII 5.0軟件中新建原理圖文件,輸入原
10、理圖,進(jìn)行編譯,仿真。2指定目標(biāo)器件,并對(duì)編譯通過的原理圖分配管腳(可參考實(shí)驗(yàn)原理),分配完后再編譯一次。3用并口延長(zhǎng)線連接計(jì)算機(jī)機(jī)箱并口和實(shí)驗(yàn)箱并口插座,用JTAG延長(zhǎng)線連接通用編程模塊下載接口插座和配置模塊核心芯片下載接口插座,接通實(shí)驗(yàn)箱電源,將實(shí)驗(yàn)箱電源按鈕APW1,APW2按下,電源指示燈PL0-PL4亮。4下載配置文件f_adder.pof到目標(biāo)芯片。5將撥碼開關(guān)CTRL的(2)、(4)、(8)均設(shè)置為“ON”。6撥位開關(guān)KD1、KD2、KD3分別作為全加器a輸入,b輸入和進(jìn)位c輸入。LED1、LED2分別作為全加器進(jìn)位和全加和。記錄全加器的實(shí)驗(yàn)結(jié)果填入實(shí)驗(yàn)報(bào)告。燈亮表示1(高電平)
11、,燈滅表示0(低電平)。實(shí)驗(yàn)報(bào)告1列出半加器與全加器的真值表。如果實(shí)驗(yàn)室條件允許,打印半加器和全加器仿真波形圖貼于實(shí)驗(yàn)報(bào)告中。2用文字描述出怎樣實(shí)現(xiàn)層次化設(shè)計(jì)。31位全加器的實(shí)現(xiàn)方法很多,畫出其它方法的原理圖。思考題1多位全加器就是在一位的原理上擴(kuò)展而成的,設(shè)計(jì)出原理圖輸入的8位全加器。2集成電路全加器芯片有7480、7483等,試述其內(nèi)部結(jié)構(gòu)是如何實(shí)現(xiàn)的?3參考全加器的設(shè)計(jì)思路設(shè)計(jì)出原理圖輸入的1位全減器。(提示:全加器的設(shè)計(jì)是根據(jù)真值表來建立最簡(jiǎn)表達(dá)式,最簡(jiǎn)表達(dá)式應(yīng)該是一些基本門電路,同樣全減器的設(shè)計(jì)也是如此)。實(shí)驗(yàn)三 基本組合邏輯電路的VHDL模型實(shí)驗(yàn)?zāi)康?掌握簡(jiǎn)單的VHDL程序設(shè)計(jì)。2
12、掌握用VHDL對(duì)基本組合邏輯電路的建模。實(shí)驗(yàn)內(nèi)容分別設(shè)計(jì)并實(shí)現(xiàn)緩沖器、選擇器、譯碼器、編碼器、移位器、全加器的VHDL模型。實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,開關(guān)按鍵模塊,LED顯示模塊。實(shí)驗(yàn)原理1三態(tài)緩沖器三態(tài)緩沖器(Tri-state Buffer)的作用是轉(zhuǎn)換數(shù)據(jù)、增強(qiáng)驅(qū)動(dòng)能力以及把功能模塊與總線相連接。在使用總線互連方式時(shí),與總線通信的器件通常要通過三態(tài)緩沖器與總線相連。如果緩沖器的使能端en為1,則緩沖器的輸入端in1的信號(hào)值被復(fù)制到輸出端;如果緩沖器的使能端en為其它數(shù)值,則緩沖器的輸出端為高阻態(tài)。三態(tài)緩沖器的輸出端可以用線與的方式和其他緩沖器的輸出端接
13、在一起。下例20-1-1給出了三態(tài)緩沖器的VHDL源代碼模型:在IEEE的1164標(biāo)準(zhǔn)程序包中,用Z表示高阻態(tài),現(xiàn)在的EDA綜合工具一般都能根據(jù)這種描述綜合得到三態(tài)器件。下圖20-1為本例中三態(tài)緩沖器的仿真波形圖:圖20-1 三態(tài)緩沖器的仿真圖形2數(shù)據(jù)選擇器(Multiplexer)在數(shù)字系統(tǒng)設(shè)計(jì)時(shí),需要從多個(gè)數(shù)據(jù)源中選擇一個(gè),這時(shí)就需要用到多路選擇器。下例20-2-1給出了四選一、被選擇數(shù)字寬度為3的選擇器VHDL源代碼模型: 在上面這個(gè)模型中,由于使用了條件賦值語句,所以寫得很簡(jiǎn)短。上面的程序代碼還可以改寫為使用進(jìn)程的等價(jià)方式。如下例20-2-2的VHDL源代碼所示: 由于模型中使用了st
14、d_Logic和std_Logic_vector數(shù)據(jù)類型,sel可能的數(shù)值不止四種,所以兩種模型中都有一個(gè)分支來處理其他的數(shù)值。在綜合的時(shí)候,EDA工具一般都忽略這一分支。除了處理三態(tài)器件中的高阻態(tài)Z外,綜合工具采用完全相同的方法來處理std_Logic和Bit數(shù)據(jù)類型。圖20-2為本例中多路選擇器的仿真波形圖:圖20-2 多路選擇器的仿真圖形3譯碼器(Decoder)譯碼器(Decoder)的輸入為N位二進(jìn)制代碼,輸出為2N個(gè)表征代碼原意的狀態(tài)信號(hào),即輸出信號(hào)的2N位中有且只有一位有效。常見的譯碼器用途是把二進(jìn)制表示的地址轉(zhuǎn)換為單線選擇信號(hào)。下面例20-3-1為一個(gè)3-8譯碼器的VHDL源代
15、碼模型:下圖20-3為本例中3-8譯碼器的仿真波形圖:圖20-3 3-8譯碼器的仿真圖形4編碼器(Encoder)編碼器(Encoder)的行為是譯碼器行為的逆過程,它把2N個(gè)輸入轉(zhuǎn)化為N位編碼輸出。有的編碼器要求輸入信號(hào)的各位中最多只有一位有效,且規(guī)定如果所有輸入位全無效時(shí),編碼器輸出指定某個(gè)狀態(tài)。編碼器的用途很廣,比如說鍵盤輸入編碼等。下面例20-4-1為一個(gè)8-3優(yōu)先編碼器的VHDL源代碼模型:下圖20-4為本例中8-3優(yōu)先編碼器的仿真波形圖:圖20-4 8-3優(yōu)先編碼器的仿真圖形5移位器(Shifter)數(shù)據(jù)的移位是很重要的操作,在一定的條件下,右移意味著被2除,左移意味著乘以2。下面
16、例20-5-1為一個(gè)移位器(Shifter)的VHDL源代碼模型:在這個(gè)模型中,如果sr1且sl0,移位器將輸入信號(hào)右移一位后賦給輸出信號(hào);如果sr0且sl1,則移位器將輸入信號(hào)左移一位后賦給輸出信號(hào)。對(duì)于sr和sl的其他兩種輸入模式,將輸入信號(hào)直接賦給輸出信號(hào)。信號(hào)il和ir分別是左移操作和右移操作時(shí)在輸入數(shù)據(jù)右端(或左端)補(bǔ)上的數(shù)據(jù)。使用&進(jìn)行移位操作是常用的處理方法,但在VHDL93版中增加了移位語句,可以直接實(shí)現(xiàn)移位操作。下圖20-5為本例中移位器的仿真波形圖:圖20-5 移位器的仿真圖形6全加器(Adder)加法器是最基本的運(yùn)算單元。加法器中最小的單元是一位全加器,下面例20
17、-6-1為一位全加器(Adder)的VHDL源代碼模型:這個(gè)全加器中有兩個(gè)數(shù)據(jù)輸入端in1和in2,一個(gè)和輸出端sum以及一個(gè)進(jìn)位輸出端carry_out。用這個(gè)全加器級(jí)聯(lián)是形成加法器最簡(jiǎn)單的實(shí)現(xiàn)方式,這種電路每個(gè)單元的結(jié)構(gòu)都相同、但是在操作數(shù)的字長(zhǎng)較大時(shí),由于進(jìn)位要經(jīng)過多次傳遞,限制了這種電路的速度,并且和的各位產(chǎn)生的時(shí)刻也不同。為了提高運(yùn)算速度,可以采用行波進(jìn)位加法器(RIPPLE-CARRY ADDER)。下圖20-6為本例中一位全加器的仿真波形圖:圖20-6 一位全加器的仿真圖形實(shí)驗(yàn)步驟1在QuartusII 5.0軟件中新建文本文件,輸入自己設(shè)計(jì)的VHDL程序代碼,編譯,仿真,鎖定管
18、腳并下載到目標(biāo)芯片。2用撥位開關(guān)作為輸入,LED作為輸出,分別驗(yàn)證結(jié)果的正確性。實(shí)驗(yàn)四 基本時(shí)序邏輯電路的VHDL模型實(shí)驗(yàn)?zāi)康?掌握簡(jiǎn)單的VHDL程序設(shè)計(jì)。2掌握VHDL對(duì)基本時(shí)序邏輯電路的建模。實(shí)驗(yàn)內(nèi)容分別設(shè)計(jì)并實(shí)現(xiàn)鎖存器、觸發(fā)器、寄存器、計(jì)數(shù)器的VHDL模型。實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊,LED顯示模塊。 實(shí)驗(yàn)原理1鎖存器(latch):顧名思義,鎖存器(latch)是用來鎖存數(shù)據(jù)的邏輯單元。鎖存器一般可以分成三種基本類型:電平鎖存器、同步鎖存器和異步鎖存器。下面我們將逐一介紹這三種鎖存器的VHDL模型的描述方式。(1)電平鎖存器:
19、電平鎖存器一般用在多時(shí)鐘電路,比如微處理器芯片中。電平鎖存器的特點(diǎn)是:常常有多路數(shù)據(jù)輸入。例21-1-1為單輸入電平鎖存器的VHDL模型:當(dāng)復(fù)位信號(hào)reset有效(高電平)時(shí),鎖存器latch1被復(fù)位,輸出信號(hào)q為低電平;當(dāng)復(fù)位信號(hào)reset無效(低電平)時(shí),如果s信號(hào)為高電平,輸出信號(hào)q輸出輸入端的值;當(dāng)s信號(hào)為低電平時(shí),latch1的輸出信號(hào)q保持原值,亦即數(shù)據(jù)鎖存。下圖21-1為單輸入電平鎖存器的仿真波形圖:圖21-1 單輸入電平鎖存器的仿真圖形例21-1-2為多輸入電平鎖存器的VHDL模型:當(dāng)復(fù)位信號(hào)reset有效(高電平)時(shí),鎖存器latch2被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)
20、reset無效(低電平)時(shí),則根據(jù)選擇信號(hào)s0、s1和s2來決定輸出信號(hào)q是選擇輸入信號(hào)data0、data1還是data2;如果s0、s1和s2都無效(低電平),則鎖存器輸出信號(hào)q保持原值不變,亦即數(shù)據(jù)鎖存。下圖21-2為多輸入電平鎖存器的仿真波形圖:圖21-2 多輸入電平鎖存器的仿真圖形(2)同步鎖存器:同步鎖存器是指復(fù)位和加載功能全部與時(shí)鐘同步,復(fù)位端的優(yōu)先級(jí)較高。在數(shù)字系統(tǒng)設(shè)計(jì)時(shí),采用完全同步的鎖存器,可以避免時(shí)序錯(cuò)誤。例21-1-3為同步鎖存器的VHDL模型:每當(dāng)時(shí)鐘信號(hào)clk跳變時(shí)激活進(jìn)程,如果此時(shí)復(fù)位信號(hào)reset有效(高電平),鎖存器latch3被復(fù)位,輸出信號(hào)q為低電平;如果
21、此時(shí)復(fù)位信號(hào)reset無效(低電平),并且裝載信號(hào)load有效(高電平),鎖存器latch3輸出信號(hào)q為輸入信號(hào)data;否則,鎖存器輸出保持原值,亦即數(shù)據(jù)鎖存。下圖21-3為同步鎖存器的仿真波形圖:圖21-3 同步鎖存器的仿真圖形(3)異步鎖存器:異步鎖存器,是指復(fù)位與時(shí)鐘不同步的鎖存器。例21-1-4為異步鎖存器的VHDL模型:每當(dāng)時(shí)鐘信號(hào)clk跳變或者復(fù)位信號(hào)reset激活進(jìn)程時(shí),如果此時(shí)復(fù)位信號(hào)reset有效(高電平),鎖存器latch4被復(fù)位,輸出信號(hào)q為低電平;如果此時(shí)復(fù)位信號(hào)reset無效(低電平),并且正好時(shí)鐘上升沿到達(dá),而裝載信號(hào)load有效(高電平),則鎖存器latch4輸
22、出信號(hào)q為輸入信號(hào)data;否則,鎖存器輸出保持原值,亦即數(shù)據(jù)鎖存。下圖21-4為異步鎖存器的仿真波形圖:圖21-4 異步鎖存器的仿真圖形1觸發(fā)器(flip-flop)觸發(fā)器(flip-flop)是最基本的時(shí)序電路單元,指的是在時(shí)鐘沿的觸發(fā)下,引起輸出信號(hào)改變的一種時(shí)序邏輯單元。常見的觸發(fā)器有三種:D觸發(fā)器、T觸發(fā)器和JK觸發(fā)器。(1)D觸發(fā)器:D觸發(fā)器是最常用的觸發(fā)器。按照有無復(fù)位信號(hào)和置位信號(hào),以及復(fù)位、置位信號(hào)與時(shí)鐘是否同步,可以分為多種常見的D觸發(fā)器模型,以下將逐一給出示例和簡(jiǎn)單的說明。例21-2-1為簡(jiǎn)單D觸發(fā)器的VHDL模型:D觸發(fā)器dff1是最簡(jiǎn)單的D觸發(fā)器,沒有復(fù)位和置位信號(hào),
23、在每個(gè)時(shí)鐘信號(hào)clk的上升沿,輸出信號(hào)q值為輸入信號(hào)d;否則,觸發(fā)器dff1的輸出信號(hào)q保持原值。圖21-5為簡(jiǎn)單D觸發(fā)器的仿真波形圖:圖21-5 簡(jiǎn)單D觸發(fā)器的仿真圖形例21-2-2為帶異步置位D觸發(fā)器的VHDL模型:dff2是一個(gè)帶異步置位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk或者置位信號(hào)prn有跳變時(shí)激活進(jìn)程。如果此時(shí)置位信號(hào)prn有效(高電平),D觸發(fā)器dff2被置位,輸出信號(hào)q為高電平;如果置位信號(hào)prn無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器dff2的輸出信號(hào)q變?yōu)檩斎胄盘?hào)d;否則,D觸發(fā)器dff2的輸出信號(hào)q保持原值。圖21-6為帶異步置位D觸發(fā)器的仿真波形圖:圖21-6 帶異步
24、置位D觸發(fā)器的仿真圖形例21-2-3為帶異步復(fù)位D觸發(fā)器的VHDL模型:dff3是一個(gè)帶異步復(fù)位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk或者復(fù)位信號(hào)clr有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),D觸發(fā)器dff3被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器dff3的輸出信號(hào)q變?yōu)檩斎胄盘?hào)d;否則,D觸發(fā)器dff3的輸出信號(hào)q保持原值。圖21-7為帶異步復(fù)位D觸發(fā)器的仿真波形圖:圖21-7 帶異步復(fù)位D觸發(fā)器的仿真圖形例21-2-4為帶異步復(fù)位和置位D觸發(fā)器的VHDL模型:dff4是一個(gè)帶異步復(fù)位和置位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk、復(fù)位信號(hào)c
25、lr或者置位信號(hào)prn有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),D觸發(fā)器dff4被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而置位信號(hào)有效(高電平),D觸發(fā)器dff4被置位,輸出信號(hào)q為高電平;如果復(fù)位信號(hào)clr和置位信號(hào)prn都無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器dff4的輸出信號(hào)q變?yōu)檩斎胄盘?hào)d;否則,D觸發(fā)器dff4的輸出信號(hào)q保持原值。圖21-8為帶異步復(fù)位和置位D觸發(fā)器的仿真波形圖:圖21-8 帶異步復(fù)位和置位D觸發(fā)器的仿真圖形例21-2-5為帶同步置位D觸發(fā)器的VHDL模型。在該例中dff5是一個(gè)帶同步置位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk有
26、跳變時(shí)激活進(jìn)程。如果此時(shí)置位信號(hào)prn有效(高電平),D觸發(fā)器dff5被置位,輸出信號(hào)q為高電平;如果置位信號(hào)prn無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器dff5的輸出信號(hào)q變?yōu)檩斎胄盘?hào)d;否則,D觸發(fā)器dff5的輸出信號(hào)q保持原值。圖21-9為帶同步置位D觸發(fā)器的仿真波形圖:圖21-9 帶同步置位D觸發(fā)器的仿真圖形例21-2-6為帶同步復(fù)位D觸發(fā)器的VHDL模型:dff6是一個(gè)帶同步復(fù)位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),D觸發(fā)器dff6被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器
27、dff6的輸出信號(hào)q變?yōu)檩斎胄盘?hào)d;否則,D觸發(fā)器dff6的輸出信號(hào)q保持原值。圖21-10為帶同步復(fù)位D觸發(fā)器仿真波形圖:圖21-10 帶同步復(fù)位D觸發(fā)器的仿真圖形例21-2-7為帶同步置位和復(fù)位D觸發(fā)器的VHDL模型:dff7是一個(gè)帶同步復(fù)位和置位的D觸發(fā)器,當(dāng)時(shí)鐘信號(hào)clk有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),D觸發(fā)器dff7被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而置位信號(hào)有效(高電平),D觸發(fā)器dff7被置位,輸出信號(hào)q為高電平;如果復(fù)位信號(hào)clr和置位信號(hào)prn都無效(低電平),而且此時(shí)時(shí)鐘出現(xiàn)上跳沿,則D觸發(fā)器dff7的輸出信號(hào)q變?yōu)檩斎胄?/p>
28、號(hào)d;否則,D觸發(fā)器dff7的輸出信號(hào)q保持原值。圖21-11為帶同步置位和復(fù)位D觸發(fā)器的仿真波形圖:圖21-11 帶同步置位和復(fù)位D觸發(fā)器的仿真圖形(2)T觸發(fā)器T觸發(fā)器的特點(diǎn)是在時(shí)鐘沿處輸出信號(hào)發(fā)生翻轉(zhuǎn)。按照有無復(fù)位、置位信號(hào)以及使能信號(hào)等,T觸發(fā)器也有多種類型。例21-2-8為帶異步復(fù)位T觸發(fā)器的VHDL模型:tff1是一個(gè)帶有異步復(fù)位的T觸發(fā)器。每當(dāng)時(shí)鐘信號(hào)clk或者復(fù)位信號(hào)clr有跳變時(shí)進(jìn)程被激活。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),T觸發(fā)器tff1被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而時(shí)鐘信號(hào)clk出現(xiàn)上跳沿,則T觸發(fā)器tff1的輸出信號(hào)q發(fā)生翻轉(zhuǎn);否則
29、,輸出信號(hào)q保持不變。圖21-12為帶異步復(fù)位T觸發(fā)器的仿真波形圖:圖21-12 帶異步復(fù)位T觸發(fā)器的仿真圖形例21-2-9為帶異步置位T觸發(fā)器的VHDL模型:tff2是一個(gè)帶有異步置位的T觸發(fā)器。每當(dāng)時(shí)鐘信號(hào)clk或者置位信號(hào)prn有跳變時(shí)進(jìn)程被激活。如果此時(shí)置位信號(hào)prn有效(高電平),T觸發(fā)器tff2被置位,輸出信號(hào)q為高電平;如果置位信號(hào)prn無效(低電平),而時(shí)鐘信號(hào)clk出現(xiàn)上跳沿,則T觸發(fā)器tff2的輸出信號(hào)q發(fā)生翻轉(zhuǎn);否則,輸出信號(hào)q保持不變。圖21-13為帶異步置位T觸發(fā)器的仿真波形圖:圖21-13 帶異步置位T觸發(fā)器的仿真圖形例21-2-10為帶使能(enable)端和異步
30、復(fù)位T觸發(fā)器的VHDL模型:tff3是一個(gè)帶有異步復(fù)位和使能的T觸發(fā)器。每當(dāng)時(shí)鐘信號(hào)clk或者復(fù)位信號(hào)clr有跳變時(shí)進(jìn)程被激活。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),T觸發(fā)器tff3被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而時(shí)鐘信號(hào)clk出現(xiàn)上跳沿,并且觸發(fā)器翻轉(zhuǎn)使能信號(hào)en有效(高電平),則T觸發(fā)器tff3的輸出信號(hào)q發(fā)生翻轉(zhuǎn);否則,輸出信號(hào)q保持不變。圖21-14為帶使能端和異步復(fù)位T觸發(fā)器的仿真波形圖:圖21-14 帶使能端和異步復(fù)位T觸發(fā)器的仿真圖形(3)JK觸發(fā)器JK觸發(fā)器中,J、K信號(hào)分別扮演置位、復(fù)位信號(hào)的角色。為了更清晰的表示出JK觸發(fā)器的工作過程,以下給
31、出JK觸發(fā)器的真值表(如表21-1所示)。JKCLKQn+100Qn10101011NOT QnXXQn表21-1 JK觸發(fā)器真值表按照有無復(fù)位(clr)、置位(prn)信號(hào),常見的JK觸發(fā)器也有多種類型,例21-2-11為基本JK觸發(fā)器的VHDL模型:jkff1是一個(gè)基本的JK觸發(fā)器類型。在時(shí)鐘上升沿,根據(jù)j、k信號(hào),輸出信號(hào)q作相應(yīng)的變化。用case語句實(shí)現(xiàn)if條件語句,即簡(jiǎn)化了語句,又增加了效率。圖21-15為基本JK觸發(fā)器的仿真波形圖:圖21-15 基本JK觸發(fā)器的仿真圖形例21-2-12為帶異步復(fù)位(clr)、置位(prn)的JK觸發(fā)器的VHDL模型:jkff2是一個(gè)帶有異步復(fù)位和置
32、位的JK觸發(fā)器模型。每當(dāng)時(shí)鐘信號(hào)clk、置位信號(hào)prn或者復(fù)位信號(hào)clr有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),JK觸發(fā)器jkff2被復(fù)位,輸出信號(hào)q為低電平;如果復(fù)位信號(hào)clr無效(低電平),而置位信號(hào)prn有效(高電平),則JK觸發(fā)器jkff2被置位,輸出信號(hào)q為高電平;如果復(fù)位信號(hào)clr和置位信號(hào)prn都無效(低電平),在時(shí)鐘上升沿,根據(jù)j、k信號(hào)的變化,輸出信號(hào)q作相應(yīng)的變化。圖21-16為帶異步復(fù)位、置位JK觸發(fā)器的仿真波形圖:圖21-16 帶異步復(fù)位、置位JK觸發(fā)器的仿真圖形1寄存器(Register):寄存器(register)也是一種重要的基本時(shí)序電路。顧名思義
33、,寄存器主要是用來寄存信號(hào)的值,包括標(biāo)量和向量。在數(shù)字系統(tǒng)設(shè)計(jì)中,可將寄存器分成通用寄存器和移位寄存器。(1)通用寄存器:通用寄存器的功能是在時(shí)鐘的控制下將輸入數(shù)據(jù)寄存,在滿足輸出條件時(shí)輸出數(shù)據(jù)。例21-3-1為通用寄存器的VHDL模型:reg是一個(gè)通用寄存器,在時(shí)鐘信號(hào)clk的上升沿,如果輸出使能信號(hào)enable有效(高電平),則輸入信號(hào)d送到寄存器中,輸出信號(hào)q為輸入信號(hào)d的值,否則輸出信號(hào)q保持原值不變,亦即起到鎖存數(shù)據(jù)的作用。圖21-17為通用寄存器的仿真波形圖:圖21-17 通用寄存器的仿真圖形(2)移位寄存器:顧名思義,移位寄存器的功能是寄存輸入數(shù)據(jù),并在控制信號(hào)的作用下將輸入數(shù)據(jù)
34、移位輸出。移位寄存器種類繁多,大致可以歸納為邏輯移位寄存器和算術(shù)移位寄存器兩大類。邏輯移位寄存器的特點(diǎn)是,高位和低位移入的數(shù)據(jù)都為零;算術(shù)移位寄存器的特點(diǎn)是,高位移入的數(shù)據(jù)為相應(yīng)符號(hào)的擴(kuò)展,低位移入的數(shù)據(jù)為零。例21-3-2為簡(jiǎn)單移位寄存器的VHDL模型:在每個(gè)時(shí)鐘的上升沿,移位寄存器shift根據(jù)控制指令control將輸入數(shù)據(jù)d邏輯左移相應(yīng)位后輸出。圖21-18為簡(jiǎn)單移位寄存器的仿真波形圖:圖21-18 簡(jiǎn)單移位寄存器的仿真圖形例21-3-3為循環(huán)移位寄存器(cycle shift register)的VHDL模型:在每個(gè)時(shí)鐘的上升沿,循環(huán)移位寄存器shift根據(jù)控制指令control將輸
35、入數(shù)據(jù)d循環(huán)左移相應(yīng)位后輸出。圖21-19為循環(huán)移位寄存器的仿真波形圖:圖21-19 循環(huán)移位寄存器的仿真圖形1計(jì)數(shù)器(counter):計(jì)數(shù)器(counter)是數(shù)字系統(tǒng)中常用的時(shí)序電路,因?yàn)橛?jì)數(shù)是數(shù)字系統(tǒng)的基本操作之一。計(jì)數(shù)器在控制信號(hào)下計(jì)數(shù),可以帶復(fù)位和置位信號(hào)。因此,按照復(fù)位、置位與時(shí)鐘信號(hào)是否同步可以將計(jì)數(shù)器分為同步計(jì)數(shù)器和異步計(jì)數(shù)器兩種基本類型,每一種計(jì)數(shù)器又可以分為進(jìn)行加計(jì)數(shù)和進(jìn)行減計(jì)數(shù)兩種。在VHDL描述中,加減計(jì)數(shù)用“”和“”表示即可。(1)同步計(jì)數(shù)器:同步計(jì)數(shù)器與其它同步時(shí)序電路一樣,復(fù)位和置位信號(hào)都與時(shí)鐘信號(hào)同步,在時(shí)鐘沿跳變時(shí)進(jìn)行復(fù)位和置位操作。例21-4-1為帶時(shí)鐘使
36、能的同步4位二進(jìn)制減法計(jì)數(shù)器的VHDL模型:count是一個(gè)帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器,計(jì)數(shù)范圍F0。每當(dāng)時(shí)鐘信號(hào)或者復(fù)位信號(hào)有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),計(jì)數(shù)器被復(fù)位,輸出計(jì)數(shù)結(jié)果為0;如果復(fù)位信號(hào)無效(低電平),而時(shí)鐘信號(hào)clk出現(xiàn)上升沿,并且計(jì)數(shù)器的計(jì)數(shù)使能控制信號(hào)en有效(高電平),則計(jì)數(shù)器count自動(dòng)減1,實(shí)現(xiàn)減計(jì)數(shù)功能。圖21-20為帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器的仿真波形圖:圖21-20 帶時(shí)鐘使能的同步4位二進(jìn)制減法計(jì)數(shù)器的仿真圖形(2)異步計(jì)數(shù)器同樣的道理,異步計(jì)數(shù)器是指計(jì)數(shù)器的復(fù)位、置位與時(shí)鐘不同步。例21-4-2為帶時(shí)鐘使能的異
37、步4位二進(jìn)制加法計(jì)數(shù)器的VHDL模型:counta是一個(gè)帶時(shí)鐘使能的異步4位二進(jìn)制加法計(jì)數(shù)器,計(jì)數(shù)范圍0F。每當(dāng)時(shí)鐘信號(hào)或者復(fù)位信號(hào)有跳變時(shí)激活進(jìn)程。如果此時(shí)復(fù)位信號(hào)clr有效(高電平),計(jì)數(shù)器被復(fù)位,輸出計(jì)數(shù)結(jié)果為0;如果復(fù)位信號(hào)無效(低電平),而時(shí)鐘信號(hào)clk出現(xiàn)上升沿,并且計(jì)數(shù)器的計(jì)數(shù)使能控制信號(hào)en有效(高電平),則計(jì)數(shù)器count自動(dòng)加1,實(shí)現(xiàn)加計(jì)數(shù)功能。圖21-21為帶時(shí)鐘使能的異步4位二進(jìn)制加法計(jì)數(shù)器的仿真波形圖:圖21-21 帶時(shí)鐘使能的異步4位二進(jìn)制加法計(jì)數(shù)器的仿真圖形實(shí)驗(yàn)步驟1在QuartusII 5.0軟件中新建文本文件,輸入自己設(shè)計(jì)的VHDL程序代碼,編譯,仿真,鎖定管
38、腳并下載到目標(biāo)芯片。2將信號(hào)源模塊第一全局時(shí)鐘GCLK1跳線器接需要的時(shí)鐘頻率CLK,撥位開關(guān)作為數(shù)據(jù)輸入和控制信號(hào)輸入,LED作為鎖存器、觸發(fā)器、寄存器、計(jì)數(shù)器的輸出,觀察顯示結(jié)果,驗(yàn)證程序的正確性。實(shí)驗(yàn)五 Melay型有限狀態(tài)機(jī)的設(shè)計(jì)實(shí)驗(yàn)?zāi)康恼莆誐ealy型有限狀態(tài)機(jī)的特點(diǎn)和其VHDL語言的描述方法。實(shí)驗(yàn)內(nèi)容1繪制本實(shí)驗(yàn)中例23-1-1的狀態(tài)轉(zhuǎn)換圖。2上機(jī)編寫本實(shí)驗(yàn)中例23-1-1的實(shí)驗(yàn)程序,并進(jìn)行實(shí)驗(yàn)驗(yàn)證程序的正確性。實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊,LED顯示模塊。實(shí)驗(yàn)原理與Moore型有限狀態(tài)機(jī)不同,Mealy型有限狀態(tài)機(jī)的輸出不
39、單與當(dāng)前狀態(tài)有關(guān),而且還與輸入信號(hào)的當(dāng)前值有關(guān)。在圖23-1中描述了Mealy型有限狀態(tài)機(jī)的示意圖。圖23-1 Mealy型有限狀態(tài)機(jī)示意圖Mealy型有限狀態(tài)機(jī)的輸出直接受輸入信號(hào)的當(dāng)前值影響,而輸入信號(hào)可能在一個(gè)時(shí)鐘周期內(nèi)的任意時(shí)刻發(fā)生變化,這使得Mealy型有限狀態(tài)機(jī)對(duì)輸入的響應(yīng)發(fā)生在當(dāng)前的時(shí)鐘周期,比Moore型有限狀態(tài)機(jī)對(duì)輸入信號(hào)的響應(yīng)要早一個(gè)周期。因此,輸入信號(hào)的噪聲可能影響正在輸出的信號(hào)。例23-1-1是一個(gè)兩進(jìn)程Mealy型有限狀態(tài)機(jī)的例子。進(jìn)程COMREG是時(shí)序與組合混合型進(jìn)程,它將狀態(tài)機(jī)的主控時(shí)序電路和主控狀態(tài)譯碼電路同時(shí)用一個(gè)進(jìn)程來表達(dá)。進(jìn)程COM1負(fù)責(zé)根據(jù)當(dāng)前輸入狀態(tài)和
40、輸入信號(hào)的變化給出不同的輸出數(shù)據(jù)。該例的VHDL語言如下所示:在例23-1-1中,由于輸出信號(hào)是由組合邏輯電路直接產(chǎn)生,所以可以從該狀態(tài)機(jī)的工作時(shí)序圖23-2上清楚的看到輸出信號(hào)有許多毛刺。為了解決這個(gè)問題,可以考慮將輸出信號(hào)Q值由時(shí)鐘信號(hào)鎖存后再輸出。可以在例23-1-1的COM1進(jìn)程中添加一個(gè)IF語句,由此產(chǎn)生一個(gè)鎖存器,將Q鎖存后再輸出。但是如果實(shí)際電路的時(shí)間延遲不同,或發(fā)生變化,就會(huì)影響鎖存的可靠性,即這類設(shè)計(jì)方式不能絕對(duì)保證不出現(xiàn)毛刺。比較保險(xiǎn)的方式仍然是參照實(shí)驗(yàn)二十二的例22-1-1中單進(jìn)程的描述方法,這個(gè)工作將留給讀者自行完成,此處不再加以說明。圖23-2 例23-1-1多進(jìn)程M
41、ealy型狀態(tài)機(jī)的工作時(shí)序?qū)嶒?yàn)步驟1在QuartusII 5.0軟件中新建文本文件,輸入例22-1-1的VHDL程序代碼,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。2將信號(hào)源模塊第一全局時(shí)鐘GCLK1跳線器接需要的時(shí)鐘頻率CLK,撥位開關(guān)作為數(shù)據(jù)輸入和控制信號(hào)輸入,LED作為狀態(tài)機(jī)輸出,觀察實(shí)驗(yàn)結(jié)果。 綜合實(shí)驗(yàn)二十二和實(shí)驗(yàn)二十三的論述,Moore型有限狀態(tài)機(jī)和mealy型有限狀態(tài)機(jī)各有特點(diǎn)。通常情況下,對(duì)于一個(gè)具體的數(shù)字系統(tǒng),一個(gè)具體電路的性能指標(biāo)規(guī)范,可能適合于用Moore型有限狀態(tài)機(jī)實(shí)現(xiàn);而對(duì)于另外一個(gè)具體的數(shù)字系統(tǒng)和另外一個(gè)具體電路的性能指標(biāo)規(guī)范,又適合于用Mealy型有限狀態(tài)機(jī)實(shí)現(xiàn)。硬件設(shè)
42、計(jì)者應(yīng)該根據(jù)具體情況,結(jié)合Moore和Mealy型有限狀態(tài)機(jī)的特點(diǎn)進(jìn)行選擇使用。實(shí)驗(yàn)六 ROM設(shè)計(jì)實(shí)驗(yàn)?zāi)康氖煜ぶ蛔x存儲(chǔ)器ROM。 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)16×8位的ROM。實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊,數(shù)碼管顯示模塊。實(shí)驗(yàn)原理ROM即只讀存儲(chǔ)器,主要用作存儲(chǔ)固定的數(shù)據(jù)。在設(shè)計(jì)ROM時(shí),可采用數(shù)組或WHEN-ELSE語句。數(shù)組描述的ROM在面積上是最有效的。在用數(shù)組描述時(shí),常把數(shù)組常量描述的ROM放在一個(gè)程序包中,這種方法可以提供ROM的重用,在程序包中用常量定義ROM的大小,在使用時(shí)修改參數(shù)大小即可改變ROM的大小。由于Quartu
43、sII 5.0軟件不支持?jǐn)?shù)組描述的語句,本實(shí)驗(yàn)采用比較直觀的WHEN-ELSE語句設(shè)計(jì)一個(gè)16×8的ROM,例31-1-1:用WHEN-ELSE語句設(shè)計(jì)的16×8的ROM下圖為上述VHDL代碼生成的ROM模型:例31-1-1是一個(gè)16×8位的只讀存儲(chǔ)器的VHDL模型。當(dāng)片選信號(hào)CS有效,則可根據(jù)地址信號(hào)add30讀取單元地址,在輸出端DATA70輸出數(shù)據(jù)。當(dāng)CS無效,輸出總為低電平 “00000000”。圖31-1為16×8位只讀存儲(chǔ)器的仿真波形圖:圖31-1 16×8位只讀存儲(chǔ)器的仿真波形實(shí)驗(yàn)步驟1在QuartusII 5.0軟件中新建原理圖
44、文件,輸入自己設(shè)計(jì)的原理圖,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。2將第一全局時(shí)鐘CLK1的跳線器接32768Hz。撥位開關(guān)KD1為清零控制(高電平有效),KD2為片選信號(hào)CS(高電平有效)。KD3-KD6作為數(shù)據(jù)地址輸入ADD30,數(shù)碼管SM2-SM1顯示該數(shù)據(jù)地址。數(shù)碼管SM4-SM3顯示讀出數(shù)據(jù)。其中輸入地址與輸出數(shù)據(jù)對(duì)應(yīng)結(jié)果應(yīng)如下:地址輸出地址輸出地址輸出地址輸出0016041208080C040115051109070D03021406100A060E02031307090B050F01觀察實(shí)驗(yàn)結(jié)果。3總結(jié)ROM的設(shè)計(jì)方法。說明:存儲(chǔ)器實(shí)際上是一種時(shí)序邏輯電路,用VHDL描述存儲(chǔ)器時(shí)
45、,通常使用數(shù)組。而QuartusII 5.0軟件中不支持?jǐn)?shù)組描述語句,所以在設(shè)計(jì)存儲(chǔ)器(ROM、RAM、FIFO)實(shí)驗(yàn)時(shí),未采用用數(shù)組的設(shè)計(jì)方法,有興趣的同學(xué)在有合適綜合工具的條件下,可參考相關(guān)資料數(shù)組設(shè)計(jì)方法設(shè)計(jì)存儲(chǔ)器。另外,在設(shè)計(jì)ROM、RAM、FIFO等存儲(chǔ)器時(shí),須考慮目標(biāo)器件的資源情況。在設(shè)計(jì)大量組合邏輯電路時(shí)采用CPLD芯片,設(shè)計(jì)復(fù)雜的時(shí)序電路時(shí)采用FPGA芯片,要求有存儲(chǔ)功能時(shí)采用內(nèi)嵌EAB單元的芯片。本實(shí)驗(yàn)系統(tǒng)的核心芯片EP1K30QC208完全支持存儲(chǔ)功能,所以除了用行為描述外,還可以調(diào)用Quartus II軟件中提供的宏功能元件庫(mega_lpm )存儲(chǔ)器元件進(jìn)行設(shè)計(jì)。實(shí)驗(yàn)
46、十六中設(shè)計(jì)的九九乘法表就是基于宏功能元件庫(mega_lpm )存儲(chǔ)器元件的應(yīng)用,所有存儲(chǔ)器的調(diào)用方法與實(shí)驗(yàn)十六中相同。實(shí)驗(yàn)七 鍵盤控制電路設(shè)計(jì)實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)鍵盤掃描電路的工作原理。實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)4×4鍵盤接口控制電路。實(shí)驗(yàn)儀器ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,開關(guān)按鍵模塊,4×4鍵盤模塊,LED顯示模塊,數(shù)碼管顯示模塊。實(shí)驗(yàn)原理鍵盤是應(yīng)用數(shù)字系統(tǒng)重要的人機(jī)接口,主要完成向處理器輸入數(shù)據(jù)、傳送命令等功能,是人工控制電子系統(tǒng)運(yùn)行的重要手段。本實(shí)驗(yàn)介紹簡(jiǎn)單的鍵盤工作原理、鍵盤按鍵的識(shí)別過程以及與鍵盤與CPLD/FPGA的接口。鍵盤實(shí)質(zhì)上是一個(gè)按鍵
47、開關(guān)的集合,如圖34-1所示。通常,按鍵所用的開關(guān)為機(jī)械彈性開關(guān),利用了機(jī)械觸點(diǎn)的合、斷作用。一個(gè)電壓信號(hào)通過機(jī)械觸點(diǎn)的斷開、閉合過程的波形如圖34-2所示。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定的接通,在斷開時(shí)也不會(huì)立即斷開,因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為510ms,這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合都要用到。圖34-1 4×4鍵盤圖34-2 按鍵抖動(dòng)信號(hào)波形按鍵閉合穩(wěn)定期的長(zhǎng)短則是由操作人員的按鍵動(dòng)作決定的,一般為十分之幾秒到幾秒的時(shí)間,這個(gè)時(shí)間參數(shù)可作為一般的參考。另外按鍵的閉合與否,反應(yīng)在電壓上就是呈
48、現(xiàn)出高電平或低電平,如果低電平表示斷開的話,那么高電平表示閉合,所以通過電平的高低狀態(tài)的檢測(cè),便可以確認(rèn)按鍵按下與否。圖34-3為鍵盤控制電路的頂層原理圖:圖34-3 鍵盤控制電路的頂層原理圖在圖34-3中,COUNT模塊提供鍵盤的行掃描信號(hào)Q3.0。在沒有按鍵按下時(shí),此時(shí)的使能信號(hào)EN為高電平,行掃描輸出信號(hào)Q3.0的變化順序?yàn)?0010010010010000001依次周而復(fù)始(依次掃描4行按鍵)。當(dāng)有按鍵按下時(shí),此時(shí)的使能信號(hào)EN為低電平,行掃描輸出信號(hào)Q3.0停止掃描,并鎖存當(dāng)前的行掃描值,例如按下第一行的按鍵,那么Q3.00001。KEYVALUE模塊的主要功能是確定輸入按鍵的鍵值,
49、對(duì)輸入按鍵的行信號(hào)Q3.0和列信號(hào)I43.0的當(dāng)前組合值進(jìn)行判斷來確定輸入按鍵的鍵值。例如,當(dāng)Q3.00100,I43.0=1000時(shí),則第三行、第四列輸入的按鍵有效,在KEYVALUE模塊中已定義了該鍵鍵值。CONTRL模塊的主要功能是實(shí)現(xiàn)按鍵的消抖。進(jìn)行延時(shí)后,判斷是否有按鍵按下,要確保對(duì)按鍵鍵值的提取處于圖34-2所示的閉合穩(wěn)定時(shí)間范圍內(nèi)。這就對(duì)本模塊的輸入時(shí)鐘信號(hào)有一定的要求,在本實(shí)驗(yàn)中該模塊輸入的時(shí)鐘信號(hào)頻率為64Hz。Smdisplay模塊主要是完成數(shù)碼管動(dòng)態(tài)掃描和7段譯碼顯示的功能。實(shí)驗(yàn)步驟1在QuartusII 5.0軟件中新建原理圖文件,輸入自己設(shè)計(jì)的原理圖,編譯,仿真,鎖定
50、管腳并下載到目標(biāo)芯片。2將第一全局時(shí)鐘CLK1的跳線器接64Hz,第二全局時(shí)鐘CLK2的跳線器接32768Hz。成功下載后,數(shù)碼管SM8-SM2均顯示0,SM1顯示9,LED1-LED4指示1001,LED16點(diǎn)亮。3將清零控制開關(guān)KD1置高電平時(shí),數(shù)碼管全部清零。將KD1置低電平,此時(shí)處于等待按鍵輸入狀態(tài)。當(dāng)按下4×4鍵盤的0F任意鍵時(shí),數(shù)碼管SM1會(huì)顯示當(dāng)前按下鍵的鍵值。當(dāng)連續(xù)按下按鍵,數(shù)碼管SM8-SM1采用左移方式顯示依次按下的鍵,如依次按下5,F(xiàn),3,0,7,2,A,數(shù)碼管SM8-SM1顯示05F3072A。LED1-LED4顯示SM1所示的按鍵值的二進(jìn)制數(shù)值。每按一次按鍵,LED16閃爍一次指示按鍵操作。實(shí)驗(yàn)八 交通燈實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康慕M合時(shí)序邏輯電路綜合應(yīng)用。實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)實(shí)用交通燈電路。實(shí)驗(yàn)儀器1ZY11EDA13BE型實(shí)驗(yàn)箱通用編程模塊,配置模塊,時(shí)鐘源模塊,數(shù)碼管顯示模塊。2ZY11EDA13BE型實(shí)驗(yàn)箱點(diǎn)陣擴(kuò)展板。實(shí)驗(yàn)原理本實(shí)驗(yàn)需要用到ZY11EDA13BE型實(shí)驗(yàn)箱點(diǎn)陣擴(kuò)展板。該擴(kuò)展板上以根據(jù)地理實(shí)際設(shè)置了四箱紅黃綠交通燈,該模塊的介紹見前面的第一部分。如下圖所示為十字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《園林樹木》課程標(biāo)準(zhǔn)
- 2BizBoxERP用戶基礎(chǔ)手冊(cè)
- 三角形的翻折課件
- 第1單元 古代亞非文明(高頻選擇題50題)(原卷版)
- 2024年農(nóng)業(yè)和農(nóng)村檔案工作總結(jié)
- 七年級(jí)下《保護(hù)野生動(dòng)物》蘇教版-課件
- 農(nóng)業(yè)科創(chuàng):研發(fā)力量展示
- 機(jī)場(chǎng)服務(wù)行業(yè)銷售工作總結(jié)
- 資金借貸合同個(gè)人醫(yī)療保健費(fèi)用貸款支出租賃保險(xiǎn)三篇
- 初一生物教學(xué)工作總結(jié)實(shí)踐探索培養(yǎng)動(dòng)手能力
- 2024-2030年中國(guó)汽車水泵市場(chǎng)未來發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- 綠城營(yíng)銷策劃管理標(biāo)準(zhǔn)化手冊(cè)
- 2025小學(xué)創(chuàng)意特色寒假素養(yǎng)作業(yè)設(shè)計(jì)真絕了【高清可打印】
- 2025年上半年河南安陽市睢陽區(qū)“減縣補(bǔ)鄉(xiāng)”鄉(xiāng)鎮(zhèn)事業(yè)單位選拔130人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2025學(xué)年學(xué)期學(xué)校衛(wèi)生工作計(jì)劃
- 10.1.2事件的關(guān)系和運(yùn)算(教學(xué)課件)高一數(shù)學(xué)(人教A版2019必修第二冊(cè))
- 2024-2030年中國(guó)天然靛藍(lán)行業(yè)市場(chǎng)規(guī)模預(yù)測(cè)及發(fā)展可行性分析報(bào)告
- 2024年可行性研究報(bào)告投資估算及財(cái)務(wù)分析全套計(jì)算表格(含附表-帶只更改標(biāo)紅部分-操作簡(jiǎn)單)
- 企業(yè)EHS風(fēng)險(xiǎn)管理基礎(chǔ)智慧樹知到期末考試答案2024年
- 2024全國(guó)職業(yè)院校技能大賽ZZ060母嬰照護(hù)賽項(xiàng)規(guī)程+賽題
- 商票保貼協(xié)議
評(píng)論
0/150
提交評(píng)論