音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于VHDL邏輯電路設(shè)計(jì)與應(yīng)用

出處:電子產(chǎn)品世界 發(fā)布于:2018-08-01 14:23:25


  1、引言

  電子產(chǎn)品隨著技術(shù)的進(jìn)步,更新?lián)Q代速度可謂日新月異。EDAI'輝lectronicDesignAutomatic)技術(shù)的應(yīng)用很好地適應(yīng)了這一特點(diǎn)。通過(guò)設(shè)計(jì)和編程,由可編程邏輯器件CPLD/FPGAn-構(gòu)成的數(shù)字電路,取代了常規(guī)的組合和時(shí)序邏輯電路,實(shí)現(xiàn)了單片化,使體積、重量、功耗減小,提高了可靠性。

  目前EDA技術(shù)在一般的數(shù)字系統(tǒng)、數(shù)字信號(hào)處理系統(tǒng)等領(lǐng)域獲得廣泛應(yīng)用,它將成為今后電子設(shè)計(jì)的主流。VHDL語(yǔ)言作為可編程邏輯器件的標(biāo)準(zhǔn)語(yǔ)言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),應(yīng)用越來(lái)越廣泛。VHDL語(yǔ)言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué)模型直到門(mén)級(jí)電路,其高層次的行為描述可以與低層次的RTL描述和結(jié)構(gòu)描述混合使用;設(shè)計(jì)者可以實(shí)現(xiàn)從文本編輯、功能仿真、邏輯綜合、布局布線、時(shí)序仿真到編程整個(gè)開(kāi)發(fā)過(guò)程,大大減輕了設(shè)計(jì)人員的工作強(qiáng)度,提高了設(shè)計(jì)質(zhì)量,減少了出錯(cuò)的機(jī)會(huì)。下面介紹如何在美國(guó)ALTERA公司的MAX+PLUSH平臺(tái)上應(yīng)用VHDL實(shí)現(xiàn)串行加法器。

  2、串行加法器設(shè)計(jì)原理

  多位串行加法器的工作原理閻是從位開(kāi)始逐位相加并向高位進(jìn)位,基于這個(gè)原理,采用移位加法實(shí)現(xiàn)串行加法器。設(shè)兩個(gè)無(wú)符號(hào)數(shù)A=a-tart...ao和B=b.-,b,^...bo,兩者相加產(chǎn)生的和SUM=S-lS-:...So,其工作原理如圖1所示,由三個(gè)移位寄存器和一個(gè)加法器有限狀態(tài)機(jī)組成,其中三個(gè)寄存器用來(lái)存放A,B和Sum數(shù)據(jù)。其工作原理是,假定輸人移位寄存器有并行加載功能,首先把A,B的值加載到寄存器,然后在每一個(gè)時(shí)鐘周期,通過(guò)加法器有限狀態(tài)機(jī)將相應(yīng)的一位相加,在時(shí)鐘周期的結(jié)尾處將這一位相加結(jié)果移到Sum寄存器。三個(gè)寄存器都采用同步正邊沿觸發(fā)器,所有變化都在時(shí)鐘正邊沿之后很快發(fā)生,這時(shí)三個(gè)寄存器的內(nèi)容都向右移,將已得到的和位移到Sum,并把兩個(gè)加數(shù)寄存器的下一個(gè)位a與b:送給加法器有限狀態(tài)機(jī)。

   加法器有限狀態(tài)機(jī)的工作原理:由兩個(gè)狀態(tài)M和N分別表示進(jìn)位值0和10狀態(tài)圖如圖2所示,采用有限狀態(tài)機(jī)的Mealy模型。由于每一位   相加,都是由全加器構(gòu)成的,因此根據(jù)狀態(tài)圖可寫(xiě)出次態(tài)全加器的邏輯表達(dá)式:

Y=ab+ay+by

