電路計算機輔助設計(二)_第1頁
電路計算機輔助設計(二)_第2頁
電路計算機輔助設計(二)_第3頁
電路計算機輔助設計(二)_第4頁
電路計算機輔助設計(二)_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電路計算機輔助設計

吉林大學通信工程學院

高燕梅

教學內容與要求

第1章EDA技術簡介

第2章VerilogHDL語言編程(10學時)

第3章VHDL語言編程(4學時)

第4章MATLAB程序入門(12學時)

第5章MATLAB在電路中的應用(4學時)

每章有實驗室上機實驗

dee.jlu.edu.cn/eeec實驗教學

成績評定標準

■五級分制

■作業(yè)加上機考核:

1、作業(yè)必做,上機交作業(yè)時隨機考兩個問題。

2、點名沒有缺勤,加分。

3、每次課最后有互動搶答,3次答對,只需交作業(yè),

可免試。

第1章EDA技術簡介

1.1EDA技術的主要內容

1.2EDA軟件系統(tǒng)的構成

1.3EDA的工程設計流程

1.4數(shù)字系統(tǒng)的設計方法

第2章VerilogHDL語言編程

2.1VerilogHDL設計模塊的基本結構

2.2VerilogHDL詞法構成

2.3VerilogHDL的語句

2.4VerilogHDL模型

2.5VerilogHDL設計電路流程

2.6用VerilogHDL描述邏輯電路的實例

第3章VHDL語言編程基礎

3.1概述

3.2VHDL程序基本結構

3.3VHDL語言要素

3.4VHDL順序語句

3.5VHDL并行語句

3.6子程序(SUBPROGRAM)

3.7庫、程序包及其他

3.8VHDL描述風格

3.9基本邏輯電路設計

3.10狀態(tài)機的VHDL設計

第4章MATLAB程序入門

4.1基本語法

4.1.1變量及其賦值

4.4.2矩陣的初等運算

4.1.3元素群運算

4.1.4邏輯判斷及流程控制

4-2基本繪圖方法

4.2.1M文件及程序調試

4.2.2MATLAB的開發(fā)環(huán)境和工具

第5章MATLAB在電路中的應用

5.1電阻電路和動態(tài)電路

5.2正弦穩(wěn)態(tài)電路和頻率響應

5.3二端口電路

5.4濾波器

第1章EDA技術簡介

1.1EDA技術的主要內容

■EDA是電子設計自動化(ElectronicDesignAutomation)的

縮寫。

■EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用

硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏

輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至

對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。

■EDA技術的出現(xiàn),極大地提高了電路設計的效率和可靠性,減

輕了設計者的勞動強度。

■在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的

應用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設計帶來了

極大的靈活性。

■CPLD、FPGA器件可以通過軟件編程而對硬件結構和工作方式

進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快

捷。促進了EDA技術的迅速發(fā)展。

EDA技術涉及面廣,內容豐富,主要應掌握如下四個方面的

內容:

①大規(guī)模可編程邏輯器件,大規(guī)模可編程邏輯器件是利用

EDA技術進行電子系統(tǒng)設計的載體。FPGA和CPLD

②硬件描述語言,硬件描述語言是利用EDA技術進行電子系

統(tǒng)設計的主要表達手段。VHDL、Verilog>ABEL

③軟件開發(fā)工具,軟件開發(fā)工具是利用EDA技術進行電子系

統(tǒng)設計的智能化的自動化設計工具。

Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的

FoundationSerieso

④實驗開發(fā)系統(tǒng),實驗開發(fā)系統(tǒng)則是利用EDA技術進行電子

系統(tǒng)設計的下載工具及硬件驗證工具。

1大規(guī)??删幊踢壿嬈骷?/p>

■可編程邏輯器件(簡稱PLD)是一種由用戶編程以實現(xiàn)

某種邏輯功能的新型邏輯器件。

■FPGA是現(xiàn)場可編程門陣列的簡稱,

■CPLD是復雜可編程邏輯器件的簡稱。

■高集成度、高速度和高可靠性是FPGA/CPLD最明顯

的特點,其時鐘延時可小至ns級,結合其并行工作方

式,在超高速應用領域和實時測控方面有著非常廣闊

的應用前景。

■FPGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)

下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮

小了體積,易于管理和屏蔽。

2硬件描述語言(HDL)

常用的硬件描述語言有VHDL、Verilog、ABELo

■VHDL:作為IEEE的工業(yè)標準硬件描述語言,在

電子工程領域,已成為事實上的通用硬件描述語言。

■Verilog:支持的EDA工具較多,適用于RTL級

(寄存器轉換級)和門電路級的描述,其綜合過程

較VHDL稍簡單,但其在高級描述方面不如VHDL。

