国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ModelSim的VHDL仿真技術(shù)研究與應(yīng)用

2019-12-23 09:28陳志剛
電腦知識與技術(shù) 2019年31期

陳志剛

摘要:電子產(chǎn)品設(shè)計(jì)人員希望電子器件有更小的功耗、更強(qiáng)的功能、更低的價(jià)格,這就要求將更多的功能集成到單一的芯片。隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,電子系統(tǒng)設(shè)計(jì)過程中廣泛使用VHDL語言,首先利用VHDL完成電子產(chǎn)品的系統(tǒng)設(shè)計(jì),再通過EDA軟件對VHDL程序進(jìn)行編譯,產(chǎn)生SDF文件,ModelSim通過調(diào)用SDF文件,使用Testbench生成相應(yīng)的測試激勵(lì)。以24進(jìn)制計(jì)數(shù)為例,應(yīng)用聯(lián)合仿真,有效解決不同種類激勵(lì)源的產(chǎn)生、驗(yàn)證自動(dòng)化、平臺移植等問題。

關(guān)鍵詞:ModelSim;QuartusII;Testbench;聯(lián)合仿真

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)31-0286-02

1概述

ModelSim是工業(yè)界廣泛使用的仿真軟件,由Me.or Graph-ics公司開發(fā)??梢元?dú)立完成硬件描述語言代碼的功能仿真,還能結(jié)合FPGA/CPLD開發(fā)軟件進(jìn)行時(shí)序仿真,得到包含信號傳輸時(shí)序的結(jié)果。同時(shí)可以對System c、c語言進(jìn)行調(diào)試與仿真,設(shè)計(jì)過程中可以采取許多靈活的手段來完成設(shè)計(jì)工作,大多數(shù)FP-GA/CPLD供應(yīng)商軟件都提供與ModelSim的接口。Altera公司的FPGA/CPLD器件的集成度小到300門,大到超過1000萬門,可以用來設(shè)計(jì)、集成現(xiàn)有的大多數(shù)邏輯器件,直到實(shí)現(xiàn)單片系統(tǒng),而且其開發(fā)系統(tǒng)簡單易學(xué)、功能強(qiáng)大,學(xué)校計(jì)劃執(zhí)行非常好,占據(jù)了國內(nèi)大量的市場,很多學(xué)校和公司都使用Ahera公司的產(chǎn)品進(jìn)行設(shè)計(jì)和開發(fā)。QuartuslI適合通過畫波形圖做初級的仿真,但從Quartusl110.0起不再提供對波形仿真的支掙”。本文使用QuartusII13與ModelSim10軟件進(jìn)行聯(lián)合仿真,通過高電平異步復(fù)位24進(jìn)制計(jì)數(shù)器的設(shè)計(jì)說明二者聯(lián)合仿真的方法。

224進(jìn)制計(jì)數(shù)器的VHDL設(shè)計(jì)

目前,常用的HDL硬件描述語言主要有VHDL和VerilogHDL,其中VerilogHDL語言具有簡捷、高效、易學(xué)易用、功能強(qiáng)大等特點(diǎn),適用于RTL級和門電路級的描述;VHDL語言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。VHDL作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,已成為電子工程領(lǐng)域的實(shí)際通用硬件描述語言。

為了適應(yīng)實(shí)際數(shù)字電路的工作模式,VHDL在多個(gè)語句中并行和按順序同時(shí)描述所有可能的事件。因此VHDL程序執(zhí)行方式與其他計(jì)算機(jī)語言不同,它不是按順序一條一條執(zhí)行每一條語句,而是有并行執(zhí)行的語句同時(shí)也有按順序執(zhí)行的語句,VHDL程序由一組并行語句構(gòu)成,并行語句中有順序語句,這就要求電路設(shè)計(jì)人員擺脫一維思維模式,完成多維并行思維的VHDL編程。

在綜合分析電子系統(tǒng)任務(wù)書發(fā)布的系統(tǒng)功能和技術(shù)指標(biāo)后,根據(jù)已獲取的知識和數(shù)據(jù),將系統(tǒng)總體功能合理分解為多個(gè)子系統(tǒng),定義好各個(gè)子系統(tǒng)的接口,并將子系統(tǒng)塊互連,形成系統(tǒng)框圖,采用自頂向下的設(shè)計(jì)方法,與傳統(tǒng)的根據(jù)元件選擇實(shí)現(xiàn)方法有根本不同。各個(gè)設(shè)計(jì)小組分別設(shè)計(jì)子系統(tǒng)。電子系統(tǒng)設(shè)計(jì)的質(zhì)量直接取決于電子系統(tǒng)總體方案的選擇。在設(shè)計(jì)整體方案時(shí),應(yīng)該多思考,分析更多,并進(jìn)行更多比較。綜合考慮性能穩(wěn)定、運(yùn)行可靠、電路簡單、成本低、功耗低、測試維護(hù)方便等因素,選擇最佳方案。通過計(jì)算機(jī)下載到硬件芯片中,實(shí)現(xiàn)電路功能,極大加快產(chǎn)品設(shè)計(jì)進(jìn)程,可以使產(chǎn)品快速進(jìn)入市場。

