第一篇:EDA課程心得
EDA課程學習心得
這學期的后半期,我們開了EDA技術這門課程。EDA的中文解釋是電子設計自動化,這門課程主要是用于對現(xiàn)代高新電子產(chǎn)品的設計,EDA在硬件方面融合了大規(guī)模集成電路技術,是一款綜合性很強的工具。
這門課程的學習在教學中應該以實踐為主,我們每周有兩節(jié)課,一節(jié)是理論課學習,一節(jié)是實踐課。剛開始上理論課程的時候,主要是對該軟件的使用做介紹,而在實踐課程上,我們應該對軟件進行運用,但是,有很多的同學卻沒有干與課程相關的事,只有一部分的同學在練習。開始的時候,對軟件很陌生,都是幾個同學在一起研究,并且詢問老師,才慢慢的掌握了使用方法。在后面的理論學習中,老師主要是講解編程的一些語法,并且只講了一些常用的,像信號量,變量,還有PROCESS語句等,這些是編程中常用的一些知識。在實踐課上,主要是以實驗指導書為主,根據(jù)指導書上的內(nèi)容進行編程,畫圖仿真來對EDA技術的運用有更深入的理解。在每周一節(jié)理論課的學習情況下,很多的時間都是很珍貴的,學習理論的時間就那么一點,那么,肯定就不可能學習的很全面,老師主要是講方法,更多的是要我們自己努力。這本教材還很不錯,講解的很詳細,讓初學者也能理解。然后實踐課程是可以在課后也能練習,課上發(fā)現(xiàn)問題就能及時的詢問老師,但是,課后就只能詢問同學,或者是將問題留到課堂上再問老師。
這門課程學完最大的感觸就是學習的時間太短了,這門課程聽老師說對我們的以后工作是有很大的幫助的,但是我們卻只學習了半個學期,只用了32個課時就結束了,這肯定是不夠的。EDA技術可以完成各種自動設計過程,是目前最為矚目的一項技術,它有強大的邏輯設計仿真測試技術。它的仿真測試技術只要通過計算機,就能對所設計的電子系統(tǒng)從各種不同層次的系統(tǒng)性能特點完成一系列準確的測試與仿真操作,在完成實際系統(tǒng)的安裝后,還能對系統(tǒng)上的目標器件進行所謂的邊界掃描測試。這一切都極大的提高了大規(guī)模的系統(tǒng)電子設計的自動化程度。現(xiàn)在的很多設計工作都需要先進行計算機仿真,如果沒有錯誤,在運用到實際的硬件中,這不僅能提高設計速度,還能減少因為設計失誤而造成的原料浪費。學好一門仿真軟件對于我們本科學生是必不可少的,因為以后畢業(yè)了如果從事設計方向的工作,那必然要求我們有這樣的一門技術。
以下是我在這門課程的學習過程中總結的幾點建議,希望老師能夠耐心的看完:
(1)、根據(jù)學生的層次,設計一種適合學生的教學方案。像我們班這樣的基礎不太好的班級,可能采用重實踐的方法更合適一些。上課講很多的理論知識,都不及在機房自己練習來的快。而且,老師有時候在課堂上也不知道該給我們講些什么我們才會更好的接收,這樣的話,在我們自己動手實踐的過程中我們發(fā)現(xiàn)了問題,經(jīng)過詢問老師和與同學一起研究,這樣,就可以克服難題,而且,經(jīng)過這樣的經(jīng)歷,我們對于該問題也會有很深的印象,在以后的應用中出現(xiàn)類似的問題我們也會更快的找到方法解決。
(2)、在實踐課上要嚴抓課堂秩序。在實踐課的時候,很多同學都不做與課程相關的事,要么翻紙盤,要么幾個一起玩游戲,而真正在做實驗的同學就只有那么少許的人。很多人都是在一開始就養(yǎng)成這樣的壞習慣的,如果在剛開始就嚴抓課堂秩序,那么,很多人可能就會按照要求循規(guī)蹈矩了。在實踐課上是很重要的學習機會,本來課程安排的時間就很少,不好好的利用,那么肯定是一項嚴重的損失。
(3)、上理論課的時候盡量的多的將一些知識點講詳細一些。我們學習的都是很基礎的知識,不要求深入,但是應該盡量的將基礎的東西都掌握了。在這門課程中,我們只學習了幾章較為基礎和重要的內(nèi)容,只要掌握了這幾章也就能進行簡單的編程,在這樣的情況下,我們就更是需要老師幫助我們,引導我們,理清這些知識點,從而掌握它們。
以上是我在這門課程的學習中的一些感觸和心得,雖然這門課程的學習結束了,但是,有一些學習方法是同樣可以運用到其他的課程學習中,在以后的學習中,我們還應該堅持,努力,將學習進行到底!
第二篇:eda技術課程總結與心得
【第一章】
1、FPGA芯片的發(fā)展主要體現(xiàn)在哪幾個方面?未來的發(fā)展趨勢是什么?
ANS:
2、EDA技術的優(yōu)勢是什么?
ANS: EDA依賴功能強大的計算機在EDA工具軟件平臺上自動的完成邏輯化簡、邏輯分割、邏輯綜合、結構綜合,以及邏輯優(yōu)化和仿真等功能,直至實現(xiàn)既定性能的電子線路系統(tǒng)功能。EDA使得設計者的工作幾乎僅限于利用軟件的方式,即利用硬件描述語言HDL和EDA工具軟件來完成對系統(tǒng)硬件功能的實現(xiàn)
+ P 10
3、EDA的設計流程包括哪幾個環(huán)節(jié)?
ANS: ①設計輸入(原理圖/HDL文本編輯)②綜合 ③ FPGA/CPLD 適配 ④ 時序仿真與功能門級仿真 ⑤FPGA/CPLD編程下載 ⑥FPGA/CPLD器件電路硬件檢測。
4、硬件描述語言的種類有哪些?
ANS: VHDL、Verilog HDL、SystemVerilog、System C 等
5、自頂向下設計方法的優(yōu)點是什么?
ANS:
過程大部分由計算機完成,可植性強,便于系統(tǒng)的優(yōu)化和升級,以及對模型進行及時的修改,以改進系統(tǒng)或子系統(tǒng)的功能,更正設計錯誤,提高目標系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。在EDA技術應用中,自頂向下的設計方法,就是在整個設計流程中各設計環(huán)節(jié)逐步求精的過程。
6、ip核可分為哪幾類?
ANS: ①軟IP、②固IP、③硬IP
7、ip在EDA技術的應用和發(fā)展中的意義是什么?
ANS:
IP就是將某些功能固化,而當EDA設計也需要這些功能的時候,就可以直接將植入了此功能的IP拿過來直接用,而不用再重新設計。這樣既可以提高效率又可以減少設計風險。IP核具有規(guī)范的接口協(xié)議,良好的可移植與可測試性,為系統(tǒng)開發(fā)提供了可靠的保證。
【第二章】
1、可編程邏輯器件經(jīng)歷哪些發(fā)展過程? ANS:
2、Altera公司的PLD芯片主要有哪些系列? ANS:
按照推出的先后順序:Classic、MAX、FLEX、APEX、ACEX、APEX
2、Cyclone/2/3/
4、MAX2、Stratix-1/2/3/4/6.【第三章】
1、一個完整的VHDL程序包括哪幾個部分?其作用是什么? ANS: ①實體描述部分 ②結構體描述部分
作用 略
2、VHDL中標示符的命名規(guī)則是什么?
ANS: 標識符是設計者在VHDL程序中自己定義的,用于標識不同名稱的詞語。例如實體名、端口名等。具體規(guī)則如下:
·有效的字符:包括26個大小寫英文字母,數(shù)字包括0~9以及下劃線。
·任何標識符必須以英文字母開頭
·必須是單一的下劃線,且前后都要有字母或數(shù)字?!俗R符中的英文字母不區(qū)分大小寫。
·允許包含圖形符號(如回車符、換行符等),也允許包含空格符。
3、端口模式有哪些?
ANS: ①IN
2、OUT
3、INOUT雙向端口
4、BUFFER 緩沖端口
4、VHDL中有哪些基本的數(shù)據(jù)類型? ANS: bit、bit_vector、std_logic、std_logic_vector、boolean(布爾)、natural(自然數(shù))、integer(整數(shù))、signed(有符號)、unsigned(無符號)、array(數(shù)組類)、record(記錄類型)、Subtype(子類型)、用戶自定義類型。
5、常用的VHDL程序包有哪些?
ANS:STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_SIGNED、STD_LOGIC_UNSIGNED
【第五章】
1、簡述信號和變量的區(qū)別
ANS:比較對象
信號SIGNAL
變量VARIABLE
基本用法
用于作為電路中的信號連線
用于作為進程中局部數(shù)據(jù)存儲單元
適用范圍
在整個結構體內(nèi)的任何地方都適用
只能在所定義的進程中使用
行為特性
在進程最后才對信號賦值
立即賦值
簡單的說,信號是全局的,用于結構體中并行語句間數(shù)據(jù)流的傳遞;變量則是局部的,他主要用于單個進程中中間變量的存儲.2、進程的特點是什么?
ANS:(1)進程結構內(nèi)部的所有語句都是順序執(zhí)行的。
(2)多進程之間是并行執(zhí)行的,并可訪問結構體或?qū)嶓w中所定義的信號。
(3)進程的啟動是由進程標識符PROCESS后的信號敏感表所標明的信號來觸發(fā)的,也可以用WAIT語句等待一個觸發(fā)條件的成立。
(4)各進程之間的通信是由信號來傳遞的。(5)進程語句的順序性(6)進程的啟動與執(zhí)行過程
當進程中定義的任一敏感型號發(fā)生更新(變化)時,由順序語句定義的行為就要重復執(zhí)行一次。當進程中最后一個語句執(zhí)行完畢后,執(zhí)行過程將自動返回到進程的起始端,以等待下一次敏感信號的變化。
3、VHDL語言有哪幾種描述方式?
ANS: 行為描述、數(shù)據(jù)流描述、結構描述
【第六章】
1、列舉5個宏功能模塊
ANS: ① 算數(shù)組件,包括累加器、加法器、乘法器和LPM算數(shù)函數(shù)等。
② 組合電路,包括多路選擇器、比較器和LPM門函數(shù)等。
③ I/O組件,包括時鐘數(shù)據(jù)恢復(CDR)、鎖相環(huán)(PLL)等。
④ 存儲器編譯器件,包括FIFO Partitioner、RAM和ROM宏功能模塊等。
⑤ 存儲組件,包括存儲器、移位寄存器宏模塊和LPM存儲器函數(shù)等。
2、Quartus能夠接受的兩種RAM或ROM初始化文件的格式是? ANS:.mif
.hex
3、給出鎖相環(huán)的工作原理。
ANS: 鎖相環(huán)路是一個相位反饋自動控制系統(tǒng)。它由以下三個基本部件組成:鑒相器(PD)、環(huán)路濾波器(LPF)和壓控振蕩器(VCO)。其組成方框圖如下所示。
鎖相環(huán)的工作原理:
? ? ? ? ?
4、已知實驗板上有一個10MHZ的有源晶振,現(xiàn)在要產(chǎn)生1MHZ的正弦波,請?zhí)岢鲈O計方案
【第七章】
1、狀態(tài)機的優(yōu)點
ANS:① 高效的順序控制模型 ②容易利用現(xiàn)成的EDA優(yōu)化工具③性能穩(wěn)定④設計實現(xiàn)效率高⑤高速性能
2、一般的狀態(tài)機結構包括哪幾個部分?各自的功能是什么? ANS: ①說明部分、說明部分用tpye語句定義新的數(shù)據(jù)類型,其元素通常用狀態(tài)機的狀態(tài)名來定義。狀態(tài)變量(即現(xiàn)態(tài)和次態(tài))應定義為信號,便于信息額傳遞,并將狀態(tài)變量的數(shù)據(jù)類型定義為含有既定狀態(tài)元素的新定義的數(shù)據(jù)類型。說明部分一般放在architecture 和 begin之間。
②主控時序過程、所謂主控時序過程是指負責狀態(tài)機運轉(zhuǎn)和在時鐘驅(qū)動下負責狀態(tài)轉(zhuǎn)換。壓控振蕩器的輸出經(jīng)過采集并分頻; 和基準信號同時輸入鑒相器;
鑒相器通過比較上述兩個信號的頻率差,然后輸出一個直流脈沖電壓; 控制VCO,使它的頻率改變;
這樣經(jīng)過一個很短的時間,VCO 的輸出就會穩(wěn)定于某一期望值。③主控組合過程、顧名思義,主控組合進程也可稱為狀態(tài)譯碼過程,其任務是根據(jù)外部輸入的控制信號,包括來自狀態(tài)機外部的信號和來自狀態(tài)機內(nèi)部其他非主控的組合或時序進程的信號,以確定對外輸出或?qū)?nèi)部其他組合或時序進程輸出信號的內(nèi)容。④輔助過程、輔助進程用于配合狀態(tài)機工作的組合進程或時序進程。
3、狀態(tài)機的狀態(tài)編碼有哪幾種?各自的優(yōu)缺點是什么?
ANS:① 直接輸出型編碼
這種編碼最典型的應用就是計數(shù)器。直接輸出型編碼方式就是所謂的用戶自定義編碼方式,它的優(yōu)點是輸出速度快,不太可能出現(xiàn)毛刺現(xiàn)象。缺點是程序的可讀性差,用于狀態(tài)譯碼的組合邏輯資源比其他以相同觸發(fā)器數(shù)量觸發(fā)器 4構成的狀態(tài)機多,而且控制非法狀態(tài)出現(xiàn)的容錯技術要求比較高。
②順序編碼
優(yōu)點是 這種編碼方式最為簡單,在傳統(tǒng)設計技術中最為常用,其使用的觸發(fā)器最少,剩余的非法狀態(tài)也最少,容錯技術較為簡單。缺點也很多,如常常會占用狀態(tài)轉(zhuǎn)換譯碼組合邏輯較多的資源,特別是有的相鄰狀態(tài)或不相鄰狀態(tài)的狀態(tài)轉(zhuǎn)換時涉及多個觸發(fā)器的同時狀態(tài)轉(zhuǎn)換,因此將耗費更多的轉(zhuǎn)換時間,而且容易出現(xiàn)毛刺現(xiàn)象。
③一位熱碼狀態(tài)編碼
一位熱碼狀態(tài)編碼雖然占用了較多的觸發(fā)器,但其簡單的編碼方式大為簡化了狀態(tài)譯碼邏輯,提高了狀態(tài)轉(zhuǎn)換速度,增強了狀態(tài)機的工作穩(wěn)定性,這對于含有較多的時序邏輯資源、相對較少的組合邏輯資源的FPGA器件是最好的解決方案。
常用的去除毛刺的方法有哪幾種?
ANS: ①延時方式去毛刺
②邏輯方式去毛刺 ③ 定時方式去毛刺 P261
【第八章】
1、資源優(yōu)化可以通過哪幾種方式實現(xiàn) ANS:①資源共享 ②邏輯優(yōu)化 ③串行化
2、速度優(yōu)化可以通過哪幾種方式實現(xiàn)?
ANS:① 利用流水線設計技術 ②寄存器配平③關鍵路徑法 ④乒乓操作法
【編程題】
1、用VHDL實現(xiàn)某一芯片的功能
2、計數(shù)并譯碼顯示
3、鍵盤掃描并顯示
第三篇:eda技術課程總結與心得--整理版
【第一章】
1、FPGA芯片的發(fā)展主要體現(xiàn)在哪幾個方面?未來的發(fā)展趨勢是什么?
(1)大容量、低電壓、低功耗(2)系統(tǒng)級高密度
(3)FPGA和ASIC出現(xiàn)相互融合。(4)動態(tài)可重構
2、EDA技術的優(yōu)勢是什么?
縮短開發(fā)周期,有各類庫的支持,簡化邏輯設計,有利于設計文檔的管理,能仿真測試,開發(fā)者有自主權,將所有開發(fā)環(huán)節(jié)納入統(tǒng)一的自頂向下的設計中,有效的利用了計算機的自動設計能力。
3、EDA的設計流程包括哪幾個環(huán)節(jié)?
①設計輸入(原理圖/HDL文本編輯)②綜合 ③ FPGA/CPLD 適配 ④ 時序仿真與功能仿真 ⑤FPGA/CPLD編程下載 ⑥FPGA/CPLD器件電路硬件檢測。
4、硬件描述語言的種類有哪些?
VHDL、Verilog HDL、SystemVerilog、System C 等
5、自頂向下設計方法的優(yōu)點是什么?
過程大部分由計算機完成,可植性強,便于系統(tǒng)的優(yōu)化和升級,以及對模型進行及時的修改,以改進系統(tǒng)或子系統(tǒng)的功能,更正設計錯誤,提高目標系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。在EDA技術應用中,自頂向下的設計方法,就是在整個設計流程中各設計環(huán)節(jié)逐步求精的過程。高效,高穩(wěn)定性,省時省力,成本較低。
6、ip核可分為哪幾類?
①軟IP、②固IP、③硬IP
7、ip在EDA技術的應用和發(fā)展中的意義是什么?
IP就是將某些功能固化,而當EDA設計也需要這些功能的時候,就可以直接將植入了此功能的IP拿過來直接用,而不用再重新設計。這樣既可以提高效率又可以減少設計風險。IP核具有規(guī)范的接口協(xié)議,良好的可移植與可測試性,為系統(tǒng)開發(fā)提供了可靠的保證。
【第二章】
1、可編程邏輯器件經(jīng)歷哪些發(fā)展過程?
PLD,PLA,PAL,GAL,EPLD,CPLD/FPGA
2、FPGA的配置方式有哪些?
PS(被動串行)、PPS(被動并行同步)、PPA(被動并行異步)、PSA(被動串行異步)、JTAG模式、AS(主動串行)
3、JTAG?
JTAG是英文“Joint Test Action Group(聯(lián)合測試行為組織)”的詞頭字母的簡寫。JTAG邊界掃描技術。
【第三章】
1、verilog中標示符的命名規(guī)則是什么?
a.標識符
Verilog HDL中的標識符(Identifier)是由任意字母、數(shù)字、$符號和_(下劃線)符號的組成的字符序列,但標識符的第一個字符必須是字母或者下劃線。此外,標識符是區(qū)分大小寫的。
轉(zhuǎn)義表示符(Escaped Identifier)為在標識符中包含任何可打印字符提供了一條途徑。轉(zhuǎn)義標識符(反斜線)符號開頭,以空白結尾(空白可以是空格、制表符或換行符)。在轉(zhuǎn)義標識符中,反斜線和結束空格并不是轉(zhuǎn)義標識符的一部分。
Verilog HDL語言中定義了一系列保留標識符,叫做關鍵詞,僅用于表示特定的含義。注意只有小寫的關鍵詞才是保留字。
指導原則:不能用大小寫混用字符串表示關鍵詞,也不能把轉(zhuǎn)義的關鍵詞作為標識別符。
b.注釋
在Verilog HDL中有2種形式的注釋:
/*開始,直到*/ //第二種形式:到本行結束為止
c.格式
Verilog HDL是大小寫敏感的,也就是說,字符相同而字體(大小寫)不同的兩個標識符是不同的。此外,Verilog HDL語句的格式很自由,即語句結構既可以跨越多行編寫,也可以在一行內(nèi)編寫??瞻祝瞻仔?、制表符和空格)沒有特殊含義。指導原則:行的長度必須小于132個字符。
2、端口模式有哪些?
1、INPUT
2、OUTPUT
3、INOUT雙向端口
3、Verilog中有哪些基本的數(shù)據(jù)類型?
Reg,wire,parameters,integer
4、verilog中兩種基本的數(shù)據(jù)類型net(wire)和reg的區(qū)別
兩者的區(qū)別是:即存器型數(shù)據(jù)保持最后一次的賦值,而線型數(shù)據(jù)需要持續(xù)的驅(qū)動
輸入端口可以由net/reg驅(qū)動,但輸入端口只能是net;輸出端口可以使net/reg類型,輸出端口只能驅(qū)動net;若輸出端口在過程塊中賦值則為reg型,若在過程塊外賦值則為net型 用關鍵詞inout聲明一個雙向端口, inout端口不能聲明為寄存器類型,只能是net類型。wire表示直通,即只要輸入有變化,輸出馬上無條件地反映(如與、非門等簡單的連接);reg表示一定要有觸發(fā),輸出才會反映輸入。
不指定就默認為1位wire類型。專門指定出wire類型,可能是多位或為使程序易讀。wire只能被assign連續(xù)賦值,reg只能在initial和always中賦值。wire使用在連續(xù)賦值語句中,而reg使用在過程賦值語句中。
wire若無驅(qū)動連接,其值為z,reg默認初始值為不定值x。
reg表示一定要有觸發(fā),沒有輸入的時候可以保持原來的值,但不直接與實際的硬件電路對應。
5、verilog中的時鐘過程表述的特點和規(guī)律
1.某信號被定義成邊沿敏感時鐘信號,則posedge A或 negedge A放敏感表中,always結構塊中不能再出現(xiàn)信 號A了。
2.若B被定義成對應于時鐘的電平敏感異步控制信號,則除 posedge B或negedge B放敏感表中,always塊中必須 給出邏輯描述,即表述上是邊沿敏感,性能上是電平敏感。
3.若某信號對于時鐘同步,則不能出現(xiàn)在敏感信號表中。
4.敏感表中邊沿敏感信號和電平敏感信號不能同時出現(xiàn)。
【第五章】
1、簡述阻塞式賦值和非阻塞式賦值的區(qū)別
=,立即;<=過程結束
(1)同一個塊程序中:阻塞賦值語句是順序執(zhí)行的;非阻塞賦值語句是并行執(zhí)行的。
(2)在組合邏輯建模中應使用阻塞賦值;在時序邏輯建模中應使用非阻塞賦值。
(3)無論是阻塞賦值語句還是非阻塞賦值語句,若在該語句之前對其值進行應用,則只能引用其上一個時鐘周期賦于的舊值。
2、verilog語言有哪幾種描述風格?
RTL描述、行為描述、數(shù)據(jù)流描述、結構描述
3、簡述任務和函數(shù)語句的區(qū)別
a.任務可以有input、output和inout,數(shù)量不限,函數(shù)只有input參數(shù),且至少有一個input;b.任務可以包含有時序控制(如延時等),函數(shù)不能包含有任何延遲,仿真時間為0;c.任務可以用disable中斷,函數(shù)不允許disable、wait語句;d.任務可以通過I/O端口實現(xiàn)值傳遞,函數(shù)名即輸出變量名,通過函數(shù)返回值;e.任務可以調(diào)用其他任務和函數(shù),函數(shù)只能調(diào)用其他函數(shù),不能調(diào)用任務;f.任務可以定義自己的仿真時間單位,函數(shù)只能與主模塊共用一個仿真時間單位;
g.函數(shù)通過一個返回一個值來響應輸入信號的值,任務卻能支持多種目的,能計算多個結果值,結果值只能通過被調(diào)用的任務的輸出端口輸出或總線端口送出;另外在函數(shù)中不能有wire型變量.任務定義語法:
task <任務名>;
<端口及數(shù)據(jù)類型聲明語句>
<語句1>......endtask
函數(shù)定義的語法: function <返回值類型或范圍>(函數(shù)名)
<端口說明語句>
<變量類型說明語句>
begin
<語句>......end endfunction
【第八章】
1、狀態(tài)機的優(yōu)點
①高效的順序控制模型
②容易利用現(xiàn)成的EDA優(yōu)化工具 ③性能穩(wěn)定
④設計實現(xiàn)效率高 ⑤高速性能
2、狀態(tài)機的狀態(tài)編碼有哪幾種?各自的優(yōu)缺點是什么?
① 直接輸出型編碼:這種編碼最典型的應用就是計數(shù)器。直接輸出型編碼方式就是所謂的用戶自定義編碼方式,它的優(yōu)點是輸出速度快,不太可能出現(xiàn)毛刺現(xiàn)象。缺點是程序的可讀性差,用于狀態(tài)譯碼的組合邏輯資源比其他以相同觸發(fā)器數(shù)量觸發(fā)器構成的狀態(tài)機多,而且控制非法狀態(tài)出現(xiàn)的容錯技術要求比較高。
②順序編碼:優(yōu)點是這種編碼方式最為簡單,在傳統(tǒng)設計技術中最為常用,其使用的觸發(fā)器最少,剩余的非法狀態(tài)也最少,容錯技術較為簡單。缺點也很多,如常常會占用狀態(tài)轉(zhuǎn)換譯碼組合邏輯較多的資源,特別是有的相鄰狀態(tài)或不相鄰狀態(tài)的狀態(tài)轉(zhuǎn)換時涉及多個觸發(fā)器的同時狀態(tài)轉(zhuǎn)換,因此將耗費更多的轉(zhuǎn)換時間,而且容易出現(xiàn)毛刺現(xiàn)象。③一位熱碼狀態(tài)編碼:一位熱碼狀態(tài)編碼雖然占用了較多的觸發(fā)器,但其簡單的編碼方式大為簡化了狀態(tài)譯碼邏輯,提高了狀態(tài)轉(zhuǎn)換速度,增強了狀態(tài)機的工作穩(wěn)定性,這對于含有較多的時序邏輯資源、相對較少的組合邏輯資源的FPGA器件是最好的解決方案。
3、常用的去除毛刺的方法有哪幾種?
①延時方式去毛刺
②邏輯方式去毛刺 ③ 定時方式去毛刺
第四篇:EDA課程 跑馬燈設計
EDA目錄
第一章 設計思路.................................................................................................................................................1 第二章 子模塊......................................................................................................................................................2 2.1 分頻器....................................................................................................................................................2 2.2 顯示模式模塊.......................................................................................................................................3 2.3 顯示LED燈模塊..................................................................................................................................5 第三章 調(diào)試及結果............................................................................................................................................6 3.1頂層原理圖............................................................................................................................................6 第四章 體會..........................................................................................................................................................7
第一章 設計思路
在掌握常用數(shù)字電路功能和原理的基礎上,根據(jù)EDA技術課程所學知識,以及平時實驗的具體操作內(nèi)容,利用硬件描述語言HDL,EDA軟件QuartusⅡ和硬件平臺cycloneⅡFPGAJ進行一個簡單的電子系統(tǒng)設計,本次試驗我所完成的內(nèi)容是跑馬燈的設計,下面我簡單的進行一下原理的闡述。
跑馬燈課程設計的要求是控制8個LED進行花樣顯示,設計四種顯示模塊:第一種顯示是從左向右逐個點亮LED。第二種顯示:從右向左逐個點亮LED。第三種顯示:從兩邊向中間逐個點亮LED。第四種顯示:從中間到兩邊逐個點亮LED。四種顯示模式循環(huán)切換,并帶有一位復位鍵控制系統(tǒng)的運行停止。為了完成要求的效果顯示,由于要求比較簡單,所以不用分為很多模塊來具體控制,所以我先擇利用賦值語句來完成燈的點亮,根據(jù)了解我們實驗箱上的LED燈屬于共陰極接法,當給于高電平時點亮,那么當我們需要點亮某位LED燈時,只需在該位上賦予高電平即可,比如:如果我們要實現(xiàn)8個數(shù)碼燈從左到右依次點亮,那么我們就可以給這8個數(shù)碼燈分別賦值10000000,經(jīng)過一段時間的延時后再給其賦值01000000,再經(jīng)過一段時間延時后再給其賦值00100000,依次類推,則最后一種賦值狀態(tài)為00000001,這樣就得到了相應的現(xiàn)象。同理,要實現(xiàn)數(shù)碼燈從右向左依次點亮,從中間向兩端依次點亮,從兩端向中間依次點亮都可以采用這樣賦值的方法。在延時的程序編寫的過程中,我們采用計數(shù)時鐘脈沖個數(shù)的方式來實現(xiàn)。結合具體程序來說就是,在每個時鐘上升沿將clk_cnt變量加一,當達到499999后,就進入顯示進程做下一步的賦值操作以顯示相應接續(xù)的狀態(tài)。為了達到四種顯示模式循環(huán)切換的目的,可以將以上的所有賦值語句以順序語句的形式置于進程中,這樣在完成了一種顯示方式后就會自動進入下一種設定好的顯示模式,如此反復循環(huán)。當需要程序復位時,只需按下rst鍵即可,程序不管走都那里,執(zhí)行那條語句,只要確定復位鍵按下時,程序立刻返回到程序執(zhí)行語句的第一步,程序接著進行新的循環(huán)點亮。
第二章 子模塊
系統(tǒng)工作流程如下圖所示,在沒有外界輸入控制時,中央控制器將反復循環(huán)輸入預先設定的編碼,因此8個數(shù)碼燈將在四種顯示模式中循環(huán)顯示。若復位端被置0,則系統(tǒng)被重置,無論當前處于什么狀態(tài),都重新從最開始的狀態(tài)開始重新執(zhí)行。
2.1 分頻器
輸入一個CLK信號,通過分頻器模塊分別輸送到顯示模式模塊和顯示LED模塊 生成分頻器程序:
module FPQ(rst,clk,sel,fp);input clk,rst;input [1:0]sel;output fp;reg[1:0]temp;reg fp;always@(posedge clk or negedge rst)if(!rst)begin temp<=0;fp<=0;圖1 分頻器模塊 end else case(sel)2'b00: if(temp==2)begin fp<=1;temp<=0;end Else begin temp<=temp+1;fp<=0;end 2'b01: if(temp==3)begin fp<=1;temp<=0;end Else begin temp<=temp+1;fp<=0;end 2'b10: if(temp==1)begin fp<=1;temp<=0;end Else begin temp<=temp+1;fp<=0;end 2'b11:fp<=clk;endcase endmodule 2.2 顯示模式模塊
在實驗箱上顯示彩燈運行的模式,分別有1-4種模式生成數(shù)碼管顯示程序:
module moshi(state,led,rst,clk,);input [1:0] state;input rst,clk;output[7:0] led;reg [7:0]led;reg [2:0]temp;always@(posedge clk or negedge rst)if(!rst)temp<=0;else if(temp==3'b111)temp<=3'b000;else temp<=temp+1;always@(posedge clk)case(state)2'b00: begin case(temp)3'b000:led<=8'b10000000;3'b001:led<=8'b01000000;3'b010:led<=8'b00100000;3'b011:led<=8'b00010000;3'b100:led<=8'b00001000;3'b101:led<=8'b00000100;3'b110:led<=8'b00000010;3'b111:led<=8'b00000001;
圖2 顯示模式模塊 endcase end 2'b01: begin case(temp)3'b000:led<=8'b00000001;3'b001:led<=8'b00000010;3'b010:led<=8'b00000100;3'b011:led<=8'b00001000;3'b100:led<=8'b00010000;3'b101:led<=8'b00100000;3'b110:led<=8'b01000000;3'b111:led<=8'b10000000;endcase end 2'b10: begin case(temp)3'b000:led<=8'b10000001;3'b001:led<=8'b01000010;3'b010:led<=8'b00100100;3'b011:led<=8'b00011000;3'b100:led<=8'b10000001;3'b101:led<=8'b01000010;3'b110:led<=8'b00100100;3'b111:led<=8'b00011000;endcase end 2'b11: begin case(temp)3'b000:led<=8'b00011000;3'b001:led<=8'b00100100;3'b010:led<=8'b01000010;3'b011:led<=8'b10000001;3'b100:led<=8'b00011000;3'b101:led<=8'b00100100;3'b110:led<=8'b01000010;3'b111:led<=8'b10000001;endcase end endcase endmodule 2.3 顯示LED燈模塊
通過8個LED燈顯示4種顯示模式:1模式,從左到右逐個點亮LED;2模式,從右到左逐個點亮LED;3模式,從兩邊到中間逐個點亮LED;4模式,從中見到兩邊逐個點亮LED。生成LED燈模塊程序:
module SEG7(ms,clk,rst,seg7);input clk,rst;input [1:0]ms;output [6:0]seg7;reg[6:0]seg7;always@(posedge clk or negedge rst)if(!rst)seg7<=7'b0111111;else case(ms)2'b00:seg7<=7'b0000110;2'b01:seg7<=7'b1011011;2'b10:seg7<=7'b1001111;2'b11:seg7<=7'b1100110;endcase endmodule
圖3 顯示LED燈模塊
第三章 調(diào)試及結果
3.1頂層原理圖
原理圖如下:
圖4原理圖
根據(jù)引腳鎖定,完成實驗箱硬件電路部分的線路連接。
再次編譯,設定好編程下載方式后,將導線與相應數(shù)碼管及開關諒解好就可以進行硬件下載測試了。最后,將程序下載入芯片后,觀察硬件運行結果,即數(shù)碼燈顯示情況。經(jīng)測試,所編寫的程序完全達到了課程設計的要求,并得要了相應的結果。
第一種顯示是從左向右逐個點亮LED。第二種顯示:從右向左逐個點亮LED。第三種顯示:從兩邊向中間逐個點亮LED。第四種顯示:從中間到兩邊逐個點亮LED。在每個顯示模式之間都有一次8位led全亮,接著全滅的顯示過程,四種顯示模式通過手動切換,并帶有一位復位鍵控制系統(tǒng)的運行停止。當rst按鍵按下時,led停止顯示,保持按下前的狀態(tài),如過不按rst,八位led燈四種模式通過手動控制模式顯示。
第四章 心得體會
在這為期近一周的EDA課程設計過程中,自己受益匪淺,不僅對書本知識有了更全面更深刻的理解,還掌握了QuartusⅡ這款軟件。在以后的工作有增加了一門新技能。在整個課設過程中遇到了很多的困難,引腳的設定,頂層文件的建立,畫圖中連線的區(qū)分,都是小細節(jié),但都必須注意,否則就會影響整個設計的實驗的過程使我明白了,要想避免實驗中走彎路,首先程序要邏輯清晰,簡潔明了,避免不必要的嵌套與條用,其次要適當?shù)亟o程序加上注解文字,提高可讀性,以方便之后的程序出錯時進行查找,最后充分利用仿真軟件提供的各項編譯工具與報錯消息,按圖索驥,有方向的完成程序調(diào)試。網(wǎng)上搜集的一些資料也給予了我很大的幫助。
在這短短幾天的課設中,加深了我對EDA的理解,認識。對QuartusⅡ軟件的使用更加得心應手,在以后的學習和工作中又多了一門技能。
書本上的知識學會知識了解,必須在實踐中才能深入的掌握所學的知識,要不就是紙上談兵,不論說的多么華麗,只有在實踐中才能體現(xiàn)知識的價值,也才能考研一個人的真正能力。
這次EDA課設對我受益匪淺,謝謝在設計中幫助過我的老師和同學,團結就是力量。
第五篇:合肥工業(yè)大學EDA課程總結報告
EDA課程總結報告
一、EDA技術簡介 1.EDA技術的概念
EDA即Electronic Design Automation的縮寫,直譯為:電子設計自動化 EDA技術有狹義和廣義之分,狹義EDA技術就是以大規(guī)??删幊踢壿嬈骷樵O計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關的開發(fā)軟件,自動完成用軟件的方式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術,或稱為IES/ASIC自動設計技術。
2.EDA技術的目的和意義
EDA技術以規(guī)模巨大的可編程邏輯器件(PLD)作為進行電子設計的載體,硬件描述語言(HDL)作為系統(tǒng)邏輯描述的一種主要 表達方式,通過它來完成對系統(tǒng)邏輯的描述,再依托具有強大功能的計算機,通過運用與 EDA 技術相應的工具軟件,完成電子系統(tǒng)的 自動化設計。這種技術的應用使設計人員得以 高效快速地完成設計任務,使設計所用周期時間得以縮短,減少了設計所需的投入成本。20 世紀70年代由于計算機及集成電路的急劇發(fā)展,使電子技術受到劇烈的沖擊,其更新?lián)Q代的周期不斷縮減,而專用的集成電路卻不斷提升其設計難度,致使兩者之間的矛盾逐漸擴大,這就使得電子技術要不斷地更新,從而滿足電子產(chǎn)品生產(chǎn)的需要,經(jīng)過近幾十年的發(fā)展,電子設計技術大致經(jīng)歷了三個主要的發(fā)展階段,從初期的 CAD 階段到 CAE 階段再到現(xiàn)在的 EDA 階段,電子設計技術取得了飛躍性的發(fā)展。EDA技術最特別之處在于它的設計流程,與傳統(tǒng)自下而上的電子設計流程恰恰相反,EDA技術選擇使用自上而下的設計流程,它從電子系統(tǒng)設計的整體出發(fā),在進行設計之前就將系統(tǒng)中各部分之間的結構規(guī)劃好,在對方框圖進行劃分時完成相關的仿真和糾錯工作,使用 HDL 對高層次邏輯進行描述,并運用綜合優(yōu)化方法完成所有有關工作,然后通過使用 EDA 技術,可以幫助用戶實現(xiàn)對系統(tǒng)中任意一項硬件功能進行系統(tǒng)描述,最后再利用現(xiàn)場可編程門陣列(FPGA)或復雜可編程邏輯器 件(CPLD)來實現(xiàn)電子系統(tǒng)設計的結果。這種先進的電子技術有效地解決了傳統(tǒng)電子設計技術的弊端,減少了實際應用中出現(xiàn)故障的幾率,從而使設計效率得以大幅度提升。
二、EDA技術發(fā)展現(xiàn)狀
EDA 技術發(fā)展迅猛, 逐漸在教學、科研、產(chǎn)品設計與制造等各方面都發(fā)揮著巨大的作用。
在教學方面: 幾乎所有理工科(特別是電子信息)類的高校都開設了EDA 課程。主要是讓學生了解EDA 的基本原理和基本概念、掌握用VHDL 描述系統(tǒng)邏輯的方法、使用EDA 工具進行電子電路課程的模擬仿真實驗。如實驗教學、課程設計、畢業(yè)設計、設計競賽等均可借助CPLD/ FPGA 器件, 使實驗設備或設計出的電子系統(tǒng)具有高可靠性, 又經(jīng)濟、快速、容易實現(xiàn)、修改便利, 同時可大大提高學生的實踐動手能力、創(chuàng)新能力和計算機應用能力。
在科研方面: 主要利用電路仿真工具進行電路設計與仿真;利用虛擬儀器進行產(chǎn)品調(diào)試;將CPLD/ FPGA 器件的開發(fā)應用到儀器設備中, CPLD/ FPGA 可直接應用于小批量產(chǎn)品的芯片或作為大批量產(chǎn)品的芯片前期開發(fā)。傳統(tǒng)機電產(chǎn)品的升級換代和技術改造, CPLD/ FPGA 的應用可提高傳統(tǒng)產(chǎn)品的性能, 縮小體積, 提高技術含量和產(chǎn)品的附加值。作為高等院校有關專業(yè)的學生和廣大的電子工程師了解和掌握這一先進技術是勢在必行, 這不僅是提高設計效率的需要, 更是時代發(fā)展的需求, 只有掌握了EDA 技術才有能力參與世界電子工業(yè)市場的競爭, 才能生存與發(fā)展。隨著科技的進步, 電子產(chǎn)品的更新日新月異, EDA 技術作為電子產(chǎn)品開發(fā)研制的源動力, 已成為現(xiàn)代電子設計的核心。所以發(fā)展EDA 技術將是電子設計領域和電子產(chǎn)業(yè)界的一場重大的技術革命, 同時也對電類課程的教學和科研提出了更深更高的要求。
在產(chǎn)品設計與制造方面: 從高性能的微處理器、數(shù)字信號處理器一直到彩電、音響和電子玩具電路等, EDA 技術不單是應用于前期的計算機模擬仿真、產(chǎn)品調(diào)試, 而且也在PCB 的制作、電子設備的研制與生產(chǎn)、電路板的焊接、制作過程等有重要作用??梢哉fEDA 技術已經(jīng)成為電子工業(yè)領域不可缺少的技術支持。
進入21 世紀后,電子技術全方位納入EDA 領域,EDA使得電子領域各學科的界限更加模糊,更加互為包容,突出表現(xiàn)在以下幾個方面: 使電子設計成果以自主知識產(chǎn)權的方式得以明確表達和確認成為可能;基于EDA 工具的ASIC 設計標準單元已涵蓋大規(guī)模電子系統(tǒng)及IP 核模塊;軟硬件IP 核在電子行業(yè)的產(chǎn)業(yè)領域、技術領域和設計應用領域得到進一步確認;SOC(System-on-Chip)高效低成本設計技術的成熟。隨著半導體技術、集成技術和計算機技術的迅猛發(fā)展, 電子系統(tǒng)的設計方法和設計手段都發(fā)生了很大的變化。
傳統(tǒng)的固定功能集成塊加連線的設計方法正逐步地退出歷史舞臺, 而基于芯片的設計方法正成為現(xiàn)代電子系統(tǒng)設計的主流。
三、器件的封裝
常用的各種電路元器件以及IC芯片采用的封裝形式:
元件名稱
元件符號
封裝屬性
電阻 RES1-RES4 AXIAL系列 從AXIAL-0.3到AXIAL-1.0,后綴數(shù)字代表兩焊盤的間距,單位為Kmil.瓷片電容 RAD0.1-RAD0.3。其中0.1-0.3指電容大小,一般用RAD0.1 電解電容: RB.1/.2-RB.4/.8 其中.1/.2-.4/.8指電容大小。一般<100uF 用RB.1/.2,100uF-470uF用RB.2/.4,>470uF用RB.3/.6 電位器 POT1和POT2 VR-1到VR-5.普通二極管 DIODE DIODE0.4和DIODE 0.7 肖特基二極管 DIODE SCHOTTKY DIODE0.4和DIODE 0.7 隧道二極管 DUIDE TUNNEL DIODE0.4和DIODE 0.7 變?nèi)荻O管 DIODE VARCTOR DIODE0.4和DIODE 0.7 穩(wěn)壓二極管 ZENER1~3 DIODE0.4和DIODE 0.7 發(fā)光二極管 RB.1/.2 三極管 NPN,NPN1,PNP,PNP1 TO18、TO-92A(普通三極管)TO-220(大功率三極管)TO3(大功率達林頓管)
N溝道結型場效應管 JFET N TO18 P溝道結型場效應管 JFET P TO18 N溝道增強型管 MOSFET N TO18 P溝道增強型管 MOSFET P TO18 整流橋 BRIDGE1和BRIDGE2 D系列,如D-44,D-37,D-46等。單排多針插座 CON CON系列,從CON1到CON60,引腳封裝形式為SIP系列,從SIP-2到SIP-20。
.雙列直插元件
根據(jù)功能的不同而不同
DIP系列。
串并口類原理圖 DB DB系列,引腳封裝形式為DB和MD系列 電源穩(wěn)壓塊78系列 7805,7812 TO-126和TO-126 電源穩(wěn)壓塊79系列 7905,7912 TO-126和TO-126
四、PCB板布線
PCB板布線對電路的影響:
1.我們要注意貼片器件(電阻電容)與芯片和其余器件的最小距離芯片:一般我們定義分立器件和IC芯片的距離0.5~0.7mm,特殊的地方可能因為夾具配置的不同而改變
2.對于分立直插的器件
一般的電阻如果為分立直插的比貼片的距離略大一般在1~3mm之間。注意保持足夠的間距(因為加工的麻煩,所以直插的基本不會用)
3.對于IC的去耦電容的擺放
每個IC的電源端口附近都需要擺放去耦電容,且位置盡可能靠近IC的電源口,當一個芯片有多個電源口的時候,每個口都要布置去耦電容。
4.在邊沿附近的分立器件
由于一般都是用拼板來做PCB,因此在邊沿附近的器件需要符合兩個條件,第一就是與切割方向平行(使器件的應力均勻),第二就是在一定距離之內(nèi)不能布置器件(防止板子切割的時候損壞元器件)5.如果相鄰的焊盤需要相連,首先確認在外面進行連接,防止連成一團造成橋接,同時注意此時的銅線的寬度。
6.焊盤如果在鋪通區(qū)域內(nèi)需要考慮熱焊盤(必須能夠承載足夠的電流),如果引線比直插器件的焊盤小的話需要加淚滴(角度小于45度),同樣適用于直插連接器的引腳。
7.元件焊盤兩邊的引線寬度要一致,如果時間焊盤和電極大小有差距,要注意是否會出現(xiàn)短路的現(xiàn)象,最后要注意保留未使用引腳的焊盤,并且正確接地或者接電源。
8.注意通孔最好不要打在焊盤上。
9.另外就是要注意的是引線不能和板邊過近,也不允許在板邊鋪銅(包括定位孔附近區(qū)域)
10.大電容:首先要考慮電容的環(huán)境溫度是否符合要求,其次要使電容盡可能的遠離發(fā)熱區(qū)域
五、總結
心得感想:
在開始上這門課時,我對它有一點興趣,因為當我用自己所學的知識做出一些東西時我覺得特別開心。通過對這門課程相關理論的學習,我掌握了EDA的一些基本的的知識,用自己學到的東西盡可能的去完成老師布置的實驗。通過實驗使我更加深刻的認識和理解了EDA。不過在做實驗的時候帶來的不僅僅只是收獲,也會有很多的困難。例如,當在畫實驗原理圖的時候需要一個元件,但是怎么找都找不到這個元件。做實驗的時候我也深刻的感覺到團結的力量以及在老師的重要性,有很多的時候出現(xiàn)問題了不要自己硬抗著,而是應該多問問身邊的人,多問問老師,因為老師的指導會使你的問題馬上得以解決而且你也會理解,當下次出現(xiàn)同樣的錯誤時,你會很快的解決。
對這門課程的最大收獲除了學習到了知識以外,更重要的是讓我明白了一個道理:只要全身心的投入到一件事中,并且要有持之以恒的決心,就一定會有收獲。有的人覺得自己做不出來,就網(wǎng)上搜一個了事,但是,放棄一次黑暗中摸索的經(jīng)歷,就放棄了一次成長的機會!如果你付出了,沒有收獲。那只能說,是付出的還不夠多。
在學習這門課的時候我覺得實驗真的很重要,而且只有經(jīng)過實驗我們才能更好的掌握所學的理論知識,才能更好的應用它們。