■有專家認為,在新世紀中,VHDL與Verilog語言將

承擔幾乎全部的數(shù)字系統(tǒng)設計任務。

3軟件開發(fā)工具

目前比較流行的、主流廠家的EDA的軟件工具有:

■Altera的MAX+plusII、升級版QuartusH;

■Lattice的ispEXPERT;

■Xilinx的FoundationSeries。

■MAX+plusII是Altera公司開發(fā)的EDA工具軟件。

Altera公司是世界上最大的可編程邏輯器件供應商之一。

MAX+plusII軟件是一個集成化的可編程邏輯器件開發(fā)

環(huán)境,設計者能在這個環(huán)境下進行邏輯設計,完成設計

文件的輸入編輯、編譯、仿真、綜合、布局布線和編程

下載等設計工作。軟件界面友好、方便易學、功能全面,

是非常流行的大眾化EDA平臺。

■MAX+plusII:支持原理圖、VHDL和Verilog語

言文本文件,以及以波形與EDIF等格式的文件作

為設計輸入,并支持這些文件的任意混合設計。

■它具有門級仿真器,可以進行功能仿真和時序仿

真,能夠產生精確的仿真結果。

■在適配之后,MAX+plusII生成供時序仿真用的

EDIF、VHDL和Verilog這三種不同格式的網表文

件。

■它界面友好,使用便捷,被譽為業(yè)界最易學易用

的EDA的軟件,并支持主流的第三方EDA工具,

支持所有Altera公司的FPGA/CPLD大規(guī)模邏輯器

件。

4實驗開發(fā)系統(tǒng)

提供芯片下載電路及EDA實驗/開發(fā)的外圍資

源(類似于用于單片機開發(fā)的仿真器),供硬件驗

證用。一般包括:

①實驗或開發(fā)所需的各類基本信號發(fā)生模塊,

包括時鐘、脈沖、高低電平等;

②FPGA/CPLD輸出信息顯示模塊,包括數(shù)碼顯

示、發(fā)光管顯示、聲響指示等;

③監(jiān)控程序模塊,提供“電路重構軟配置”;

④目標芯片適配座以及上面的FPGA/CPLD目標

芯片和編程下載電路。

自己閱讀

1.2EDA軟件系統(tǒng)的構成

■EDA技術研究的對象是電子設計的全過程,有系統(tǒng)級、

電路級和物理級3個層次的設計。

■涉及的電子系統(tǒng)從低頻、高頻到微波,從線性到非線性,

從模擬到數(shù)字,從通用集成電路到專用集成電路構造的

電子系統(tǒng),因此EDA技術研究的范疇相當廣泛。

■EDA軟件系統(tǒng)應當包含以下子模塊:

■設計輸入子模塊、

■設計數(shù)據庫子模塊、

■分析驗證子模塊、

■綜合仿真子模塊、

■布局布線子模塊等。

自己閱讀

(1)設計輸入子模塊;用戶編輯輸入模塊的設計描

述,并進行語義正確性、語法規(guī)則的檢查,檢查通

過后,將用戶的設計描述數(shù)據轉換為EDA軟件系統(tǒng)

的內部數(shù)據格式,存入設計數(shù)據庫被其他子模塊調

用。

■設計輸入子模塊不僅能接受圖形描述輸入、硬件描

述語言(HDL)描述輸入,還能接受圖文混合描述輸

入。

■該子模塊一般包含針對不同描述方式的編輯器,如

圖形編輯器、文本編輯器等,同時包含對應的分析

珀-O

自己閱讀

(2)設計數(shù)據庫子模塊:該模塊存放系統(tǒng)提供的庫單

元以及用戶的設計描述和中間設計結果。

(3)分析驗證子模塊:該模塊包括各個層次的模擬驗

證、設計規(guī)則的檢查、故障診斷等。

(4)綜合仿真子模塊:該模塊包括各個層次的綜合工

具,理想的情況是:從高層次到低層次的綜合仿真

全部由EDA工具自動實現(xiàn)。

(5)布局布線子模塊:該模塊實現(xiàn)由邏輯設計到物理

實現(xiàn)的映射,因此與物理實現(xiàn)的方式密切相關。例

如,最終的物理實現(xiàn)可以是門陣列、可編程邏輯器

件等,由于對應的器件不同,因此各自的布局布線

工具會有很大的差異。

自己閱讀

1.3EDA的工程設計流程

1源程序的編輯和編譯

利用EDA技術進行一項工程設計,首先需利用EDA工

具的文本編輯器或圖形編輯器將它用文本方式或圖形方式

表達出來,進行排錯編譯,變成Verilog、VHDL文件格式,

為進一步的邏輯綜合作準備。

常用的源程序輸入方式有三種。

