1. gzyueqian
      18078865874
      首頁 > 新聞中心 > > 正文

      VHDL應用于專用集成電路功能仿真的研究

      更新時間: 2007-07-31 09:26:31來源: 粵嵌教育瀏覽量:914

        摘要:研究了如何對一個ASIC 系統(以8051微控制器為例)應用VHDL進行功能仿真的方法,在ACTIVE-VHDL軟件環境下應用該語言編制了8051微控制器的功能仿真程序并進行了測試。測試結果表明該程序運行是正確的。本文給出的方法在ASIC的高層次設計上邁出了重要的一步,在工程實踐中具有廣泛的應用價值。

        0 引言
        
        VHDL(VSHIC Hardware Descripuon Language的縮寫),即超高速集成電路硬件描述語言,在國外已被廣大設計者所接受,據稱美國已有80%的設計者使用或即將使用VHDL來設計專用集成電路(ASIC)。在國內,VHDL設計環境的研究開發還在起步階段,是急待開發的高科技領域之一。由于我國集成電路設計業起步較晚,設計方法仍處在較低層次,因此對VHDL的應用需求較少。
        
        用VHDL語言進行電子設計的主要優勢在于它支持自頂而下的設計方法,設計人員可以在設計的每個層次(行為級、RTL級、門級)上進行仿真和綜合,這樣就避免了在設計后期才發現原來設計中的邏輯性錯誤,從而減小了設計性風險,也縮短了設計周期,這對一個大型設計來說尤為重要。另外VHDL設計中不包含與工藝有關的信息,使得VHDL與終的工藝實現無關,可以等到設計通過門級仿真后,再用相應的工具將其映射到不同的工藝如:MOS、CMOS、FPGA 或PLD等,這樣在工藝更新時就無須修改原設計,只要改變其映射工具就行了。

        高層次設計方法-HLD(High Level Design)是進人20世紀9O年代以來設計ASIC、的設計方法,它為用戶設計更大規模、更高水平、性能優良的ASIC產品提供了可靠的保證。高層次設計技術是面向系統的設計技術,設計者不再用邏輯圖的形式來設計系統,而是采用VHDI 對系統進行語言級描述,其關鍵技術在于系統的仿真、綜合、測試。在使用VHDL對系統進行描述時,就必須考慮到對系統的功能仿真。功能仿真的目的是對所描述的電路功能正確與否的驗證,經過功能仿真找出設計的錯誤并進行修正,因此系統的功能仿真在整個ASIC設計過程中具有重要的作用。本文將研究如何對一個ASIC系統(以8051微控制器為例)應用VHDL進行功能仿真的方法。

        1 仿真方法
        
         本文采用下一時間仿真方法,在下一事件仿真中,假定所有的未來事件是在同一時刻發生的,這就意味著元件的延遲時間均等于0,該假定只對同步線路成立,對異步線路則不允許。由于各元件的延遲時間可能不同,所以它們的動作時間也不一樣。為了考慮元件的延遲時間,關鍵在于能分辨出未來事件發生的先后順序。
        
        在下一事件仿真中,仿真時間的間隔實際上是節拍時間。在每一節拍的仿真過程中,所發生的事件和仿真時鐘似乎并無聯系。但如果把發生的事件和仿真時鐘相互對應起來.就可以分辨出事件發生的先后順序。在事件映射方式中,為了反映出元件的延遲時間和方便起見,把仿真時間量化為常數Δt的時間間隔,未來發生動作的時間為一離散的時間序列:

        t1,t2 ,…… ,ti,ti+1,…… ,tn
        其中:
        ti+1=ti +Δt

        如前所述,Δt可取作各元件延遲時間的公約數;tl為信號傳播時間。于是便可將不同時間發生的事件與不同時刻的仿真時鐘相對應,仿真則按時間序列一個時刻一個時刻地進行,而不是以一個節拍時間為時間間隔,并且也只選擇那些狀態值可能發生變化的元件,邊計算邊確定未來事件,但未來事件發生的時間是根據元件各自的延遲時間來排定的。在時刻tl,元件X 某輸人發生變化,則其輸出應在時刻才可能動作,其中Δt是元件X 的延遲時間,它應當是Δt的整數倍。

        t = ti+Δt

        如果也用后進先出棧來表示未來動作.將時間t動作的元件X 放在棧St中。顯然,一個動作的元件其終點集合可能放在不同棧中.一個未來動作棧已遠遠不能滿足需要。為了節省存儲單元,不是在每個仿真時刻都設立一個動作棧,而是把動作棧循環使用。如果線路中元件的延遲為Δmax 個Δt ,則需要的后進先出棧的數目為:

        n=Δmax+1
        
        設想各先進后出棧分布在一個圓周上,并以指針P指向現在動作棧S 上,指針P順次指向S1,S2,……,Si,Si+1,……,Sn,t1,t2,…… 。從新的動作棧Si中取出每個元件,并計算它們的終點元件,分別送到適當的未來動作棧中。從現在動作棧取完后,指針將指向下一棧,這樣便完成了時間映射方式的仿真:以Δt為時間間隔,按上述所選取的仿真時間序列,從外部新輸入信號開始進行追蹤,邊計算邊確定各個時刻狀態發生變化的動作元件(事件),直到規定時刻或動作棧全空為止,從而也就知道網絡中各信號在每個時刻的狀態值。

        2 8051微控制器系統的功能仿真
        
        MCS-51是Inter公司的新一代8位單片機系列,由于它具有很強的位尋址和運算功能,特別適合于控制應用的場合,因此又稱為微控制器。使用MCS-51構成的各種控制系統,可大大簡化硬件結構,降低成本,它已廣泛應用于鋼鐵、采礦、石油、化工、電力、機械制造等工業的控制之中 。805l是MCS-51單片機系列的典型產品,故本文以它為模型研究了應用VHDL對ASIC系統進行功能仿真。作者在ACTIVE-VHDL軟件環境下應用VHDL 編制了8051微控制器的功能仿真程序,該程序包含11個程序完成其功能仿真。限于篇幅,不能對11個程序的功能一一介紹,這里主要介紹其中幾個重要的程序:

        system.vhd:這是此次設計的程寧.即相當于主程序.實體名為system,為實體,結構體為struet,它調用了4個下一級的程序:mc8051、nvsram、373 latches和時鐘程序。它的端口包括了:p0:數據輸人輸出端口;p1:低位地址字節命令; p2:高位地址字節命令;p3下面各位的特殊功能為:port 3.0:串行輸人口;port 3.1:串行輸出口;port 3.2:外部中斷0;port 3.3,外部中斷1;port 3.4:定時器0的外部輸人;port 3.5:定時器1的外部輸人;port 3.6:外部數據存儲器寫選通;port 3.7:外部數據存儲器讀選通;rst:復位輸人端:xtal1:時鐘輸人頻率1.2到12 MHz:xtal2:外接晶體振蕩器的輸出端;ale:提供地址鎖存,禁止輸出;psen_n:外部程序存儲器的選通信號;ea_n:低電平時只訪問外部程序存儲器;
        
        其函數中定義了一個clockgen進程,這個進程為整個設計中的clock時鐘設計了其工作周期:低電平62ns,接著高電平63ns,如此循環。

        xs40.vhd:本程序主要用于仿真之實現,實體名為xs40tb,結構體名為a1,它主要完成的功能是為各個程序中端日輸入模擬的信號量進行計算機仿真。

        mc8051.vhd:本程序用于描述8051微控制器模型,并且需要提供uart實體(完成擴展功能)。實體名為mc8051,結構體名為behav。本程序是此次設計的重點和難點,8051微控制器的主要功能都是在本程序中得到描述的。
      tb.vhd:本程序是對8051芯片進行測試的測試平臺,其中的一部分輸入模擬量是從程序pwm.vhd得到的輸出量。
        
        本文用測試平臺tb.vhd做了一個簡單的測試,完成一個目標選擇器,其功能是:決定是加載輸入信號A還是F到輸出端Y;決定是否加載輸入信號F(0)到輸出端RAM0;決定是否加載輸入信號F(1)到輸出端RAM3;決定是否加載輸入信號Q(3)到輸出端Q3;決定是否加載輸入信號Q(1)到輸出端Q0。
        
        I(7 down to 0)和Oebar為控制信號。A和F為輸入信號,Y、Q、RAM3、RAM0為輸出信號。
        
        對信號賦值后,運行得到圖1、圖2兩張波形圖。


       
      圖1 輸入信號波形圖


       
      圖2 輸出信號波形圖

        由圖1、圖2可以看出,在控制信號的作用下,由輸入信號波形可以得到輸出信號波形,從而可以證明程序運行正確。

        3 結束語
        
        本文采用下一時間仿真方法,應用VHDL對一個ASIC系統(以8051微控制器為例)進行了功能仿真的研究,編制了功能仿真程序。在控制信號的作用下,由輸入信號波形可以得到輸出信號波形,從而可以證明程序運行正確。本文的工作在ASIC的高層次設計上邁出了重要的一步,在工程實踐中具有廣泛的應用價值。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲图片中文字幕一区校园 | 伊人精品久久久大香线蕉 | 色久国产第一页 | 丝袜制服国产欧美亚洲 | 欧美视频专区一二在线观看 | 亚洲中文一区国产 |