s=a+b+y

  其中y為進(jìn)位輸人,a和b為兩個(gè)輸人數(shù)據(jù),Y為進(jìn)位輸出,s為全加器的和。串行加法器可以實(shí)現(xiàn)任意位數(shù)據(jù)加法的簡(jiǎn)單電路。

  3、基于VHDL串行加法器的實(shí)現(xiàn)

  串行加法器的VHDL描述由移位寄存器和加法器有限狀態(tài)機(jī)組成??梢园岩莆患拇嫫髯鳛橐粋€(gè)子電路,在主程序中可以多次調(diào)用。

  3.1移位寄存器實(shí)現(xiàn)

  下面是4位移位寄存器的VHDL代碼,采用FOR LOOP結(jié)構(gòu)來(lái)實(shí)現(xiàn),源程序如下:

  LIBRARYIEEE;

  USEIEEE.STD-LOGIC-1164.ALL;

  ENTITYshiftIS GENERIC(n:INTEGER:=4);

  PORT(r:INSTD-LOGIC-VECTOR(n-1DOWNTO0);

  1,e,w:INSTD-LOGIC;

  clk:INSTD_LOGIC;

  q:BUFFERSTD-LOGIC-VECTOR(n-1DOWNTO0));

  ENDshift;

  ARCHITECTUREbehaOFshiftIS

  BEGIN

  PROCESS

  BEGIN

  WATTUNTILclk'EVENTANDclk='1';

  IFe='1'THEN

  IF1='l'THEN

  q=r,

  ELSE

  gebit:FORiIN0TOn-2LOOP

  q(i)=q(i+l);

  END LOOP;

  q(n-1)=w;

  ENDIF;

  ENDIF;

  ENDPROCESS;

  ENDbeha;

  若要實(shí)現(xiàn)更多位移位寄存器,則只要修改n值即可。程序中r是輸人信號(hào),clk是時(shí)鐘信號(hào),e是使能端。當(dāng)1='1’時(shí)對(duì)移位寄存器并行加載,卜'0’時(shí),寄存器處于右移狀態(tài),串行數(shù)據(jù)從輸人端w移人寄存器的位。仿真結(jié)果如圖3所示。

  3.2串行加法器的VHDL設(shè)計(jì)

  八位串行加法器VHDL代碼如下:

  LIBRARYIEEE;

  USEIEEE.STDLOGIC-1164.ALL;

  ENTITY adderIS

  GENERIC(length:INTEGER:=8);

  PORT(erset:INSTDLOGIC;

  clk:INSTD-LOGIC;

  a,b:INSTD-LOGIC-VECTOR(length-1DOWNTO0);

  co:outSTD-LOGIC;

  sum:BUFFERSTD-LOGIC-VECTOR(length一1DOWNTO0));

  ENDadder;

  ARCHITECTUREbehaOFadderIS COMPONENTshift

  GENERIC(n:INTEGER:=4);

  PORT(r:INSTD-LOGIC-VECTOR(n-1DOWNTO1,e,w:INSTD-LOGIC;

  elk:INSTD-LOGIC;

  q:BUFFERSTD-LOGIC-VECTOR(n-1DOWNTO0));

  ENDCOMPONENT;

  SIGNALga,gb,null-in:STD_LOGIC-VECTOR(length-1DOWNTO0);

  SIGNALs,low,high,run:STD-LOGIC;

  SIGNALcount:INTEGERRANGE0TOlength;

  TYPEstate-typeIS(M,N);

  SIGNALy:state-type;

  BEGIN

  low='0';

  high二,1';

  shiftA:shiftGENERICMAP(n=>length)PORTMAP(a,erset,high,low,clk,ga);

  shiftB:shiftGENERICMAP(n=>length)PORTMAP(b,reset,high,low,clk,gb);

  adderFSM:PROCESS(erset,clk)BEGIN

  IFerset='l'THEN

  y=M;

  ELSIFelk'EVENTANDclk='1'THEN

  CASEyIS

  WHENM=>IF(qa(0),1'ANDqb(0)='1')THENy=N;

  ELSE

  y=M;

  ENDIF;

  WHENN=>

  IF(ga(0)='0'ANDqb(0)='0')THENy-M;

  ELSE

  y=N;

  ENDIF;

  ENDCASE;

  ENDIF;

  ENDPROCESSadderFSM;

  WITHySELECT

  s-ga(0)XORqb(0)WHENM,

  NOT(ga(0)XORqb(0))WHENN;

  Null_in二(OTHERS=>'0');

  shiftsum:shiftGENERICMAP(n=>length)

  PORTMAP(nulin,erset,run,s,clk,sum);

  stop:PROCESS

  BEGIN

  WAITUNTIL(elk'EVENTANDclk='1');

  IFerset='1'THEN

  count=length;

  E,ISIFrun='l'THEN

  count=count-1;

  ENDIF;

  ENDPROCESS;

  run='0'WHENcount-OELSE'1';

  co一out:PROCESS

  BEGIN

  WAITUNTIL(clk-EVENTANDclk='1');

  IFy=MTHEN

  co=,0';

  EISE

  co=,1';

  ENDIF;

  ENDPROCESScoout;

  ENDbeha;

  程序中采用三個(gè)進(jìn)程描述:adderFSM進(jìn)程描述加法器有限狀態(tài)機(jī);stop進(jìn)程描述減法計(jì)數(shù)器,用來(lái)決定加法器什么時(shí)候由于n位所要求的和出現(xiàn)在輸出移位寄存器而停止;co-out描述進(jìn)位co輸出。

  程序經(jīng)Max+PlusII中的Compiler編譯,再通過(guò)Simulator和Timinganalyzer工具分別進(jìn)行功能仿真和時(shí)序仿真,仿真結(jié)果如圖4所示,其中reset是輸人控制端,clk是時(shí)鐘信號(hào),a和b是輸人數(shù)據(jù),sum是和數(shù),co是進(jìn)位,y表示有限狀態(tài)機(jī)的狀態(tài)。仿真正確后,可通過(guò)計(jì)算機(jī)并口上的Byteblaster電纜將生成的配置文件直接到芯片MAXEPM7128SLC84-15進(jìn)行驗(yàn)證,測(cè)試結(jié)果與實(shí)際相符。

  4、結(jié)束語(yǔ)

  本文通過(guò)串行加法器VHDL設(shè)計(jì)表明,VHDL在邏輯電路的設(shè)計(jì)中具有以下優(yōu)點(diǎn):

  (1)VHDL語(yǔ)言硬件描述能力強(qiáng)、設(shè)計(jì)方法靈活;(2)設(shè)計(jì)者只需掌握VHDL語(yǔ)言及相關(guān)EDA設(shè)計(jì)軟件的使用,而不需考慮較多的硬件結(jié)構(gòu)就可以設(shè)計(jì)所需要的數(shù)字系統(tǒng);(3)隨時(shí)可對(duì)設(shè)計(jì)內(nèi)容進(jìn)行仿真,查驗(yàn)系統(tǒng)功能;(4)程序可移植性強(qiáng)、易于修改;因此,隨著集成電路技術(shù)的高速發(fā)展,作為當(dāng)代電子設(shè)計(jì)人員,HDL已成為設(shè)計(jì)數(shù)字硬件時(shí)常用的一種重要手段。

關(guān)鍵詞:EDA,VHDL,串行加法器

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!