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