中煤科工集團西安研究院有限公司 景 帆
計算機硬件設計中E D A技術的實踐分析
中煤科工集團西安研究院有限公司 景 帆
科學技術的發(fā)展離不開計算機硬件的發(fā)展,EDA技術的發(fā)展為計算機硬件的設計提供了全新的解決思路,以一種高效、快速、便于調試的方式,提升了計算機硬件的發(fā)展水平。本文簡單介紹了EDA技術,并以UART的設計和實現(xiàn)為例,闡述了EDA技術在計算機硬件設計方面的應用。
計算機硬件設計;EDA技術;實踐分析
電子設計從手工設計逐步走向了自動化設計,它的發(fā)展以EDA技術的發(fā)展為主要標志。EDA技術以計算機為操作工具,融合了最新的應用電子技術、計算機技術和智能化技術的成果,并且將設計人員從繁重且重復的勞動中解脫出來,使得電子產(chǎn)品的設計效率提升了。
在沒有EDA技術的時代,計算機硬件的設計需要通過人工手動完成集成電路的設計、布線等工作。而隨著集成線路復雜程度的增加,基于手工的設計方式已經(jīng)無法滿足工作需求。因而人們開始尋求一種更為高效的硬件設計方式。EDA技術的誕生,成功改變了這一情況。它以計算機為操作工具,讓學生可以在軟件平臺上,通過軟件化的設計方式來描述計算機硬件。由計算機代替人工完成邏輯編譯、優(yōu)化、布線、仿真等工作。整個過程是自動的,直到能夠完成對既定芯片的適配編譯、邏輯映射和編程下載等工作[1]。
它創(chuàng)新性的顛覆了傳統(tǒng)電子產(chǎn)品的設計方式。將設計的順序從由下至上翻轉過來。這使得硬件設計者能夠從更為宏觀的角度去掌控產(chǎn)品的開發(fā)。包括設計的質量、成本、功能需求、研發(fā)周期等。在擁有比較全面的宏觀分析后,從系統(tǒng)設計出發(fā),進行頂層功能模塊的解構和劃分。并能夠按照方框圖→系統(tǒng)級的次序逐級完成仿真糾錯和驗證。從而能夠使設計問題更早的被凸顯出來。當所有的仿真和驗證確認無誤后,再用邏輯綜合優(yōu)化工具的門級邏輯電路的網(wǎng)表來實現(xiàn)硬件的物理級呈現(xiàn)。通過該項技術的應用,將設計者的設計強度減輕,僅需要通過軟件平臺,就可以實現(xiàn)硬件的電路設計和功能仿真。整體的設計效率被大幅度提升。硬件設計流程如圖1所示:
圖1 基于EDA技術的計算機硬件設計流程
本文以可編程器件開發(fā)工具MAX+PLUS Ⅱ為開發(fā)平臺設計,它的運行速度快,界面統(tǒng)一,功能集中。同時該開發(fā)平臺具備十分完整的可編程邏輯設計環(huán)境,能夠完成從指標設計、輸入、編輯綜合處理、校驗直至編程下載的EDA設計的全過程。設計者可以按工作流程選用工作模塊。適用于多平臺操作,是一種理想的開發(fā)平臺。本部分就計算機的基本硬件之一通用異步收發(fā)傳輸器基于EDA技術的設計實現(xiàn)進行了簡要的闡述。
通用異步收發(fā)器(UART),是計算機中不可缺少的組成部分,它是一種短距離串行傳輸接口。能夠作為微機與下位機的通訊串口,來實現(xiàn)有效通訊。根據(jù)當前的計算機運行機制,需要進行數(shù)據(jù)的交換和傳輸。但是并行數(shù)據(jù)并不能夠直接發(fā)送到調至解調器中,而必須要經(jīng)過異步傳輸才能夠解決。UART就是此過程的必要部件。它將信息有序的發(fā)送到調制解調器中,實現(xiàn)計算機的正常運轉。
在進行硬件設計時,考慮各項功能模塊的調試工作,設置了三個按鍵輸入來實現(xiàn)UART的復位、接收和發(fā)送數(shù)據(jù)功能的啟動。整體硬件結構如圖2所示。
(1)基本設計思路
UART在工作中主要涉及兩個過程,發(fā)生和接收。在設計時,考慮模塊化的方式來進行設計。發(fā)生的過程即并行數(shù)據(jù)的準備階段,UART按照既定的格式,將信號進行轉換。在此過程中涉及到關鍵的時鐘信號。需要通過波特率發(fā)生器來產(chǎn)生與本地系統(tǒng)同步的時鐘信號。而接收的過程,就是在信號轉換成RXD串行信號后,轉換成調制解調器需要的并行數(shù)據(jù)信號。在整個進程中,由于本地時鐘信號與UART的時鐘信號會產(chǎn)生一定的延遲和誤差。當這種誤差產(chǎn)生持續(xù)性的積累時,會產(chǎn)生接收偏差。使得UARD的功能不能夠被順利的實現(xiàn)。因此,在進行設計時,需要采用一個遠遠高于波特率的本地時鐘信號對輸入信號RXD不斷地采樣,來保持工作過程中UARTDE 接收和發(fā)生不會出現(xiàn)步調不一致。
圖2 UART的硬件結構圖
(2)奇偶校驗位發(fā)生器模塊設計
奇偶校驗是一種校驗代碼傳輸正確性的方法,以保證串行數(shù)據(jù)的準確性。在基于EDA技術進行UART奇偶校驗位發(fā)生器設計需要考慮幾個關鍵點。一是該模塊能夠執(zhí)行奇偶校驗規(guī)則,正確的選擇數(shù)據(jù)。從而實現(xiàn)系統(tǒng)既定二進制數(shù)據(jù)與輸入的串行數(shù)據(jù)校驗位的合理比較。驗證輸入的正確性。二是該模塊必須要滿足計算機功能的持續(xù)拓展性。在計算機工作中,會產(chǎn)生不確定的并行校驗位的增加。那么該模塊應該能在后續(xù)定義的規(guī)則基礎上進行校驗位的添加。對已經(jīng)設計完成的奇偶校驗位發(fā)生器模塊采用EDA的工具modelsim12.0進行功能的仿真,對仿真結果進行詳細的分析,以確保所有期望的功能都已經(jīng)實現(xiàn),對于發(fā)生問題的地方及時進行修訂。
(3)波特率發(fā)生器模塊設計
此模塊的主要功能就是能夠根據(jù)時鐘的頻率和既定的波特率來計算出波特分頻因子。分頻因子就是分頻數(shù)。對于波特率發(fā)生器的系數(shù)一般在現(xiàn)場可編程門陣列實現(xiàn)時基本上是固定的,但是當實現(xiàn)出現(xiàn)變化時,波特發(fā)生器的系數(shù)就要發(fā)生改變。在UART中采用的是專用的芯片,使得波特率的改變變得比較困難,需要加上相應的接口來實現(xiàn)波特率的變動。在使用硬件描述語言的parameter語句(Verilog HDL)或者Generic語句(VDHL)就可以實現(xiàn)UART專用芯片的波特率的改變。那么就不需要通過后續(xù)的接口添加來改變系數(shù),也就減少了設計和調試的難度。該發(fā)生器的分頻時鐘與波特時鐘的頻率比設置為16:1.那么信號采樣的準確性就會增高,使接收和發(fā)生保持在同一步調上[2]。
(4)頂層模塊設計
UART頂層模塊是硬件的綜合模塊。它涵蓋硬件中全部接口定義。主要是為了接收和發(fā)生與其他模塊的通訊和連接。若通用異步收發(fā)器的波特率為9600bit/s,分頻因子則為9600*16*2。運用EDA仿真軟件,在進行發(fā)送功能仿真時將能夠得到相應的仿真結果。對該模塊的仿真結果進行詳細分析的時候可以發(fā)現(xiàn),等待發(fā)送的數(shù)據(jù)在接觸發(fā)生信號后,其串行信號發(fā)生了改變,由01010101→001010101[3]。
利用EDA技術進行UART的實際,能夠實現(xiàn)利異步串行通信功能,同時可以利用EDA仿真工具就功能模塊進行分別和整體的仿真校驗,解決了計算機硬件設計問題發(fā)現(xiàn)晚的劣勢,能夠在設計的過程中及時調整設計方案。
EDA技術是計算機硬件設計向軟件化轉變的重要標志,它為計算機硬件設計提供了全新的思路。這種設計方式使得計算機的硬件設計具備可視性、直觀性,且可以在設計過程中進行實時的控制和調整,解決了復雜電路設計問題發(fā)現(xiàn)滯后的問題。
[1]曲行柱.淺析EDA技術在計算機硬件設計中的應用[J].祖國,2016(21):288-288.
[2]徐迪.EDA技術在計算機硬件中的應用[J].數(shù)字技術與應用,2015(8):216-216.
[3]趙雙勇,呂永利,趙振華等.基于FPGA的UART設計與實現(xiàn)[J].數(shù)字通信世界,2016(12).