中煤科工集團西安研究院有限公司 景 帆
計算機硬件設計中E D A技術的實踐分析
中煤科工集團西安研究院有限公司 景 帆
科學技術的發展離不開計算機硬件的發展,EDA技術的發展為計算機硬件的設計提供了全新的解決思路,以一種高效、快速、便于調試的方式,提升了計算機硬件的發展水平。本文簡單介紹了EDA技術,并以UART的設計和實現為例,闡述了EDA技術在計算機硬件設計方面的應用。
計算機硬件設計;EDA技術;實踐分析
電子設計從手工設計逐步走向了自動化設計,它的發展以EDA技術的發展為主要標志。EDA技術以計算機為操作工具,融合了最新的應用電子技術、計算機技術和智能化技術的成果,并且將設計人員從繁重且重復的勞動中解脫出來,使得電子產品的設計效率提升了。
在沒有EDA技術的時代,計算機硬件的設計需要通過人工手動完成集成電路的設計、布線等工作。而隨著集成線路復雜程度的增加,基于手工的設計方式已經無法滿足工作需求。因而人們開始尋求一種更為高效的硬件設計方式。EDA技術的誕生,成功改變了這一情況。它以計算機為操作工具,讓學生可以在軟件平臺上,通過軟件化的設計方式來描述計算機硬件。由計算機代替人工完成邏輯編譯、優化、布線、仿真等工作。整個過程是自動的,直到能夠完成對既定芯片的適配編譯、邏輯映射和編程下載等工作[1]。
它創新性的顛覆了傳統電子產品的設計方式。將設計的順序從由下至上翻轉過來。這使得硬件設計者能夠從更為宏觀的角度去掌控產品的開發。包括設計的質量、成本、功能需求、研發周期等。在擁有比較全面的宏觀分析后,從系統設計出發,進行頂層功能模塊的解構和劃分。并能夠按照方框圖→系統級的次序逐級完成仿真糾錯和驗證。從而能夠使設計問題更早的被凸顯出來。當所有的仿真和驗證確認無誤后,再用邏輯綜合優化工具的門級邏輯電路的網表來實現硬件的物理級呈現。通過該項技術的應用,將設計者的設計強度減輕,僅需要通過軟件平臺,就可以實現硬件的電路設計和功能仿真。整體的設計效率被大幅度提升。硬件設計流程如圖1所示:

圖1 基于EDA技術的計算機硬件設計流程
本文以可編程器件開發工具MAX+PLUS Ⅱ為開發平臺設計,它的運行速度快,界面統一,功能集中。同時該開發平臺具備十分完整的可編程邏輯設計環境,能夠完成從指標設計、輸入、編輯綜合處理、校驗直至編程下載的EDA設計的全過程。設計者可以按工作流程選用工作模塊。適用于多平臺操作,是一種理想的開發平臺。本部分就計算機的基本硬件之一通用異步收發傳輸器基于EDA技術的設計實現進行了簡要的闡述。
通用異步收發器(UART),是計算機中不可缺少的組成部分,它是一種短距離串行傳輸接口。能夠作為微機與下位機的通訊串口,來實現有效通訊。根據當前的計算機運行機制,需要進行數據的交換和傳輸。但是并行數據并不能夠直接發送到調至解調器中,而必須要經過異步傳輸才能夠解決。UART就是此過程的必要部件。它將信息有序的發送到調制解調器中,實現計算機的正常運轉。
在進行硬件設計時,考慮各項功能模塊的調試工作,設置了三個按鍵輸入來實現UART的復位、接收和發送數據功能的啟動。整體硬件結構如圖2所示。
(1)基本設計思路
UART在工作中主要涉及兩個過程,發生和接收。在設計時,考慮模塊化的方式來進行設計。發生的過程即并行數據的準備階段,UART按照既定的格式,將信號進行轉換。在此過程中涉及到關鍵的時鐘信號。需要通過波特率發生器來產生與本地系統同步的時鐘信號。而接收的過程,就是在信號轉換成RXD串行信號后,轉換成調制解調器需要的并行數據信號。在整個進程中,由于本地時鐘信號與UART的時鐘信號會產生一定的延遲和誤差。當這種誤差產生持續性的積累時,會產生接收偏差。使得UARD的功能不能夠被順利的實現。因此,在進行設計時,需要采用一個遠遠高于波特率的本地時鐘信號對輸入信號RXD不斷地采樣,來保持工作過程中UARTDE 接收和發生不會出現步調不一致。

圖2 UART的硬件結構圖
(2)奇偶校驗位發生器模塊設計
奇偶校驗是一種校驗代碼傳輸正確性的方法,以保證串行數據的準確性。在基于EDA技術進行UART奇偶校驗位發生器設計需要考慮幾個關鍵點。一是該模塊能夠執行奇偶校驗規則,正確的選擇數據。從而實現系統既定二進制數據與輸入的串行數據校驗位的合理比較。驗證輸入的正確性。二是該模塊必須要滿足計算機功能的持續拓展性。在計算機工作中,會產生不確定的并行校驗位的增加。那么該模塊應該能在后續定義的規則基礎上進行校驗位的添加。對已經設計完成的奇偶校驗位發生器模塊采用EDA的工具modelsim12.0進行功能的仿真,對仿真結果進行詳細的分析,以確保所有期望的功能都已經實現,對于發生問題的地方及時進行修訂。
(3)波特率發生器模塊設計
此模塊的主要功能就是能夠根據時鐘的頻率和既定的波特率來計算出波特分頻因子。分頻因子就是分頻數。對于波特率發生器的系數一般在現場可編程門陣列實現時基本上是固定的,但是當實現出現變化時,波特發生器的系數就要發生改變。在UART中采用的是專用的芯片,使得波特率的改變變得比較困難,需要加上相應的接口來實現波特率的變動。在使用硬件描述語言的parameter語句(Verilog HDL)或者Generic語句(VDHL)就可以實現UART專用芯片的波特率的改變。那么就不需要通過后續的接口添加來改變系數,也就減少了設計和調試的難度。該發生器的分頻時鐘與波特時鐘的頻率比設置為16:1.那么信號采樣的準確性就會增高,使接收和發生保持在同一步調上[2]。
(4)頂層模塊設計
UART頂層模塊是硬件的綜合模塊。它涵蓋硬件中全部接口定義。主要是為了接收和發生與其他模塊的通訊和連接。若通用異步收發器的波特率為9600bit/s,分頻因子則為9600*16*2。運用EDA仿真軟件,在進行發送功能仿真時將能夠得到相應的仿真結果。對該模塊的仿真結果進行詳細分析的時候可以發現,等待發送的數據在接觸發生信號后,其串行信號發生了改變,由01010101→001010101[3]。
利用EDA技術進行UART的實際,能夠實現利異步串行通信功能,同時可以利用EDA仿真工具就功能模塊進行分別和整體的仿真校驗,解決了計算機硬件設計問題發現晚的劣勢,能夠在設計的過程中及時調整設計方案。
EDA技術是計算機硬件設計向軟件化轉變的重要標志,它為計算機硬件設計提供了全新的思路。這種設計方式使得計算機的硬件設計具備可視性、直觀性,且可以在設計過程中進行實時的控制和調整,解決了復雜電路設計問題發現滯后的問題。
[1]曲行柱.淺析EDA技術在計算機硬件設計中的應用[J].祖國,2016(21):288-288.
[2]徐迪.EDA技術在計算機硬件中的應用[J].數字技術與應用,2015(8):216-216.
[3]趙雙勇,呂永利,趙振華等.基于FPGA的UART設計與實現[J].數字通信世界,2016(12).