數字電路課程設計的課件_第1頁
數字電路課程設計的課件_第2頁
數字電路課程設計的課件_第3頁
數字電路課程設計的課件_第4頁
數字電路課程設計的課件_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數字電路課程設計秋季11 概述教學安排學時:24教材:見參考資料上課教室:綜-220上課時間:第3周-第16周選課21 概述參考資料EDA技術實用教程 潘松黃繼業(yè).科學出版社,2006FPGA與SOPC設計教程-DE2實踐 張志剛 西安電子科技大學出版社,2007EDA技術與應用 江國強 電子工業(yè)出版社,2010EDA技術與VHDL設計 徐志軍等,電子工業(yè)出版社,200931 概述參考資料VHDL與數字電路設計.盧毅賴杰.科學出版社,2001EDA技術實驗與課程設計.曹昕燕.清華大學出版社,2006EDA技術綜合應用實例與分析.譚會生.西安電子科技大學出版社,200441 概述教學目的以數字電

2、子技術為基礎,學習數字電路系統(tǒng)的基本設計方法以可編程邏輯器件為基礎,掌握硬件描述語言VHDL設計數字電路系統(tǒng)的新方法面向工程應用,理論結合實踐,提高電路系統(tǒng)的設計水平51 概述課程內容了解大規(guī)??删幊踢壿嬈骷慕Y構及工作原理(基礎)熟悉EDA軟件的使用方法(工具)MAX +PlusIIQuartus II掌握一種硬件描述語言(方法)VHDLVerilog61 概述考核考核的形式日常成績設計成績報告+考試報告的要求見實驗中心網站的模板/71 概述數字電路系統(tǒng)的基本構成輸出方程激勵方程狀態(tài)方程81 概述數字電路設計的基本方法布爾函數數字系統(tǒng)數學基礎(卡諾圖)數字電路設計的基本方法組合電路設計問題邏

3、輯關系真值表化簡邏輯圖時序電路設計列出原始狀態(tài)轉移圖和表狀態(tài)優(yōu)化狀態(tài)分配觸發(fā)器選型求解方程式邏輯圖使用中、小規(guī)模器件設計電路92 可編程邏輯器件基本概念PLDProgrammable Logic Device可編程邏輯器件CPLD/FPGAComplex Programmable Logic Device復雜可編程邏輯器件Field Programmable Gate Array現(xiàn)場可編程門陣列102 可編程邏輯器件PLD的優(yōu)點集成度不斷提高可減小電路的面積,降低功耗,提高可靠性具有先進的開發(fā)工具提供語言、圖形等設計方法,十分靈活通過仿真工具來驗證設計的正確性可反復地編程,方便設計的修改和升級

4、可靈活地定義管腳功能,減輕設計工作量,縮短系統(tǒng)開發(fā)時間保密性好112 可編程邏輯器件PLD的發(fā)展趨勢向高集成度、高速度方向進一步發(fā)展最高集成度已達到400萬門向低電壓和低功耗方向發(fā)展5V3.3V2.5V1.8V更低內嵌多種功能模塊MacroFuction、MegafunctionIP Core: RAM,ROM,F(xiàn)IFO,DSP,CPUSOPC向數、?;旌峡删幊谭较虬l(fā)展122 可編程邏輯器件主要制造商最大的PLD供應商之一FPGA的發(fā)明者,最大的PLD供應商之一ISP技術的發(fā)明者提供軍品及宇航級產品13按集成度高低PROM、EPROM、EEPROM、PAL、PLA、GALCPLD、FPGA按結

5、構特點與或陣列結構PROM,EEPROM,PAL,GAL,CPLD門陣列結構 FPGA按編程工藝Fuse/Anti-FuseEEPROM-大多數CPLDSRAM -大多數FPGA2 可編程邏輯器件分類142 可編程邏輯器件CPLD與FPGA的區(qū)別CPLDFPGA內部結構ProducttermLookup Table程序存儲內部EEPROMSRAM,外掛EEPROM資源類型組合電路資源豐富觸發(fā)器資源豐富集成度低高使用場合完成控制邏輯能完成比較復雜的算法速度慢快其他資源EAB,鎖相環(huán)保密性可加密一般不能保密153 VHDL的基本語法HDLHardware Description Language硬

6、件描述語言 VHDLVerilog HDLSystem CSystem Verilog163 VHDL的基本語法與計算機語言的區(qū)別運行的基礎計算機語言是在CPURAM構建的平臺上運行VHDL設計的結果是由具體的邏輯、觸發(fā)器組成的數字電路執(zhí)行方式計算機語言基本上以串行的方式執(zhí)行VHDL在總體上是以并行方式工作驗證方式計算機語言主要關注于變量值的變化VHDL要實現(xiàn)嚴格的時序邏輯關系173 VHDL的基本語法與計算機語言的區(qū)別183 VHDL的基本語法基本結構VHDL程序的基本結構Library庫Entity 實體Architecture結構體Package程序包Configuration配置193