(1)原理圖輸入方式:利用EDA工具提供的圖形編輯器以

原理圖的方式進行輸入。原理圖輸入方式比較容易掌握,

直觀且方便,所畫的電路原理圖與傳統(tǒng)的器件連接方式完

全一樣,很容易被人接受,而且編輯器中有許多現(xiàn)成的單

元器件可以利用,自己也可以根據需要設計元件。

文本編輯器圖形編輯器

0UHDL源程序

生成VHDL源程序

VHDL綜合器

0網表文件

(EDIF,XNF,VHDL...)

行為仿真|邏輯綜合、優(yōu)化

VHDL

功能仿真

仿真器0

時序仿真FPGA/CPLD布線/適配器

熔絲圖、SRAM文件、

VHDUVetilog網表

自動優(yōu)化、布局、布線/適配◎

測試電路編程器K載電纜功能仿真

5**-**?門級

硬件測試0編程、下載時序仿真仿真器

(2)狀態(tài)圖輸入方式:以圖形的方式表示狀態(tài)圖進

行輸入。當填好時鐘信號名、狀態(tài)轉換條件、狀

態(tài)機類型等要素后,就可以自動生成VHDL程序。

這種設計方式簡化了狀態(tài)機的設計,比較流行。

(3)Verilog>VHDL軟件程序的文本方式:最一般

化、最具普遍性的輸入方法,任何支持VHDL的

EDA工具都支持文本方式的編輯和編譯。

2邏輯綜合和優(yōu)化

■將VHDL的軟件設計與硬件的可實現(xiàn)性掛鉤,需要

利用EDA軟件系統(tǒng)的綜合器進行邏輯綜合。

■綜合器的功能就是將設計者在EDA平臺上完成的

針對某個系統(tǒng)項目的HDL、原理圖或狀態(tài)圖形的描

述,針對給定硬件結構組件進行編譯、優(yōu)化、轉換

和綜合,最終獲得門級電路甚至更底層的電路描述

文件。

■綜合器工作前,必須給定最后實現(xiàn)的硬件結構參數(shù),

它的功能就是將軟件描述與給定硬件結構用某種網

表文件的方式聯(lián)系起來。

■綜合器是軟件描述與硬件實現(xiàn)的一座橋梁。綜合過

程就是將電路的高級語言描述轉換成低級的,可與

FPGA/CPLD或構成ASIC的門陣列基本結構相映射

的網表文件。

自己閱讀

1.4數(shù)字系統(tǒng)的設計方法

■數(shù)字系統(tǒng)設計有多種方法,如模塊設計法、自頂向

下設計法和自底向上設計法等。

■數(shù)字系統(tǒng)的設計一般采用自頂向下、由粗到細、逐

步求精的方法。

■自頂向下是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系

統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一

步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個

系統(tǒng)中各子系統(tǒng)關系合理,并便于邏輯電路級的設計

和實現(xiàn)為止。

■采用該方法設計時,高層設計進行功能和接口描述,

說明模塊的功能和接口,模塊功能的更詳細的描述在

下一設計層次說明,最底層的設計才涉及具體的寄存

器和邏輯門電路等實現(xiàn)方式的描述。

采用自頂向下的設計方法有如下優(yōu)點:

(1)自頂向下設計方法是一種模塊化設計方法。對設計的描述從

上到下逐步由粗略到詳細,符合常規(guī)的邏輯思維習慣。由于高層

設計同器件無關,設計易于在各種集成電路工藝或可編程器件之

間移植。

(2)適合多個設計者同時進行設計。隨著技術的不斷進步,許多

設計由一個設計者已無法完成,必須經過多個設計者分工協(xié)作完

成一項設計的情況越來越多。在這種情況下,應用自頂向下的設

計方法便于由多個設計者同時進行設計,對設計任務進行合理分

配,用系統(tǒng)工程的方法對設計進行管理。

針對具體的設計,實施自頂向下的設計方法的形式會有所不同,

但均需遵循以下兩條原則:逐層分解功能,分層次進行設計。同

時,應在各個設計層次上,考慮相應的仿真驗證問題。

自己閱讀

第2章VerilogHDL語言

2.1VerilogHDL設計模塊的基本結構

■VerilogHDL程序設計由模塊(module)構成的,設計模塊的基本結構如圖,

一個完整的VerilogHDL設計模塊包括端口定義、I/O聲明、信號類型聲明和

功能描述4個部分。

BCD_adders

