第3章VHDL設計初步修改EDA_第1頁
第3章VHDL設計初步修改EDA_第2頁
第3章VHDL設計初步修改EDA_第3頁
第3章VHDL設計初步修改EDA_第4頁
第3章VHDL設計初步修改EDA_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

EDA技術實用教程第3章

VHDL設計初步

3.1組合電路的VHDL描述

3.1.12選1多路選擇器及其VHDL描述1

3.1組合電路的VHDL描述

3.1.12選1多路選擇器及其VHDL描述1

3.1組合電路的VHDL描述

3.1.12選1多路選擇器及其VHDL描述1

3.1組合電路的VHDL描述

3.1.12選1多路選擇器及其VHDL描述1

1.實體表達設計流程簡介3.1組合電路的VHDL描述

2.實體名

e_name表示實體名,是標識符,可由設計者自定。

最好根據相應電路功能確定。用英文字母開頭,后面可以用數字和下劃線(_)。3.端口語句和端口信號名

PORT();p_name為端口名,可由設計者自定。3.1組合電路的VHDL描述

4.端口模式(1)IN:輸入端口。(2)OUT:輸出端口。(3)INOUT:雙向端口。(4)BUFFER:緩沖端口。5.數據類型

VHDL為強類型語言。任何一種數據對象的應用都必須嚴格限定其取值范圍和數值類型。相關的數據類型有INTEGER類型、BOOLEAN類型,STD_LOGIC類型和BIT類型等。3.1組合電路的VHDL描述

6.結構體表達

7.賦值符號和數據比較符號

y<=a中,“<=”表示輸入端口a的數據項輸出端口y輸出,或解釋為信號a向信號y賦值。VHDL要求賦值符號“<=”兩邊的信號的數據類型必須一致。3.1組合電路的VHDL描述

8.WHEN_ELSE條件信號賦值語句9.關鍵字

VHDL中預定義的有特殊含義的英文語句,一般會以特定顏色顯示。3.1組合電路的VHDL描述

10.標識符

設計者在VHDL程序中自定義的,例如實體名、端口名、結構體名等11.規(guī)范的程序書寫格式可以一行寫多條語句,也可以分行書寫。良好的、規(guī)范的源程序書寫習慣是高效的電路設計者所必備的。規(guī)范的書寫格式能使自己或別人更容易閱讀和檢查錯誤。規(guī)范的書寫格式參照例3-1。12.文件取名和存盤文件名可以由設計者任意給定,但文件后綴擴展名必須是“.vhd”,建議程序的文件名盡量與該程序的模塊名一致。對于QuartusII,則必須滿足這一規(guī)定!此外,VHDL程序必須存入某文件夾中(非中文文件夾名)。不能存在根目錄或桌面上。3.1組合電路的VHDL描述

3.1.22選1多路選擇器及其VHDL描述2

3.1組合電路的VHDL描述

3.1.22選1多路選擇器及其VHDL描述2

1.邏輯操作符3.1組合電路的VHDL描述

3.1.22選1多路選擇器及其VHDL描述2

2.標準邏輯位數據類型STD_LOGIC

3.1組合電路的VHDL描述

3.1.22選1多路選擇器及其VHDL描述2

3.設計庫和標準程序包4.信號定義和數據對象

signalname:數據類型;相當于電路中的節(jié)點或連線。STD_LOGIC類型在IEEE庫中的STD_LOGIC_1164程序包中定義,需要聲明。3.1組合電路的VHDL描述

3.1.32選1多路選擇器及其VHDL描述3

3.1組合電路的VHDL描述

3.1.32選1多路選擇器及其VHDL描述3

1.條件語句2.進程語句和順序語句

IF_THEN_ELSE_ENDIF;順序語句必須放在進程語句中PROCESS(敏感信號)…ENDPROCESS

3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

1.CASE語句3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

2.標準邏輯矢量數據類型

3.1組合電路的VHDL描述

3.1.4半加器及其VHDL的描述

3.并置操作符

3.1組合電路的VHDL描述

3.1.5一位二進制全加器及其VHDL描述3.并置操作符

