前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇vhdl語言范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關鍵詞:vhdl;FPGA;數(shù)字搶答器
引言
VHDL的英文全名Very-High-Speed Integrated Circuit Hardware Description Language,被IEEE和美國國防部確認為標準硬件描述語言 。它被公認有眾多優(yōu)點,如設計靈活、支持廣泛、易于修改,獨立于器件設計。
VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風格以及語法是十分類似于一般的計算機高級語言
搶答器在各種知識競賽和娛樂活動有著非常廣泛的應用,實用功能強大的VHDL語言來發(fā)開搶答器具有方便快捷,穩(wěn)定可靠的特點,非常適合。
1、設計要求
1.1四人參加智力競賽;
1.2當按下選手面前的搶答按鈕時,相應的燈亮,且主持人處的指示燈亮,指示已有人申請回答問題;
1.3顯示屏上出現(xiàn)選手的號碼, 并且開始100s倒計時,若選手在100s內(nèi)還沒有給出答案,喇叭聲將響起,提示該選手回答失??;
1.4一輪搶答完成后,主持人按動復位鍵,開始下一輪回答
2、系統(tǒng)的VHDL設計
本文采用最大的PLD生產(chǎn)廠商altera公司的可編程邏輯器件,芯片型號為FLEX 84-4。
本文開發(fā)軟件為MAX+PLUSII,總的電路系統(tǒng)圖如下:
下文是該數(shù)字電路系統(tǒng)的關鍵子模塊及VHDL代碼:
模塊一:實現(xiàn)選手按鍵信號的或操作c1
模塊二:在每次電路時鐘信號clk的上升沿實現(xiàn)“q1
模塊三:當cp信號上升沿時,q端置高電平,代表其中有選手了回答。當主持人按下clr按鈕將其置零時,q端置低電平,系統(tǒng)復位。部分代碼如下:
if clr='0' then --清零
q
elsif cp'event and cp='1' then
q
模塊四:實現(xiàn)從選手按鍵號碼到對應二進制數(shù)的轉換,運用VHDL的”case”語句編程,部分代碼如下:
tmp:=d1&d2&d3&d4; case tmp is
when""0111""=>qq
when""1101""=>qq
模塊五:實現(xiàn)接收到搶答信號后的99s倒計時,倒計時時間到則發(fā)出一個發(fā)聲命令。 主要運用了循環(huán)思想編程,部分代碼如下:
if clk'event and clk='1'then
if en='1'then --開始計數(shù)
if ll=0 and hh=0 then
sound
elsif ll=0 then
ll:=""1001"";
hh:=hh-1;
else
ll:=ll-1;
end if;
else --en=0,主持人按下按鈕后
sound
hh:=""1001"";
ll:=""1001"";
end if; end if;
h
模塊六(連接模塊):此模塊實現(xiàn)以上各模塊的引腳通訊,使它們配合工作,達到預期的電路功能。編程使用了VHDL的”component “功能,簡便易懂,穩(wěn)定可靠,部分代碼如下:
signal one,two,three,four,five,six,seven,eight:std_logic;
begin
u1:a port map(d1,d2,d3,d4,one);
u2:feng port map(one,host,two);
u3:lockb port map(d1,d2,d3,d4,two,host,three,four,five,six,seven);
u4:change port map(three,four,five,six,dis);
u5:count port map(clk,seven,t1,t2,eight);
u6:b port map(seven,eight,sound);
f1
f2
f3
f4
end lianjie_arc;
3、結論以及結果說明
仿真圖(總系統(tǒng)):
說明:1:四人(d1,d2,d3,d4)參加智力競賽;
2:當按下選手面前的搶答按鈕時(輸入高電平),相應的燈亮(f1,f2,f3,f4輸出高電平),且主持人處的指示燈亮,指示已有人申請回答問題;
3:顯示屏上出現(xiàn)選手的號碼(dis輸出對應數(shù)字), 并且開始100s倒計時,若選手在100s內(nèi)還沒有給出答案,喇叭聲將響起(sound輸出高電平),提示該選手回答失??;
4:一輪搶答完成后,主持人按動復位鍵(host輸入低電平),所有數(shù)都清零,開始下一輪回答
符合設計要求。
參考文獻:
[1]羅苑棠.CPLD/FPGA常用模塊與綜合系統(tǒng)設計實例精講[M].北京:電子工業(yè)出版社,2007.
關鍵詞:VHDL;CPLDCPU
中圖分類號:TP312 文獻標識碼:B文章編號:1009-9166(2008)33(c)-0049-01
CPU因其在各大系統(tǒng)中處于核心位置而在硬件電路設計中備受關注,但因其結構復雜,所涉專業(yè)背景多而不被一般人掌握。CPU設計極具代表性,雖發(fā)展日新月異,但就其基本原理而言大同小異。VHDL語言是符合IEEE標準的當今世界最為流行的硬件描述語言。下文通過對CPU結構模型的簡化,依托綜合實驗平臺,所描述的簡易4位CPU,能實現(xiàn)加、減、乘、移位等操作。
一、系統(tǒng)功能設計。精簡CPU結構模型,運用Altera公司的MAX7000s系列芯片,依托綜合實驗板,運用狀態(tài)機實現(xiàn)了微機指令系統(tǒng)。其指令的分析和執(zhí)行過程與微機中的CPU相似,能完成簡單的算數(shù)運算和邏輯運算。
二、設計與實現(xiàn)。(一)、簡易4位CPU的基本結構單元。1)程序計數(shù)器;2)輸入與MAR(Memory Access Register);3)16×8RAM;4)指令寄存器;5)累加器(Accumulator);6)二進制顯示(Binary Display);7)B寄存器(B Register);8)輸出寄存器(Output Register);9)運算器(Calculater)
(二)、尋址方式介紹。本設計中的4位CPU指令共有8個且可分為兩種類型,如下表:
對狀態(tài)機的主要部分的描述和注釋:IF(clk'event AND clk='0')THEN--時鐘下降沿觸發(fā)
IF(run='1')THEN--如果CPU運行信號為
CASE pstate IS
WHEN s0=>nstate
f1:=true;--標志f1置true
IF(breg="00000000")THEN--如果B寄存器值為0
mar
END IF;
WHEN s1=>nstate
IF(breg="00000000")THEN--如果B寄存器值為0
IF(flag=true)THEN --標志為true
pc
flag:=false;--標志flag置false
END IF;--如果不滿足條件,是因為正執(zhí)行多次移位的指令
END IF;--只有移位完才能執(zhí)行下一條指令,所以程序計數(shù)器數(shù)值不變
(四)、簡易4位CPU功能仿真(加法)。以下是計算10+15+17-20=1C(十六進制加減計算)的VHDL源程序,這部分將寫入ROM中:ARCHITECTURE rtl OF ROM16x8_1 IS
BEGIN
dataout
"00011010" WHEN (address="0001" AND ce='0') ELSE
"00011011" WHEN (address="0010" AND ce='0') ELSE
"00101100" WHEN (address="0011" AND ce='0') ELSE
"11100000" WHEN (address="0100" AND ce='0') ELSE
"11110000" WHEN (address="0101" AND ce='0') ELSE
"00010000" WHEN (address="1001" AND ce='0') ELSE
"00010101" WHEN (address="1010" AND ce='0') ELSE
"00010111" WHEn (address="1011" AND ce='0') ELSE
"00100000" WHEN (address="1100" AND ce='0') ELSE
"00000000";
END ARCHITECTURE rtl;
10+15+17-20=1C(十六進制加減計算)仿真波形圖如下:
總結:采用自頂向下的設計方法,將復雜的CPU有效劃分位狀態(tài)機模型再進行設計和編程,并用QuartusII軟件進行了仿真,最終在MAX7000s綜合電路板上驗證通過,很好地模擬了CPU的工作過程。但此設計亦有不足之處:1.沒有直接實現(xiàn)除法;2.算數(shù)沒有優(yōu)先級。另外,綜合開發(fā)板上的MAX7000s系列性能過低也是制約設計復雜的數(shù)字電路障礙之一。
作者單位:北京郵電大學電信工程學院
作者簡介:吉祥(1986年-),男,漢族,上海長寧區(qū)人,北京郵電大學 電信工程學院2005級電子信息工程本科生。
參考文獻:
[1]張亦華,延明.數(shù)字電路EDA入門――VHDL程序實例集[M].北京.北京郵電大學出版社.2002
[2]姜立東.VHDL語言程序設計及應用[M].北京:北京郵電大學出版社.2004
關鍵詞:步進電機;FPGA;控制
中圖分類號:V233.7+3文獻標識碼:A文章編號:1009-3044(2009)25-7300-03
Based on VHDL the Development of Stepper Motor Controller
HAN Tuan-jun
(Shaanxi University of Technology, Hanzhong 723000, China)
Abstract: In this paper, a divided driving circuit for stepping motor controlled by FPGA is put forward, based on the analysis of the principle of stepping motor divided driving. In the design,hardware description language(VHDL) is used to describe the functional module of the stepper motor controller. Through compiling and simulation under the MAX+plusII, we can complete the design of the stepper motor controller.
Key words: stepper motor controller;FPGA; control
步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構,它結構簡單、工作可靠,能將數(shù)字的電脈沖輸入直接轉換為模擬的輸出軸運動。步進電機作為執(zhí)行元件,是機電一體化的關鍵產(chǎn)品之一,廣泛應用于各種自動化控制系統(tǒng)中。
1 步進電機控制器的總體設計
采用FPGA器件對步進電機進行控制,利用FPGA中的嵌入式EAB,可以構成存放電機各相電流所需的控制波形數(shù)據(jù)。利用FPGA設計的數(shù)字比較器可以同步產(chǎn)生多路PWM電流波形,對多相步進電機進行靈活控制。通過改變控制波形的數(shù)據(jù)、增加計數(shù)器的位數(shù),可以提高計數(shù)器的精度,從而可以對步進電機轉角進行任意角度細分,實現(xiàn)步進電機轉角的精確控制。此次設計采用的是四相步進電機,利用FPGA器件,通過VHDL編程仿真,對電機進行步距角細分,轉速及其正反轉控制。其細分控制框圖如圖1所示。
2 設計原理
2.1 步進電機的工作原理
該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖2是該四相反應式步進電機工作原理示意圖。
開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。當開關SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。
2.2 步進電機控制器的設計原理
2.2.1 步進電機細分驅動原理
步進電機的驅動是靠給步進電機的各相勵磁繞組輪流通以電流,實現(xiàn)步進電機內(nèi)部磁場合成方向的變化來使步進電機轉動的。設TA、TB、TC、TD為步進電機A、B、C、D四相勵磁繞組分別通電時產(chǎn)生的磁場矢量,TAB、TBC、TCD、TDA為步進電機中AB、BC、CD、DA兩相同時通電產(chǎn)生的合成磁場矢量。當給步進電機的A、B、C、D四相輪流通電時,步進電機的內(nèi)部磁場從TA-TB-TC-TD,即磁場產(chǎn)生了旋轉。一般情況下,當步進電機內(nèi)部磁場變化一周(360°)時,電機的轉子轉過以個齒距,因此,步進電機的步距角θB可表示為:
θB=θM/Nr
式中Nr為步進電機的轉子齒數(shù);θM為步進電機運動時兩相鄰穩(wěn)定磁場間的夾角。θM與電機的相數(shù)(M)和電機的運行拍數(shù)有關。當電機以單四拍方式運動時,θM=90°;當電機以四相八拍的方式運行時,θM=45°。和單四拍方式相比,θM和θB都減小了一半,實現(xiàn)了步距角的二細分,但是在通常的步進電機驅動線路中,由于通過各相繞組的電流是個開關量,即繞組中的電流只有零和某一額定值兩種狀態(tài),相應的各相繞組產(chǎn)生的磁場也是個開關量,只能通過各相的通電組合來減小θM和θB。
但是,這樣可達到的細分數(shù)很有限。以四相反應式步進電機為例,最多只能實現(xiàn)二細分,對于相數(shù)較多的步進電機可達到的細分數(shù)稍大一些,但是也很有限。因此要使可達到的細分數(shù)較大,就必須能控制步進電機各相勵磁繞組中的電流,使其按階梯上升或下降,即在零到最大值相電流之間能喲多個穩(wěn)定的中間電流狀態(tài),相應的磁場矢量幅值也就存在多個中間狀態(tài),這樣,相鄰兩相或多相的合成磁場的方向也將由多個中間狀態(tài)。四相步進電機八細分時的各相電流以1/4的步距上升或下降的,在兩相TA、TB中間插入七個穩(wěn)定的中間狀態(tài),原來一步所轉過的角度θM將由八步完成,實現(xiàn)步距角的八細分。
2.2.2 步距細分的系統(tǒng)構成
該系統(tǒng)是由PWM計數(shù)器、ROM地址計數(shù)器、PWM波形ROM存儲器、比較器、功放電路等組成。其中,PWM計數(shù)器在脈寬時鐘作用下遞增計數(shù),產(chǎn)生階梯型上升的周期性的鋸齒波,同時加載到個數(shù)字比較器的一端;PWM波形ROM輸出的數(shù)據(jù)A[3..0]、B[3..0]、C[3..0]、D[3..0]分別加載到各數(shù)字比較器的另一端,當PWM計數(shù)器的值小于波形ROM輸出數(shù)值時,比較其輸出低電平;當PWM計數(shù)器的計數(shù)值大于波形ROM輸出數(shù)值時,比較其輸出高電平,由此可輸出周期性的PWM波形。根據(jù)步進電機八細分電流波形的要求,將各個時刻細分電流波形所對應的數(shù)值存放于波形ROM中,波形ROM的地址由地址計數(shù)器產(chǎn)生。通過對地址計數(shù)器進行控制,可以改變步進電機的旋轉方向、轉動速度、工作/停滯狀態(tài)。FPGA產(chǎn)生的PWM信號控制各功率驅動電路的導通和關斷,其中PWM信號隨ROM數(shù)據(jù)而變化,改變輸出信號的占空比,達到限流及細分控制,最終使電機繞組呈現(xiàn)階梯型變化,從而實現(xiàn)步距細分的目的。
輸出細分電流信號采用FPGA中ROM查表法,他是通過在不同地址單元內(nèi)寫入不同的PWM數(shù)據(jù),用地址選擇來實現(xiàn)不同通電方式下的可變步距細分。
3 步進電機的仿真波形及分析
u_d為步進電機正/反轉控制,clr為步進電機的工作/停止控制,clk2為步進電機轉動速度控制,Y0,Y1,Y2,Y3分別對應步進電機的A,B,C,D四相電流,s端為選擇細分控制。
1)當clr端為1時步進電機控制器停止工作,其工作時序仿真波形如圖3所示。
通過仿真波形可以看出:當clr=1時,控制器的控制器的各個端口都停留在初始狀態(tài),這表示控制器處于停止狀態(tài)。
2)當clr端口為0時步進電機開始工作。
A:當u_d=1時步進電機正轉,設定clk周期為50ns,clk2周期為400ns。由s端控制步進電機是否進行細分操作的控制,s=1時表示進行細分操作,s=0時表示步進電機不進行細分操作。其仿真波形圖分別如圖4,圖5。
B:當u_d=0時步進電機反轉,s=1時表示步進電機進行細分操作,s=0時表示步進電機不進行細分操作。設定clk周期為50ns,clk2周期為400ns。其仿真波形圖分別如圖6,圖7。
通過對圖4、圖5的分析不難理解圖6、圖7的工作過程。
圖6由于u_d=0,s=1,步進電機進行反向細分運動,即由A-AD-D-DC的運動。
圖7進行的是無細分反向運動,即A-D-C-B-A的運動過程。其輸出數(shù)據(jù)X[3..0]由0011B-1001B-1100B-0110B進行變化。
C:當改變clk2時可以控制步進電機轉動的速度,設定clk為50ns,u_d=1,clr=0,s=0,
① 令clk2為400ns其仿真波形如圖8。
② 令clk2為200ns時其仿真波形如圖9。
由以上兩個圖對比可知通過減小clk2的周期,步進電機控制器的運行速度明顯加快了,同樣可以改變clk2的周期使步進電機控制器的運行速度減慢。通過以上對步進電機的仿真的分析,該設計實現(xiàn)了對步進電機的各種基本控制。
參考文獻:
[1] 潘松,黃繼民. EDA技術實用教程[M]. 北京:科學出版社,2005.
[2] 高鐘毓. 機電控制工程[M]. 北京:清華大學出版社,2002.
[3] 劉寶延,程樹康. 步進電機及驅動控制系統(tǒng)[M]. 哈爾濱:哈爾濱工業(yè)大學出版社,1997.
[4] 王季秩,陳景華.電機實用技術[M]. 上海:上??萍技夹g出版社,1997.
關鍵詞 肝炎 乙型 慢性 肝炎e抗原 乙型 DNA ALT
慢性乙型肝炎包括HBeAg陽性與HBeAg陰性慢性乙型肝炎。近年臨床和基礎研究表明,HBeAg陰性慢性乙型肝炎在慢性乙型肝炎中所占相對比例逐年上升[1,2],約占我國慢性乙型肝炎總數(shù)的1/3[3]。作為慢性乙型肝炎中的一個特殊亞群,其在流行病學、發(fā)病機制、自然病程、臨床表現(xiàn)、抗病毒治療方案、預后等方面與HBeAg陽性慢性乙型肝炎不同[4],已成為肝炎研究中的熱點之一。本研究通過對HBeAg陰性與HBeAg陽性慢性乙型肝炎患者血清HBV-DNA病毒載量與ALT水平的對照研究,探討HBeAg陰性慢性乙型肝炎患者血清HBV-DNA病毒載量和ALT水平之間的相關性。
1 對象與方法
1.1 研究對象
248例慢性乙型肝炎病例來自2011年2月-2012年6月在淮安市第四人民醫(yī)院住院及門診患者。慢性乙型肝炎的診斷參考《慢性乙型肝炎防治指南(2010年版)》[5]。所有患者6個月內(nèi)未接受過抗病毒治療,排除合并其他嗜肝病毒感染、嗜酒、使用肝毒性藥物、自身免疫性肝病和代謝性肝病等。
1.2 研究方法
采用回顧性研究的方法,以HBeAg陽性慢性乙型肝炎病例為對照,分析HBeAg陰性慢性乙型肝炎患者血清HBV-DNA載量與ALT水平之間的關系。血清乙型肝炎病毒標志物(HBsAg、抗-HBs、HBeAg、抗-HBe、抗-HBc)檢測:采用ELISA法檢測,檢測試劑盒由上??迫A公司提供,操作嚴格按照說明書進行;血清HBV DNA檢測:采用熒光定量聚合酶鏈反應(FQ-PCR)技術,運用美國ABI公司PE5700全自動熒光定量PCR系統(tǒng),檢測試劑盒由廣州達安生物有限公司提供,檢測靈敏度300拷貝/mL,
按說明書操作,有效期內(nèi)使用,>1×103拷貝/mL為陽性;血清ALT檢測:采用東芝TBA-120FR型全自動生化分析儀檢測,檢測試劑盒由上海東菱診斷用品有限公司提供,操作嚴格按照說明書進行。
1.3 統(tǒng)計學方法
數(shù)據(jù)采用SPSS18.0統(tǒng)計學軟件進行統(tǒng)計分析,計量資料用均數(shù)±標準差(x±s)表示,2組樣本均數(shù)比較用t檢驗,雙向有序分類資料用Spearman等級法進行分析。
2 結果
2.1 2組一般資料的比較
248例慢性乙型肝炎患者分2組,即HBeAg陰性慢性乙型肝炎組(HBeAg陰性組)和HBeAg陽性慢性乙型肝炎組(HBeAg陽性組)。HBeAg陰性組122例,占41.20%,HBeAg陽性組126例,占50.80%。HBeAg陰性組和HBeAg陽性組患者平均年齡分別為( 42.8±14.9)歲、(31.2±13.3)歲,2組一般資料差異無顯著性,具有可比性。
2.2 2組患者血清HBV-DNA病毒載量與ALT水平的比較(x±s)
HBeAg陰性組和HBeAg陽性組血清HBV-DNA病毒載量分別為5.37±1.00lg拷貝/mL、5.92±1.15lg拷貝/mL(P
2.3 HBeAg陰性組血清HBV-DNA病毒載量與ALT水平的相關性
122例HBeAg陰性慢性乙型肝炎患者血清HBV-DNA病毒載量與ALT水平呈正相關(見表2)。
3 討論
HBeAg陰性慢性乙型肝炎的發(fā)病分子機制主要為HBV-DNA前C區(qū)和(或)C區(qū)基本核心啟動子(BPC)發(fā)生變異,導致HBeAg表達水平低下或不表達[6]。該種肝炎診斷須滿足以下條件[5]:(1)既往有乙型肝炎病史或HBsAg陽性超過6個月;(2)血清HBsAg陽性,HBeAg持續(xù)陰性,抗-HBe陽性或陰性;(3)HBV-DNA陽性;(4)ALT持續(xù)或反復異常,或肝組織學檢查有肝炎病變。具有以上條件,并排除其他肝炎病毒感染(如丁型肝炎病毒、丙型肝炎病毒等)以及藥物、酒精等影響因素,HBeAg陰性慢性乙型肝炎診斷成立。
雖然與HBeAg陽性慢性乙型肝炎相比,HBeAg陰性慢性乙型肝炎無特征性臨床表現(xiàn),但Chu等[7]研究表明,HBeAg陰性慢性乙型肝炎血清HBV DNA病毒載量和ALT水平較HBeAg陽性慢性乙型肝炎明顯低下。本研究顯示,HBeAg陰性組與HBeAg陽性組血清HBV-DNA病毒載量分別為5.37±1.00 lg拷貝/mL、5.92±1.15 lg拷貝/mL(t=3.97,P
多項研究表明,HBeAg陰性慢性乙型肝炎血清HBV-DNA病毒載量與肝組織炎癥嚴重程度呈正相關[9,10],而要準確了解肝組織損害程度,必須進行肝活檢。由于肝活檢是一種創(chuàng)傷性檢查,操作上有一定風險,患者依從性差,加之重復操作難度大,以及大部分基層醫(yī)院條件所限,要求對所有HBeAg陰性慢性乙型肝炎患者開展肝活檢不現(xiàn)實。而血清ALT水平是反應肝組織炎癥壞死的較為可靠的敏感指標[11],故對于因多種因素,難以開展肝活檢的HBeAg陰性慢性乙型肝炎患者,定期監(jiān)測血清HBV-DNA病毒載量和ALT水平,可實時掌握HBV-DNA復制水平和肝組織炎癥壞死程度,及時采取有效的抗病毒治療等措施,減輕肝細胞炎癥壞死,延緩和減少肝臟失代償、肝硬化、肝癌及并發(fā)癥,具有十分重要的臨床意義。
參考文獻
[1] Berg T, Benhamou Y, Calleja JL, et al. A survey of chronic hepatitis B patient management practices in the European Union[J]. ViralHepat, 2010, 17(9):624-630.
[2] 楊創(chuàng)國, 于樂成, 陳金軍, 等. 1686例慢性乙型肝炎中HBeAg陰性與陽性患者臨床和病毒學特點比較分析[J]. 中華內(nèi)科雜志, 2005, 44(9):648-651.
[3] 賈繼東.乙型肝炎e抗原陰性慢性乙型肝炎的治療.中華肝臟病雜志,2005,13(7):539.
[4] 陸傳統(tǒng), 周文紅, 胡愛榮. HBeAg陰性慢性乙型肝炎患者血清病毒載量與肝組織學改變的關系[J]. 中華實驗和臨床病毒學雜志, 2010, 24(3):184-186.
[5] 中華醫(yī)學會肝病學分會, 中華醫(yī)學會感染病學分會. 慢性乙型肝炎防治指南(2010版)[J]. 中華肝臟病雜志, 2011, 19(1):13-24.
[6] MeMahon BJ. The natural history of chronic hepatitis B virus infection[J]. Hepatology, 2009, 49(5 Suppl):S45-55.
[7] Chu CJ,Hussain M,Lok AS. Quantitative serum HBV DNA levels during different statges of chronic hepatitis B infection[J]. Hepatology, 2002,36(6):1408-1415.
[8] 鄭自華, 張立伐, 陳友鵬, 等. HBeAg陰性慢性乙型肝炎患者病毒載量與肝損害的關系[J]. 暨南大學學報(醫(yī)學版), 2008, 29(2):184-186.
[9] Lindh M, Horal P, Dhillon A P, et a1. Hepatitis B virus DNA levels, precore mutation, genotypes and histological activity in chronic hepatitis B[J]. J Viral Hepat, 2000, 7(4):258-267.
關鍵詞:EDA;自頂向下;VHDL;交通信號燈
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)15-21050-04
Implementation of Traffic Signal Lights Based on VHDL
LUO Hai-tao
(School of Informatics,Guangdong University of Foreign Studies,Guangzhou 510420,China)
Abstract:EDA integrates the latest technologies of modern Electronics and Computer Science,its design adopts top down methodology,and hardware description language is used to design electronic circuit in EDA;VHDL becomes one of the most popular hardware description language because of its strong ability of modeling and syntheses.Designed traffic signal lights based on VHDL.
Key words:EDA(Electronics Design Automation);Top down;VHDL;Traffic Signal Lights
1 引言
硬件描述語言(HDL,Hardware Description Language)至今約有40余年的歷史,現(xiàn)在已成功地應用于ASIC自動設計的模擬驗證和綜合優(yōu)化等方面。其特點是借鑒高級語言的功能特性對電路的行為與結構進行高度抽象化、規(guī)范化的形式描述,并對設計進行不同層次,不同領域的模擬驗證與綜合優(yōu)化等處理,使設計過程達到高度自由化。
VHDL語言全稱是“超高速集成電路硬件描述語言”(Very High Speed Integrated Circuit Hardware Description Language),1982年被研發(fā)出來以。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言,并公布了VHDL的IEEE-1076版(87版)。1993年IEEE對VHDL進行修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展了VHDL的內(nèi)容,公布了新的VHDL版本,即IEEE標準的1076-1993版本(93版)。VHDL語言描述能力強,覆蓋了邏輯設計的諸多領域和層次,大大簡化了硬件設計任務,提高設計的可靠性?;赩HDL語言的設計方法得到了廣泛的應用,VHDL語言已成為硬件描述語言的工業(yè)標準。
2 EDA技術與VHDL語言
EDA 技術是90年代迅速發(fā)展起來的,是現(xiàn)代電子設計的最新技術潮流,是綜合現(xiàn)代電子技術和計算機技術的最新研究成果,是從事電子線路設計與分析的一門技術,包括電子線路的設計、計算機模擬仿真和電路分析、印制電路板的自動化設計三個方面的內(nèi)容。
進入21世紀后,EDA技術得到了更大的發(fā)展,突出表現(xiàn)在以下幾個方面:(1)使電子設計成果以自主知識產(chǎn)權的方式得以明確表達和確認成為可能;(2)在仿真和設計兩方面支持標準硬件描述語言的功能強大的EDA軟件不斷推出;(3)電子技術全方位納入EDA領域;(4)EDA使得電子領域各學科的界限更加模糊,更加互為包容。傳統(tǒng)的電子產(chǎn)品的設計必須經(jīng)過設計方案的提出、電原理圖設計、初步驗證、樣機制作、小批量試制、大批量生產(chǎn)等幾個過程。對于電子產(chǎn)品設計工程師而言,必須保證理論設計、初步驗證兩個過程完全正確,才能按電路原理圖繪制成電路板圖,并進行進一步的生產(chǎn)。
傳統(tǒng)的電子產(chǎn)品的設計通常采用自底向上(Bottom Up)電路設計方法,即首先根據(jù)系統(tǒng)對硬件的要求,寫出詳細的技術規(guī)格書,畫出系統(tǒng)的控制流程圖;其次,根據(jù)技術規(guī)格書和控制流程圖,對系統(tǒng)功能進行細化,合理劃分功能模塊,畫出系統(tǒng)的功能框圖;然后,對各個功能模塊進行細化和電路設計;最后,將各個功能模塊的硬件電路連接起來再進行系統(tǒng)地調試,最后完成整個系統(tǒng)的硬件設計。手工設計方法的缺點是:(1)復雜電路的設計、調試十分困難;(2)如果某一過程存在錯誤,查找和修改十分不便;(3)設計過程中產(chǎn)生大量文檔,不易管理;(4)對于集成電路設計而言,設計實現(xiàn)過程與具體生產(chǎn)工藝直接相關,因此可移植性差;(5)只有在設計出樣機或生產(chǎn)出芯片后才能進行實測。
基于EDA技術的設計則采用自頂向下的設計方法。
(1)采用可以完全獨立于目標器件芯片物理結構的硬件描述語言,在系統(tǒng)的基本功能或行為級上對設計的產(chǎn)品進行描述和定義,結合多層次的仿真技術,在確保設計的可行性與正確性的前提下,完成功能確認;
(2)利用EDA工具的邏輯綜合功能,把功能描述轉換成某一具體目標芯片的網(wǎng)表文件,并將它輸出到該器件廠商的布局布線適配器,進行邏輯映射及布局布線;
(3)利用產(chǎn)生的仿真文件進行功能和時序驗證,以確保實際系統(tǒng)的性能。
自頂向下方法的優(yōu)點是:頂層功能描述完全獨立于目標器件的結構,在設計的最初階段,設計人員可不受芯片結構的約束,集中精力對產(chǎn)品進行最適應市場需求的設計,從而避免了傳統(tǒng)設計方法中的再設計風險,縮短了產(chǎn)品的上市周期;設計成果的再利用得到保證;由于采用的是結構化開發(fā)方法,因此確認主系統(tǒng)基本結構后,可以實現(xiàn)多人多任務的并行工作方式,提高系統(tǒng)的設計規(guī)模和效率;在選擇目標器件的類型、規(guī)模、硬件結構等方面具有更大的自由度。
EDA技術通常采用硬件描述語言進行電子電路設計,EDA技術主要特點是:(1)采用硬件描述語言作為設計輸入;(2)庫(Library)的引入;(3)設計文檔的管理;(4)強大的系統(tǒng)建模、電路仿真功能;(5)具有自主知識產(chǎn)權;(6)開發(fā)技術的標準化、規(guī)范化以及IP核的可利用性;(7)適用于高效率大規(guī)模系統(tǒng)設計的自頂向下設計方案;(8)全方位地利用計算機自動設計、仿真和測試技術;(9)對設計者的硬件知識和硬件經(jīng)驗要求低;(10)高速性能好;(11)純硬件系統(tǒng)的高可靠性。
目前常用的用于EDA技術的硬件描述語言有:ABEL-HDL;Verilog HDL:IEEE 1364-1995,2001;VHDL(Very High Speed Integrated Circuit Hardware Description Language): IEEE 1076-1993。其中VHDL語言以其強大的行為建模、結構建模、寄存器傳輸級描述以及邏輯綜合功能成為EDA技術中應用最廣泛的硬件描述語言之一。
3 VHDL建模方法
VHDL建模方法一般有行為建模、結構建模、寄存器傳輸級描述等方式。VHDL具有強大的行為描述能力,成為系統(tǒng)設計領域最佳的硬件描述語言。行為描述避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)。VHDL豐富的仿真功能和庫函數(shù)可以在系統(tǒng)的設計早期階段查驗系統(tǒng)功能的可行性,并對設計進行仿真模擬。分解大規(guī)模設計和已有設計的再利用,這是由VHDL的行為描述能力和程序結構決定的。用VHDL完成設計后,可以用多種EDA工具進行邏輯綜合和優(yōu)化,VHDL對設計的描述具有相對獨立性。行為建模是一種抽象描述,不是對具體電路結構的描述,是對設計實體整體功能的描述,是高層次的概括。對系統(tǒng)進行行為描述目的:在系統(tǒng)設計的初始階段通過對系統(tǒng)行為描述的仿真發(fā)現(xiàn)設計中存在的問題;行為描述階段不考慮用具體硬件去實現(xiàn)實際的操作和算法,主要檢驗系統(tǒng)的結構以及工作過程能否達到系統(tǒng)設計的要求。
行為建模主要使用函數(shù)、過程和進程,采用行為建模的方法設計的VHDL語言程序一般不能進行綜合,必須先使用EDA工具在行為級上進行仿真,確認無誤后再將程序改為結構建?;蛘邤?shù)據(jù)流建模的VHDL語言程序,然后再進行綜合。行為建模意義在于對復雜的、多層次的系統(tǒng)來說,行為建模使設計者在早期發(fā)現(xiàn)錯誤,并且確定設計是否合理。
結構建模是指在層次化設計中,高層次(頂層)模塊調用低層次模塊、基本邏輯門或者基本邏輯單元來組成復雜數(shù)字電路或系統(tǒng),例如一位全加器可以由一位半加器和或門構成,在進行結構建模時,可以先建立半加器和或門模塊,包裝入庫,再調用這些模塊建立全加器。這里,全加器是頂層模塊,半加器和或門是底層模塊,所以,結構化描述體現(xiàn)了層次化設計思想。
寄存器傳輸級描述RTL(Register Transfer Level),其設計實體的描述按照從信號到信號的數(shù)據(jù)流形式,或者叫“數(shù)據(jù)流描述方式”。根據(jù)RTL描述,可以導出系統(tǒng)的邏輯表達式并進行邏輯綜合,是ED設計中經(jīng)常采用的描述方法。行為方式描述的系統(tǒng)結構程序抽象度高,很難直接映射到具體的硬件,必須先轉換為RTL方式描述的VHDL語言程序。
邏輯綜合是針對給定的電路功能和實現(xiàn)此電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進行優(yōu)化處理,獲得滿足要求的電路設計方案。邏輯綜合的依據(jù)是邏輯設計的描述和各種約束條件;邏輯綜合的結果是一個硬件電路的實現(xiàn)方案,該方案必須同時滿足預期的功能和約束條件。滿足要求的方案可能有多個,但邏輯綜合器將產(chǎn)生一個最優(yōu)或接近最優(yōu)的結果,該結果和邏輯綜合器的工作性能有關。
4 系統(tǒng)設計實現(xiàn)
本系統(tǒng)在Altera公司的Max+ Plus II 10.0 BASELINE軟件下用VHDL語言設計實現(xiàn),操作系統(tǒng)環(huán)境為Windows XP version 5.1.2600。系統(tǒng)采用自頂向下的設計方法,首先把系統(tǒng)按功能分解成4個模塊:controller、display、fenwei以及frequency。分別設計4個模塊,然后再調用它們構成整個系統(tǒng)。系統(tǒng)頂層采用圖形方法設計,如圖1所示。
4個底層模塊則采用VHDL語言設計,其中Controller的接口代碼為:
Entity Controller Is
Port
(Clock:In Std_Logic;
Reset:In Std_Logic;
Hold:In Std_Logic;
Flash:Out Std_Logic;
NumA,NumB:Out Integer Range 0 To 25;
RedA,GreenA,YellowA:Out Std_Logic;
RedB,GreenB,YellowB:Out Std_Logic
);
Frequency模塊的接口代碼為:
Entity Frequency Is
Port
(Clk10Hz: In Std_Logic;
Clk1Hz:Out Std_Logic
);
End;
Display模塊的接口代碼為:
Entity Display Is
Port( Clock:InStd_Logic;
Flash:In Std_Logic;
Qin:In Std_Logic_Vector(3 Downto 0);
Display:Out Std_Logic_Vector(0 to 6));
End;
Fenwei模塊的接口代碼為:
Entity Fenwei Is
Port
(Clock:In Std_Logic;
Numin:In Integer Range 0 To 25;
NumA,NumB:Out Integer Range 0 To 9
);
End;
編譯后運行結果如圖2所示。
5 結束語
VHDL是一種功能非常強大的硬件描述語言,主要用于描述數(shù)子系統(tǒng)的結構、行為、功能和接口。VHDL借鑒了高級語言的特點,可以將一項工程設計,或稱設計實體,(可以是一個元件、一個電路模塊或一個系統(tǒng))分成外部(可視部分即端口)和內(nèi)部(不可見部分),即設計實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,只要其內(nèi)部開發(fā)完成,其他的設計就可以直接調用這個實體。
參考文獻:
[1] 胡振華-VHDL與FPGA設計[M].北京:中國鐵道出版社,2003.
[2] 求是科技.VHDL應用開發(fā)與工程實踐[M].北京:人民郵電出版社,2005.