7、 VHDL的基本語法基本結構-eqcomp4 is a four bit equality comparatorLibrary IEEE;use IEEE.std_logic_1164.all;entity eqcomp4 isport (a, b:in std_logic_vector(3 downto 0); equal :out std_logic);end eqcomp4;architecture dataflow of eqcomp4 isbegin equal = 1 when a=b else 0;End dataflow;eqcomp4.vhd包實體結構體文件名和實體名一致關鍵

8、字庫VHDL語法203 VHDL的基本語法實體Entity:與外部電路的接口描述 Entity 實體名 IS generic(類屬表); port(端口表); End Entity 實體名;Port(端口信號:端口類型 數據類型;);端口類型:in,out,inout,buffer 213 VHDL的基本語法結構體Architecture:實體的內部結構與端口之間的邏輯關系 Architecture 結構體名of 實體名 IS 結構體說明語句 begin 結構體功能描述語句 End Architecture 結構體名;說明語句:常數,信號,子程序,元件例化功能描述:信號賦值,塊,進程,子程序,

9、元件例化 223 VHDL的基本語法結構體三種描述方式的比較描述方式優(yōu)點缺點適用場合結構化描述連接關系清晰,電路模塊化清晰電路不易理解、繁瑣、復雜電路層次化設計數據流描述布爾函數定義明白不易描述復雜電路,修改不易小門數設計行為描述電路特性清楚明了進行綜合效率相對較低大型復雜的電路模塊設計233 VHDL的基本語法程序組成 Entity(實體) Architecture 1(結構體)Architecture N (結構體) process(進程結構) subprograms(子程序) procedure(過程) function(函數) block(塊結構)243 VHDL的基本語法配置Conf

10、iguration:把特定的結構體指定給一個確定的實體配置默認配置元件配置塊配置結構配置 Configuration 配置名 of 實體名 IS 配置說明 End 配置名;253 VHDL的基本語法庫Library :預先定義好的設計單元的集合體庫的用法Library 庫名;常用的庫:IEEE,work等use 庫名.程序包.項目名;use 庫名.程序包.all;263 VHDL的基本語法庫和程序包舉例 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigne

11、d.all; use ieee.std_logic_signed.all;273 VHDL的基本語法字符和數據對象VHDL文字數字型:15,3.14,10256字符型:0,”0000”標識符:下標: 信號名/變量名表達式1 to/downto表達式2數據對象常數:constant 常數名稱:數據類型:設置值信號:signal 信號名稱:數據類型:設置值變量:variable 變量名稱:數據類型283 VHDL的基本語法常量、信號與變量的不同實際的物理意義不同定義方式不同賦值方式不同:信號= 變量:=定義的位置不同常量:實體,結構體,包,進程,塊,子程序變量:進程,子程序信號:實體,結構體,包作

12、用的范圍不同常量:與定義的位置有關變量:局部量信號:與定義的位置 有關293 VHDL的基本語法常量、信號與變量的不同architecture rtl of start is signal count : integer range 0 to 7; begin process(clk) begin if (clkevent and clk=1) then count = count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl;architecture rt

13、l of start is begin process(clk)variable count : integer range 0 to 7;begin if (clkevent and clk=1) then count := count + 1; if(count=0) then carryout = 1; else carryout = 0; end if; end if; end process; end rtl;303 VHDL的基本語法數據類型VHDL的預定義數據類型boolbit,bit_vectorinteger :signal q integer range 0 to 15;I

14、EEE的預定義數據類型std_logic,std_logic_vector用戶自定義type 數據類型名 is 數據類型定義of 基本數據類型313 VHDL的基本語法操作符算術運算符 +、-、*、/邏輯運算符AND、OR、NAND、NOR、XOR、NOT關系運算符 =、/=、=并置(連接)運算符&323 VHDL的基本語法順序語句If Then語句If 條件式1 Then 語句命令塊AElsif 條件式2 Then 語句命令塊BElsif 條件式3 Then 語句命令塊C Else 語句命令塊NEnd If;333 VHDL的基本語法順序語句Case-When語句Case 選擇信號 Is W