3.1組合電路的VHDL描述

3.1.5一位二進制全加器及其VHDL描述3.并置操作符

3.1組合電路的VHDL描述

3.1.5一位二進制全加器及其VHDL描述3.并置操作符

3.1組合電路的VHDL描述

3.1.6VHDL例化語句

3.2基本時序電路的VHDL描述3.2.1D觸發(fā)器的VHDL描述

3.2基本時序電路的VHDL描述3.2.1D觸發(fā)器的VHDL描述

1.上升沿檢測表達式和信號屬性函數EVENT2.不完整條件語句與時序電路3.2基本時序電路的VHDL描述3.2基本時序電路的VHDL描述3.2基本時序電路的VHDL描述3.2.2VHDL實現(xiàn)時序電路的不同表述

3.2基本時序電路的VHDL描述3.2.2VHDL實現(xiàn)時序電路的不同表述

3.2基本時序電路的VHDL描述3.2.2VHDL實現(xiàn)時序電路的不同表述

3.2基本時序電路的VHDL描述3.2.2VHDL實現(xiàn)時序電路的不同表述

3.2基本時序電路的VHDL描述3.2.3異步時序電路設計3.2基本時序電路的VHDL描述3.2.3異步時序電路設計3.3計數器的VHDL設計

3.3計數器的VHDL設計

3.3.14位二進制加法計數器設計Buffer只接收內部信號,不接收外部信號Out類型端口不能在與內部信號運算

3.3.2整數類型3.3計數器的VHDL設計

3.3.3計數器的其他VHDL表達方式3.3計數器的VHDL設計

3.3.3計數器的其他VHDL表達方式3.3計數器的VHDL設計

3.3.3計數器的其他VHDL表達方式3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式接下頁3.4實用計數器的VHDL設計接上頁tipsRst,clk,en,load控制端口優(yōu)先級高=>低

clk之前的為異步控制,clk之后的為同步控制,用if語句實現(xiàn)優(yōu)先級的排列Q1:當四個控制信號分別取什么值時計數器正常計數?Variable:變量(與signal做比較)位置?賦值符號?Q:=Q+1+號左右兩邊數據類型不同需要調用重載函數

useieee.std_logic_unsigned.all;分析vwf文件中控制信號的功能,特別是異步控制和同步控制

load信號什么時候起作用?作業(yè):分析RTL電路圖。下次上課時交作業(yè)3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式1.十進制計數器相關語法3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式2.程序分析3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式2.程序分析3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式3.時序模塊中的同步控制信號和異步控制信號的構建

4.另一種描述方式3.4實用計數器的VHDL設計3.3.3計數器的其他VHDL表達方式3.時序模塊中的同步控制信號和異步控制信號的構建

