電子設(shè)計自動化中的硬件描述語言
出處:davidlin 發(fā)布于:2007-04-29 10:28:04
冼凱儀 |
(佛山科學(xué)技術(shù)學(xué)院,廣東 佛山 528000) |
| 摘要:通過一個設(shè)計例子介紹了VHDL語言的應(yīng)用,說明了實現(xiàn)電子電路的電子設(shè)計自動化(EDA)過程。 關(guān)鍵詞:VHDL;設(shè)計程序;實例 中圖分類號:TP312 文獻標(biāo)識碼:A 文章編號:1003-353X(2003)04-0076-03 |
| 1 引言 VHDL是超高速集成電路硬件描述語言。1993 年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本(簡稱93版)?,F(xiàn)在,VHDL作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。 VHDL具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和門級三個不同層次的設(shè)計,這樣設(shè)計師在Top_Down設(shè)計的全過程中均可方便地使用同一種語言。VHDL設(shè)計并不十分關(guān)心一個具體邏輯是靠何種方式實現(xiàn)的,設(shè)計人員不需通過門級原理圖描述電路,而是針對目標(biāo)進行功能描述,把開發(fā)者的精力集中到邏輯所實現(xiàn)的功能上,將設(shè)計人員的工作重心提高到了系統(tǒng)功能的實現(xiàn)與調(diào)試上,只需花較少的精力用于物理實現(xiàn)。由于擺脫了電路細(xì)節(jié)的束縛,設(shè)計人員可以專心于設(shè)計方案和構(gòu)思,使得設(shè)計工作省時省力,加快了設(shè)計周期。 硬件描述語言(VHDL)是一種用于設(shè)計硬件電子系統(tǒng)的計算機語言,它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)合和連接形式,與傳統(tǒng)的門級描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計。例如一個32位的加法器,利用圖形輸入500至1000個門,而利用VHDL語言只需要書寫一行 “A=B+C”即可。而且VHDL語言可讀性強,易于修改和發(fā)現(xiàn)錯誤。 2 VHDL的主要特點 (1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力。強大的行為描述能力避開了具體的器件結(jié)構(gòu),是在邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。VHDL的寬范圍描述能力使它成為高層次設(shè)計的,從而決定了它成為系統(tǒng)設(shè)計領(lǐng)域的硬件描述語言,并可進行系統(tǒng)的早期仿真以保證設(shè)計的正確性。 (2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)功能的可行性,隨時可對設(shè)計進行仿真模擬。 (3)VHDL語句的行為描述能力和程序結(jié)構(gòu),決定了它具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能。 (4)對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動地把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。 (5)VHDL對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理終設(shè)計實現(xiàn)的目標(biāo)器件是什么,而進行獨立的設(shè)計。 (6)用VHDL語言編寫的源程序便于文檔管理,用源代碼描述來進行復(fù)雜控制邏輯的設(shè)計,既靈活方便,又便于設(shè)計結(jié)果的交流、保存和重用。 (7)VHDL的設(shè)計不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。 (8)VHDL是一個標(biāo)準(zhǔn)語言,為眾多的EDA 廠商支持,因此移植性好。 3 VHDL的應(yīng)用實例 本例子介紹的通信方式是PC機通過串行口的 RXD和TXD直接與單片機89C2051通信,然后單片機再與目標(biāo)器件FPGA通信,這是一種實用的通信方式。設(shè)計的程序含與單片機通信的邏輯設(shè)計文件,其中應(yīng)用了與單片機P1端口通信的雙向端口 DINOUT 的 INOUT 模式,然后設(shè)計了 單片機的通信文件 FSEND.ASM 和 PC 機的通信文件FTEST.C及FTEST.EXE。本設(shè)計的功能是將FPGA在實驗板上測得的頻率 (頻率范圍1Hz~50MHz)通過單片機89C2051送入PC機,并在屏幕上顯示;同時將完成PC機、單片機和FPGA的雙向通信的功能。 文件名:FREQTEST.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY FREQTEST IS PORT (CLK, FSIN, P37 : IN STD_LOGIC; DINOUT : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0); SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0); DATAOUT : OUT STD_LOGIC_VECTOR(11 DOWNTO 0) ); END FREQTEST; ARCHITECTURE struc OF FREQTEST IS COMPONENT TESTCTL CLR_CNT : OUT STD_LOGIC; Load : OUT STD_LOGIC ); END COMPONENT; COMPONENT CNT10 PORT(CLK:IN STD_LOGIC; CLR : IN STD_LOGIC; ENA : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT : OUT STD_LOGIC ); END COMPONENT; COMPONET REG32B PORT(Load : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT; SIGNAL TSTEN1, CLR_CNT1, Load1, K1,K2,K3 : STK_LOGIC; SIGNAL DTO1, DOUT : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL CARRY_OUT1 : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL CLOCK1,CLOCK2,CLOCK3:STD_LOGIC; SIGNAL DATA : STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL DAT : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN U1:TESTCTL PORT MAP( CLK => CLK1, TSTEN => TSTEN1, CLR_CNT => CLR_CNT1, Load => Load1); U2 : REG32B PORT MAP( Load => Load1, DIN => DTO1,DOUT => DOUT); U3 : CNT10 PORT MAP( CLK => FSIN, CLR => CLR_CNT1,ENA => TSTEN1, CQ => DTO1(3 DOWNTO 0), CARRY_OUT => CARRY_OUT1(0) ); U4 : CNT10 PORT MAP( CLK => CARRY_OUT1(0), CLR => CLR_CNT1, ENA =>TSTEN1, CQ =>DTO1(7 DOWNTO 4), CARRY_OUT => CARRY_OUT1(1) ); U5 : CNT10 PORT MAP( CLK => CARRY_OUT1 ENA=>TSTEN1,CQ => DTO1(11 DOWNTO 8), CARRY_OUT => CARRY_OUT1(2) ); U6 : CNT10 PORT MAP( CLK => CARRY_OUT1 ENA=>TSTEN1,CQ =>DTO1(15 DOWNTO 12), CARRY_OUT => CARRY_OUT1(3) ); U7 : CNT10 PORT MAP( CLK => CARRY_OUT1 ENA=>TSTEN1,CQ=>DTO1(19 DOWNTO 16), CARRY_OUT => CARRY_OUT1(4) ); U8 : CNT10 PORT MAP( CLK => CARRY_OUT1 (4), CLR => CLR_CNT1,, ENA=>TSTEN1,CQ =>DTO1(23 DOWNTO 20), CARRY_OUT => CARRY_OUT1(5) ); U9 : CNT10 PORT MAP( CLK => CARRY_OUT1 (5), CLR => CLR_CNT1, ENA=>TSTEN1,CQ=>DTO1(27 DOWNTO 24), CARRY_OUT => CARRY_OUT1(6) ); U10: CNT10 PORT MAP( CLK => CARRY_OUT1 (6), CLR => CLR_CNT1, ENA=>TSTEN1,CQ=>DTO1(31 DOWNTO 28)); Sch : PROCESS(SEL) BEGIN CASE SEL IS WHEN ''000'' => DINOUT <= DOUT(7 DOWNTO 0); K1 <='0' ; K2 <='0'; K3 <='0'; WHEN ''001'' => DINOUT <= DOUT(17 DOWNTO 8); K1 <='0'; K2 <='0'; K3 <='0'; WHEN ''010'' => DINOUT <= DOUT(23 DOWNTO 16); K1 <='0'; K2 <='0'; K3 <='0'; WHEN ''011'' => DINOUT <= DOUT(31 DOWNTO 24); K1 <='0'; K2 <='0'; K3 <='0'; WHEN ''100'' => DAT <= DINOUT; K1 <='1' ; WHEN ''101'' => DAT <= DINOUT; K2 <='1' ; WHEN ''110'' => DAT <= DINOUT; K3 <='1' ; WHEN OTHERS=>K1<= '0' ; K2 <='0' ; K3 <='0' ; END CASE; END PROCESS; CLOCK1 <=K1 AND P37 ; CLOCK2 <=K2 AND P37 ; CLOCK3 <=K3 AND P37; KK1: PROCESS(CLOCK1) IF CLOCK1' EVENT AND CLOCK1 ='1' THEN DATA(3 DOWNTO 0)<=DAT(7 DOWNTO 4); END IF; END PROCESS; KK2: PROCESS(CLOCK2) BEGIN IF CLOCK2' EVENT AND CLOCK2 = '1' THEN DATA(7 DOWNTO 4)<=DAT(7 DOWNTO 4); END IF; END PROCESS; KK3: PROCESS(CLOCK3) BEGIN IF CLOCK3' EVENT AND CLOCK3 = '1' THEN DATA(11 DOWNTO 8)<= DAT(7 DOWNTO 4); END IF; END PROCESS; DATAOUT <= DATA ; END struc; 運用EDA開發(fā)系統(tǒng)GW48-CK 進行電路調(diào)試:①電路結(jié)構(gòu)選N0.5;②引腳鎖定為: P37→25;SEL(0..2)→23,22,21;DINOUT(0..7)→39,47, 48,49,50,51,52,53;③設(shè)目錄sendfre 中的FREQTEST為工程文件,向目標(biāo)芯片; ④按模式選擇鍵至“5”;⑤在純DOS下執(zhí)行sendfre 目錄內(nèi)mcucom目錄中的通信文件ftest.exe,再按動實驗板的“系統(tǒng)復(fù)位鍵”數(shù)秒后, PC機屏幕上將顯示FPGA所測得的頻率值;⑥用PC機鍵盤輸入幾位數(shù)字,按回車鍵,屏幕上將顯示測得的頻率,同時實驗板的數(shù)碼管將顯示PC機鍵盤輸入的數(shù)字。 4 小結(jié) EDA是以計算機的硬件和軟件為基本工作平臺集數(shù)據(jù)庫、圖形學(xué)、圖論與拓?fù)溥壿?、計算?shù)學(xué)、優(yōu)化理論等多學(xué)科成果研制的計算機輔助設(shè)計通用軟件包。EDA技術(shù)是電子技術(shù)發(fā)展的趨勢。利用EDA工具不僅可以代替設(shè)計者完成電子系統(tǒng)設(shè)計中的大部分工作而且對提高我國電子產(chǎn)品設(shè)計制造水平、提高產(chǎn)品質(zhì)量、增強產(chǎn)品競爭力都有十分重要的意義。 |
本文摘自《半導(dǎo)體技術(shù)》 |
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機技術(shù)特性與嵌入式開發(fā)實踐指南2026/1/7 10:00:02
- 單片機(MCU)與數(shù)字信號處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級DSP信號處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機專用SoC單片機2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴充定義2025/10/27 13:59:22
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