一、模塊端口的定義—AAC[33.-.-03SSUUMMCC33....0O3J—

COUT

■模塊端口定義用來聲明電路設計模塊-BC3..0O3JCOUT-

的輸入/輸出端口,端口定義格式如下:—[C^IN___________________,

module模塊名(端口1,端口2,端口3,…)注...

■在端口定義的括號中,是設計電路模塊與外界聯(lián)系的全部輸入/輸出端口信號

或引腳,是設計實體對外的一個通信界面,是外界可以看到的部分(不包含

電源和接地端),多個端口之間用”分隔。例如1位全加器adder模塊的

端口定義為

■moduleadder(sum,cout,ina,inb,cin);模塊名adder

二、模塊內容

模塊內容包括I/O聲明、信號類型聲明和功能描述。

(1)模塊的I/O聲明

模塊的I/O聲明用來聲明模塊端口定義中各端口數(shù)據流動方向,

括輸入(input)、輸出(output)和雙向(inout)。I/O聲明格式如一

input端口1,端口2,端口3,…;〃聲明輸入端口

output端口1,端口2,端口3,…;//聲明輸出端口

■例如,1位全加器的I/O聲明為

inputina,inb,cin;

outputsum,cout;A|c/co|-co

B

(2)信號類型聲明

■信號類型聲明是聲明設計電路的功能描述中所用的信號的數(shù)

據類型和函數(shù)。信號的數(shù)據類型主要有連線(wire)、寄存

器(reg)、整型(integer)、實型(real)、和時間

(time)等。

(3)功能描述

■功能描述是VerilogHDL程序設計中最主要的部分,用

來描述設計模塊的內部結構和模塊端口間的邏輯關系,在電

路上相當于器件的內部電路結構。功能描述可以用assign語

句、元件例化(instantiate)方式、always塊語句、initial

塊語句等方法來實現(xiàn),通常將設計模塊描述的方法稱為建模。

①用assign語句建模

■用assign語句建模的方法很簡單,只需要在“assign”后面再

加一個表達式。Assign語句一般適合對組合邏輯進行賦值,稱

為連續(xù)賦值方式。ABCisCo

■例1一位全加器的設計00000

A-nt00110

01010

B-01101

LC0|—8

CI—10010

10101

■1位全加器的邏輯符號:11001

sum是全加器的和輸出端,11111

cout是進位輸出端,ina和inb是兩個加數(shù)輸入端,

cin是低位進位輸入端。

■全加器的VerilogHDL源程序如下:

moduleadded(sum,cout,ina,inb,cin);

inputina,inb,cin;

outputsum,cout;

assign{cout,sum}=ina+inb+cin;

co

endmodule

“assign{cout,sum}=ina+inb+cin;''語7句實現(xiàn)1

位全加器隨進位輸出cout寫和輸出sum的建模。

■在語句表達式中,用拼接運算符“{}”將cout、sum這

兩個1位操作數(shù)拼接為一個2位操作數(shù)。

②用元件例化(instantiate)方式建模

■元件例化方式建模是利用VerilogHDL提供的元件庫實現(xiàn)的。

例如,用與門例化元件定義一個三輸入端與門可以寫為

■andmyand3(y,a,b,c);and是VerilogHDL元件庫中與門元件

名,myand3是例化出的三輸入端與門名,y是寫門輸由端,a、

b、c是輸入端。

③用always塊語句建模

■always塊語句可以產生各種邏輯,常用于時序邏輯的功能

描述。一個程序設計模塊中,可以包含一個或多個always語句。

程序運行中,在某種條件滿足時,就重復執(zhí)行一遍always結構

中的語句。

例28位二進制加法計數(shù)器的設計_也

■8位二進制加法計數(shù)器的邏輯符號如圖。是諼二COUT

進OUTO

■OUT是8位二進制計數(shù)器的輸出端(8位CLR一

向量);苗二制OUT1

OUT2

■COUT是進位輸出端(1位);D2-OUT3

法OUT4

■DATA是并行數(shù)據輸入端(8位向量);北二計OUT5

OUT6

■LOAD是計數(shù)器的預置控制輸入端,萬一數(shù)OUT7

t,D6—

■當LOAD=1時,OUT=DATA;D7_

■CLK是時鐘控制輸入端,上升沿為有效CIN-

邊沿;

■CLR是同步復位輸入端,當CLK的上升

沿到來時且CLR=1,則計數(shù)器被復位,

OUT=OOOOOOOOo

(邏輯符號圖是由計算機對計數(shù)器電路的VerilogHDL源代碼

編譯后產生的元件符號,圖中的輸入/輸出標識符自動被改為大

寫,而源程序中的標識符都是小寫。)

8位二進制加法計數(shù)器的VerilogHDL源程序如下:

modulecnt8(out,cout,dataJoad,cin,elk,clr)

input[7:0]data;

LOAD二

inputload,cin,elk,clrCLK—COUT

output[7:0]out;CLR—進OUTU

制OUT1

outputcout;D0—

D1—

溫馨提示

  • 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

提交評論