4.另一種描述方式七段(八段)數碼管示意圖七段(八段)數碼管實物圖對應的引腳給出相應的編碼,即可發(fā)光。以共陰極數碼管為例,如右圖所示。數碼管靜態(tài)顯示數碼管動態(tài)顯示把所有數碼管的8個筆劃段a-h同名端共陽極連在一起,而每一個數碼管的公陰極是各自獨立地控制。數碼管動態(tài)顯示所有數碼管接收到相同的字形碼。所有數碼管的8個筆劃段a-h同名端連在一起,同一個瞬間所有的數碼管顯示都是相同的。那么在一個屏幕上如何顯示0,1,2,3,4,5這樣不同的數字呢?數碼管動態(tài)顯示首先顯示一個數,然后關掉.然后顯示第二個數,又關掉,那么將看到連續(xù)的數字顯示,輪流點亮掃描過程中,每位數碼管的點亮時間是極為短暫的(約1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數據,不會有閃爍感。例如數碼管顯示01234567這么8個數,在實際的工作流程如下:先打開一個數碼管送0,然后關掉。打開第二個數碼管送1,再關掉,依次向下,由于速度足夠快,那么我們將連續(xù)的看到01234567。casejsis when"0000"=>seg<="11111100";--abcdefgdp0 when"0001"=>seg<="01100000";--1 when"0010"=>seg<="11011010";--2 when"0011"=>seg<="11110010";--3 when"0100"=>seg<="01100110";--4 when"0101"=>seg<="10110110";--5 when"0110"=>seg<="10111110";--6 when"0111"=>seg<="11100000";--7 when"1000"=>seg<="11111110";--8 when"1001"=>seg<="11110110";--9 when"1010"=>seg<="11101110";--a when"1011"=>seg<="00111110";--b when"1100"=>seg<="10011100";--c when"1101"=>seg<="01111010";--d when"1110"=>seg<="10011110";--e when"1111"=>seg<="10001110";--f whenothers=>null;endcase;習題3-1畫出與以下實體描述對應的原理圖符號元件:習題3-2圖3-16所示的是4選1多路選擇器,試分別用IF_THEN語句、WHEN_ELSE和CASE語句的表達方式寫出此電路的VHDL程序,要求選擇控制信號s1和s0的數據類型為STD_LOGIC;當s1='0',s0='0';s1='0',s0='1';s1='1',s0='0'和s1='1',s0='1'時,分別執(zhí)行y<=a、y<=b、y<=c、y<=d。

習題3-3圖3-17所示的是雙2選1多路選擇器構成的電路MUXK,對于其中MUX21A,當s='0'和s='1'時,分別有y<='a'和y<='b'。試在一個結構體中用兩個進程來表達此電路,每個進程中用CASE語句描述一個2選1多路選擇器MUX21A。習題3-4將3-20程序的計數器改為12進制計數器,程序用例3-21的方式表述,并且將復位RST改為同步清0控制,加載信號LOAD改為異步控制方式。討論例3-20與例3-21的異同點。3-5設計含有異步清零和計數使能的16位二進制加減可控計數器。3-6圖3-18是一個含有上升沿觸發(fā)的D觸發(fā)器的時序電路,試寫出此電路的VHDL設計文件。

習題3-7給出1位全減器的VHDL描述。要求:(1)首先設計1位半減器,然后用例化語句將它們連接起來,圖3-19中h_suber是半減器,diff是輸出差,s_out是借位輸出,sub_in是借位輸入。(2)根據圖3-19設計1位全減器。以1位全減器為基本硬件,構成串行借位的8位減法器,要求用例化語句來完成此項設計(減法運算是x–y–sun_in=diffr)。

習題3-8給出一個4選1多路選擇器的VHDL描述。選通控制端有4個輸入:S0、S1、S2、S3。當且僅當S0=0時:Y=A;S1=0時:Y=B;S2=0時:Y=C;S3=0時:Y=D。3-9分頻方法有多種,最簡單的是二分頻和偶數分頻甚至奇數分頻,這用觸發(fā)器或指定計數模的計數器即可辦到。但對于現(xiàn)場實現(xiàn)指定分頻比或小數分頻率的分頻電路的設計就不是很簡單了。試對例3-20的設計稍作修改,將其進位輸出COUT與異步加載控制LOAD連在一起,構成一個自動加載型16位二進制數計數器,也即一個16位可控的分頻器,給出其VHDL表述,并說明工作原理。設輸入頻率fi=4MHz,輸出頻率fo=516.5±1Hz(允許誤差±0.1Hz),16位加載數值=?。3-10用VHDL設計一個功能類似74LS160的計數器。3-11給出含有異步清零和計數使能的16位二進制加減可控計數器的VHDL描述。

習題3-12分別給出以下2個RTL圖的VHDL描述,注意其中的D觸發(fā)器和鎖存器的表述。

KHF-5型FPGA實驗開發(fā)系統(tǒng)簡介芯片簡介:1、FPGA芯片型號:EP1K100QC208-32、ALTERA公司生產3、集成10萬門4、引腳數為208系統(tǒng)資源50MHz、22.1184MHz、1~1MHz時鐘16個數據開關、4個脈沖開關、16個LED10個數碼管:右邊兩個為靜態(tài)顯示,其他8個為動態(tài)顯示A/D轉換:ADC0809(8位)、MAX196(12位)D/A轉換:DAC08004×4鍵盤、RS

溫馨提示

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

評論

0/150

提交評論