計(jì)數(shù)器是一種基本時(shí)序邏輯電路,主要用來對輸入的脈沖個(gè)數(shù)進(jìn)行累計(jì)和記憶,兼有分頻、定時(shí)、產(chǎn)生節(jié)拍脈沖及進(jìn)行數(shù)字運(yùn)算等功能,交通燈、時(shí)鐘等控制器的核心就是計(jì)數(shù)器。實(shí)現(xiàn)異步高電平復(fù)位24進(jìn)制計(jì)數(shù)器的VHDL主要程序如下:

啟動(dòng)EDA設(shè)計(jì)軟件Quartuslll3,新建項(xiàng)目工程,將24進(jìn)制計(jì)數(shù)器程序輸入QuartuslI并編譯查錯(cuò)直至沒有語法錯(cuò)誤,生成網(wǎng)表文件和SDF文件,供ModelSim調(diào)用。

3利用ModelSim進(jìn)行仿真及分析

測試平臺(Testbench)是驗(yàn)證基于VHDL的FPGA設(shè)計(jì)的有效方法。一個(gè)完整的測試平臺由三部分組成:信號定義、模塊接口和功能代碼。測試仿真的流程為對被測試設(shè)計(jì)的頂層接口進(jìn)行例化、給輸入接口加激勵(lì)、判斷輸出是與否滿足設(shè)計(jì)要求。通過觀察仿真輸出波形驗(yàn)證所寫RTL代碼正確與否,若符合預(yù)期,則驗(yàn)證結(jié)束,否則修改代碼直至與預(yù)期相同。雖然畫波形圖的方法比Testbench更加直觀且易于上手,但畫波形圖只能產(chǎn)生有限的輸入信號,從而只能完成較初級的功能測試。Testbench可以產(chǎn)生不同種類激勵(lì)信號,易于實(shí)現(xiàn)遠(yuǎn)遠(yuǎn)高于繪圖波形提供的功能覆蓋,可重用性及平臺移植性都好。對于復(fù)雜設(shè)計(jì)來說,可能的狀態(tài)較多,仿真耗時(shí)很長,若只是通過畫波形圖來人為觀測,比對功能是否實(shí)現(xiàn)的效率會很低,而Testbench是以程序語言的方式進(jìn)行描述的,在仿真過程中可以使用還原點(diǎn)和仿真恢復(fù),以減少不必要的仿真,提高仿真效率,通過波形比較,將配套的“.dif”和“.rul”文件添加到對話框中,就可以快速地查看比較的波形結(jié)果,定位代碼的問題所在,測試臺的模擬速度比波形圖快幾個(gè)數(shù)量級。在本文的設(shè)計(jì)中,用VHDL語言來設(shè)計(jì)測試平臺(Testbench),程序主要內(nèi)容如下:

啟動(dòng)ModelSim軟件,先建立一個(gè)work庫后,創(chuàng)建一個(gè)新項(xiàng)目project,編譯相應(yīng)設(shè)備的庫文件,將QuartuslI生成的包含設(shè)計(jì)中的延遲信息和時(shí)序約束信息SDF仿真文件添加到Model-Sim工程中,編譯上述Testbench文件,運(yùn)行仿真,結(jié)果如圖l所示。

4結(jié)束語

VHDL語言能進(jìn)行系統(tǒng)級的硬件描述是它的一個(gè)最突出的優(yōu)點(diǎn),充分利用VHDL語言的易操作性和安全性,可以改善電子產(chǎn)品的設(shè)計(jì)過程,促進(jìn)行業(yè)進(jìn)步,加快產(chǎn)品更新,提高市場占有率。根據(jù)上述的設(shè)計(jì)及聯(lián)合仿真方法,通過QuartuslI編譯VHDL源文件,生成仿真文件,再利用VHDL語言寫測試平臺,啟動(dòng)ModelSim進(jìn)行模擬。這樣二種軟件分工明確,從圖1可知,仿真的結(jié)果正確,達(dá)到預(yù)期目的。充分發(fā)揮ModelSim仿真速度更快、功能更強(qiáng)的特性,易于查錯(cuò),可以大大減少開發(fā)時(shí)間,提高開發(fā)效率。

周宁县| 和平区| 枣庄市| 诏安县| 东辽县| 城固县| 兰考县| 白朗县| 桦甸市| 甘洛县| 舟曲县| 朔州市| 辉县市| 滨州市| 茌平县| 治县。| 衡南县| 监利县| 兰考县| 闵行区| 搜索| 哈尔滨市| 海城市| 乌什县| 民权县| 东乡| 永兴县| 芷江| 大竹县| 伊金霍洛旗| 乌拉特前旗| 乳源| 开封市| 碌曲县| 呼伦贝尔市| 民丰县| 漳州市| 余姚市| 闵行区| 昔阳县| 澄城县|