15、hen 信號值1= 語句命令塊A When 信號值2= 語句命令塊B When 信號值3= 語句命令塊C : When others = 語句命令塊nEnd case;343 VHDL的基本語法順序語句For-Loop語句For I In 起始值 To/Downto 結束值 Loop 命令語句;End Loop;353 VHDL的基本語法并行語句賦值語句=When-Else語句 信號A= 信號B When (條件式1) Else 信號C When (條件式2)Else 信號D;363 VHDL的基本語法并行語句WithSelect語句 With 選擇信號X Select 信號A信號A1, 組件

16、信號B=信號B1, );Port Map(信號A1,信號B1,);413 VHDL的基本語法幾個語句的比較 語句With-select-whenWhen-elseIf-elseCase-when選擇條件一個信號的不同值,互斥多個信號多種組合,不必互斥多個信號多種組合,不必互斥一個信號的不同值,互斥語句屬性并行并行順序順序用途編碼、譯碼、多路選擇器優(yōu)先編碼器地址譯碼器優(yōu)先編碼器地址譯碼器編碼、譯碼、多路選擇器狀態(tài)機424基于QuertusII的設計DE2開發(fā)板434基于QuertusII的設計444基于QuertusII的設計建立project編輯源文件編譯設計文件分配引腳仿真編程/測試454基

17、于QuertusII的設計設計輸入原理圖輸入使用元件符號和連線等描述比較直觀,但設計大規(guī)模的數字系統(tǒng)時則顯得繁瑣HDL語言輸入邏輯描述功能強成為國際標準,便于移植原理圖與HDL的聯(lián)系與高級語言與匯編語言類似464基于QuertusII的設計設計處理綜合和優(yōu)化優(yōu)化:將邏輯化簡,去除冗余項,減少設計所耗用的資源綜合:將模塊化層次化設計的多個文件合并為一個網表映射把設計分為多個適合特定器件內部邏輯資源實現(xiàn)的邏輯小塊的形式布局與布線將已分割的邏輯小塊放到器件內部邏輯資源的具體位置并利用布線資源完成各功能塊之間的連接生成編程文件生成可供器件編程使用的數據文件474基于QuertusII的設計模擬仿真功能

18、仿真不考慮信號傳輸和器件的延時時序仿真不同器件的內部延時不一樣,不同的布局、布線延時也會有比較大的不同在線驗證利用實現(xiàn)手段測試器件最終功能和性能指標484基于QuertusII的設計編程和測試在系統(tǒng)編程技術ISPIn System Program邊界掃描測試技術BSTBoundary Scan TestJTAG494基于QuertusII的設計組合電路設計基本門電路數據選擇器數據分配器編碼器譯碼器比較器加法器504基于QuertusII的設計原理圖輸入兩輸入的與門514基于QuertusII的設計文本輸入多路數據分配器52library ieee;use ieee.std_logic_1164

19、.all; entity mux is -多路數據分配器port( a, b, c, d: in std_logic_vector(3 downto 0); s: in std_logic_vector(1 downto 0); x: out std_logic_vector(3 downto 0); end mux; architecture archmux of mux isbegin mux4_1: process (a, b, c, d) Begin if s = 00 then x = a; elsif s = 01 then x = b; elsif s = 10 then x =

20、 c; else x = d; end if;end process mux4_1; end archmux; 53結果544基于QuertusII的設計使用組件設計由半加器構造全加器半加器全加器55全加器的真值表和結果ABCiSCi1000000011001010011011001010101110011111156library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;-半加器entity half_adder isport( x,y:in std_logic; sum,carry:out std_l

21、ogic );end;architecture a of half_adder isbegin sum=x xor y; carry=x and y; end; library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;或門entity or22 isport( x,y:in std_logic; c:out std_logic );end;architecture a of or22 isbegin c=x or y; end; 57library ieee;use ieee.std_logic_1164

22、.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity full_adder isport( a,b,carry_in:in std_logic; sum,carry_out:out std_logic );end;architecture a of full_adder issignal temp_sum,temp_carry1,temp_carry2:std_logic;component half_adder port(x,y:in std_logic; sum,carry:out std_logi

23、c );end component;component or22 port(x,y:in std_logic; c:out std_logic );end component;begin hadd1:half_adder port map(a,b,temp_sum,temp_carry1); hadd2:half_adder port map(temp_sum,carry_in,sum,temp_carry2); u1:or22 port map(temp_carry1,temp_carry2,carry_out);end; 584基于QuertusII的設計時序電路設計觸發(fā)器:RS觸發(fā)器,T觸發(fā)器,JK觸發(fā)器,D觸發(fā)器寄存器移位寄存器計數器同步計數器可逆計數器分頻器594基于QuertusII的設計時序電路設計計數器60library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 is port( clk:in std_logic; q:out integer range 0 to 59 );end;archit

溫馨提示

  • 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

提交評論