999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VHDL設(shè)計(jì)的FPGA功能仿真結(jié)果與實(shí)際功能不一致問題研究

2017-04-08 09:06:49金臻姜麗梅

金臻++姜麗梅

摘要:在FPGA設(shè)計(jì)過程中,功能仿真(前仿真)使用EDA工具將硬件描述語言(設(shè)計(jì)源代碼)用仿真器解析并進(jìn)行功能驗(yàn)證,而設(shè)計(jì)中則采用的芯片廠商的工具進(jìn)行綜合及布局布線,兩者對硬件描述語言的解析采用的工具不同,可能會導(dǎo)致對代碼的理解不一致,仿真結(jié)果與實(shí)際設(shè)計(jì)功能不一致。在使用VHDL進(jìn)行FPGA設(shè)計(jì)時,當(dāng)對時鐘信號進(jìn)行賦值后,在本文的情況下,目前主流EDA工具在信號賦值語句的解析實(shí)際設(shè)計(jì)均不一致,在FPGA設(shè)計(jì)過程中應(yīng)盡量避免使用該類語法,仿真驗(yàn)證過程中應(yīng)對此予以關(guān)注。

關(guān)鍵詞:FPGA;VHDL;功能仿真;綜合;布局布線

中圖分類號:TM13 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)02-0111-03

1 引言

當(dāng)前的FPGA設(shè)計(jì)流程一般都是通過EDA[1]開發(fā)軟件和編程工具對FPGA芯片進(jìn)行開發(fā),開發(fā)流程通常包括電路設(shè)計(jì)與輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)與布局布線、時序仿真、板級仿真與驗(yàn)證、調(diào)試與加載配置等主要步驟[2]。其中每個步驟所采用的EDA工具都不盡相同。

由于功能仿真的工具和綜合布局布線的工具不同,本文從一個功能仿真與綜合布局布線結(jié)果不一致的例子引出了對VHDL代碼中可能引起功能仿真結(jié)果不正確的原因的分析。

2 功能仿真、綜合、布局布線的基本目的和常用工具

功能仿真又叫邏輯仿真,是指在不考慮器件延時和布線延時的理想情況下對源代碼進(jìn)行邏輯功能的驗(yàn)證[3]。功能仿真的主要目的是確定一個設(shè)計(jì)是否實(shí)現(xiàn)了預(yù)定的功能或設(shè)計(jì)意圖,分析電路的邏輯關(guān)系的正確性[4],由于仿真速度快,可以根據(jù)需要觀察電路輸入輸出端口和電路內(nèi)部任意信號和寄存器的波形,因此功能仿真是設(shè)計(jì)過程中不可缺少的步驟。目前功能仿真常用的EDA工具為Mentor公司Modelsim/QuestaSim、Sysnopsys公司的VCS和Cadence公司的NC等軟件。

綜合是將RTL級的行為描述轉(zhuǎn)化為使用門級單元的結(jié)構(gòu)描述[5]即網(wǎng)表。網(wǎng)表文件主要記錄的是所用工藝庫門級單元之間的互連關(guān)系(即門級結(jié)構(gòu))。而布局布線則是對網(wǎng)表中的每一個門級單元在器件中定位(布局) , 并使用器件內(nèi)的連線資源按照網(wǎng)表中的連接關(guān)系連接起來(布線)的操作[4]。因?yàn)榫C合和布局布線將軟件設(shè)計(jì)與硬件的可實(shí)現(xiàn)性掛鉤,是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟[6]。由于綜合和布局布線與FPGA底層資源關(guān)系緊密,根據(jù)采用的芯片不同,一般設(shè)計(jì)人員采用各個FPGA廠家自己推出的綜合開發(fā)工具。

3 功能仿真結(jié)果與實(shí)際功能不一致案例

在對某個采用VHDL編寫的FPGA設(shè)計(jì)進(jìn)行功能仿真和硬件調(diào)試中發(fā)現(xiàn)兩者結(jié)果不一致的情況。分析結(jié)果發(fā)現(xiàn)硬件功能與設(shè)計(jì)意圖一致,而功能仿真發(fā)生錯誤。設(shè)計(jì)代碼可簡化如圖1。

根據(jù)代碼分析設(shè)計(jì)意圖為:時鐘信號CLKA在該設(shè)計(jì)中進(jìn)行了被賦值給了sys_clk信號,即將信號CLKA重命名為sys_clk,用重命名后的時鐘信號sys_clk對Gate信號進(jìn)行延遲1個時鐘周期產(chǎn)生信號Gate_r。而使用VCS仿真結(jié)果如圖2所示。

用sys_clk信號對時鐘CLKA信號產(chǎn)生的Gate信號進(jìn)行延遲時,仿真器顯示Gate_r與Gate信號波形一致;同時將Gate信號進(jìn)行賦值,則Gate_wr信號為Gate_w延遲1個時鐘,與設(shè)計(jì)意圖不一致。

4 不一致原因分析

分析代碼發(fā)現(xiàn),由于在設(shè)計(jì)中對時鐘信號進(jìn)行了賦值(重命名),導(dǎo)致該時鐘產(chǎn)生的信號用賦值后的時鐘進(jìn)行延時處理時,第一個節(jié)拍的延遲未起作用,仿真的信號比實(shí)際信號在該處提前一個時鐘周期跳變,仿真功能與實(shí)際設(shè)計(jì)不一致。

我們試用Modelsim仿真發(fā)現(xiàn),仿真結(jié)果與VCS仿真結(jié)果一致(圖3)。根據(jù)VHDL信號語法特性結(jié)合仿真器工作原理分析如下:

(1)在VHDL中,在進(jìn)程(process)外的信號賦值有一定的延時[7],在仿真是對應(yīng)于在等式右邊的信號值跳變后的delta時間后;

(2)在進(jìn)程(process)內(nèi)信號的賦值在進(jìn)程結(jié)束時起作用[8];

(3)仿真中,時鐘上升沿判斷后也會產(chǎn)生一個delta時間;

(4)仿真中,進(jìn)程(process)內(nèi)信號的時鐘邊沿賦值是將時鐘信號跳變時刻等式右側(cè)的信號值在時鐘跳變后的delta時間賦值給左側(cè)的被賦值信號;

打開仿真器的List信號分析信號跳變過程(圖4),針對圖2的設(shè)計(jì)代碼分析如下,

(1)CLKA的跳變產(chǎn)生了第一個delta時間(420ns + 1);

(2)由于代碼中的賦值語句“sys_clk<=CLKA”仿真過程多了個delta時間(420ns +2),因此process外的信號sys_clk在420ns +2處由0跳變?yōu)?;

(3)而process 中的時鐘邊沿賦值Gate<=1 也在CLKA上升沿后的delta時刻(420ns +2)將CLKA上升沿跳變時刻(420ns + 1)的1賦值給Gate。

(4)對于process 中的時鐘邊沿賦值Gate_r<=Gate,賦值發(fā)生在時鐘信號sys_clk上升沿跳變時刻(420ns+2)后的delta時間(420ns+3),而在仿真器發(fā)現(xiàn)在sys_clk由0跳變?yōu)?的420ns +2時刻,Gate =1,所以在420ns +3時刻,Gate_r被賦值為1。

盡管Gate_r的跳變晚于Gate,但僅晚了一個delta時間,不占用仿真時間,所以導(dǎo)致了從波形仿真結(jié)果看Gate_r與Gate同時跳變的現(xiàn)象。

而對以上代碼使用芯片廠商開發(fā)工具進(jìn)行綜合和布局布線,很顯然,Gate_r在時鐘sys_clk的賦值將被綜合成觸發(fā)器(如圖5),sys_clk的賦值(重命名)將被綜合成線連接,sys_clk等同于CLKA。從硬件實(shí)現(xiàn)看,Gate_r實(shí)際布局布線后將晚于Gate一個時鐘周期而不是一個仿真用的delta時間。因此,功能仿真結(jié)果和布局布線后實(shí)際功能不一致。

5 糾正措施分析

根據(jù)上面的機(jī)理分析,對于本段代碼,以下兩個方法均可以使得功能仿真與設(shè)計(jì)一致:

方法一:將設(shè)計(jì)中的Gate_r的賦值條件由sys_clk改為CLKA時,仿真結(jié)果與預(yù)期結(jié)果一致,再次觀察Modelsim信號List,可見由于少了時鐘賦值語句,420ns處未出現(xiàn)420 +3時刻,Gate_r的賦值發(fā)生在時鐘信號CLK從0跳變?yōu)?且Gate=1(460ns + 1)時刻后的delta時間(460ns +2),功能與設(shè)計(jì)一致。

方法二:對Gate信號也同時進(jìn)行一次賦值產(chǎn)生Gate_w信號,在process中依然將該信號用sys_clk上升沿采樣賦值,則Gate_wr信號為Gate信號延遲一個時鐘周期。仿真波形如圖5所示,觀察仿真器的信號List,可以發(fā)現(xiàn),仿真過程和上一種改法是不一致的。仿真器依然產(chǎn)生了420ns +3時刻,但由于Gate_w信號的跳變在420 +3時刻發(fā)生,Gate_wr信號的跳變依然晚于Gate信號一個時鐘周期,在460 +3時跳變,因此仿真結(jié)果與設(shè)計(jì)實(shí)際要求一致。

6 結(jié)語

根據(jù)VHDL中對于信號賦值的延時特性,仿真器的原理嚴(yán)格按照VHDL語法進(jìn)行,而廠商的綜合布局布線工具卻更加考慮到底層電路的特性。因此在基于VHDL的FPGA設(shè)計(jì)中,對時鐘信號的賦值在因?yàn)閂HDL語法種信號賦值特性的原因可能會造成仿真器的解析與期望不一致的情況。經(jīng)測試,這種解析方式為仿真器EDA廠商的一致做法,我們利用手上多個版本的VCS和Modelsim均無法避免這種現(xiàn)象的發(fā)生。同時,由于verilog語法中,進(jìn)程外的信號賦值僅相當(dāng)于重命名操作,不存在延時,故此類問題在verilog的仿真中不會出現(xiàn)。

對于FPGA設(shè)計(jì)人員,在VHDL設(shè)計(jì)中應(yīng)特別注意避免對時鐘信號的賦值操作,以免出現(xiàn)為了功能仿真的結(jié)果正確性改動代碼后導(dǎo)致實(shí)際功能錯誤的情況。

在FPGA的驗(yàn)證工作中,由于沒有有效的自動檢測手段,在分析VHDL代碼時,驗(yàn)證人員也應(yīng)重點(diǎn)注意設(shè)計(jì)代碼中有沒有對時鐘賦值操作,以及該操作會不會影響功能仿真結(jié)果,避免漏測問題或者誤測問題,必要時進(jìn)行綜合后仿真或布局布線后仿真對功能仿真結(jié)果進(jìn)行確認(rèn)。

參考文獻(xiàn)

[1]梁麗.EDA技術(shù)在現(xiàn)代電子設(shè)計(jì)中的應(yīng)用研[J].科技創(chuàng)新與應(yīng)用,2016(35),66-67.

[2]蔣昊,李哲英.基于多種EDA工具的FPGA設(shè)計(jì)流程[J].微計(jì)算機(jī)信息,2007,23(11-2):201-203.

[3]戚新宇.基于FPGA 設(shè)計(jì)的功能仿真和時序仿真[J].航空電子技術(shù),2005,36(03):51-54.

[4]程耀林.FPGA的系統(tǒng)設(shè)計(jì)方法解析[J].電子技術(shù),2005(19):91-93.

[5]楊之廉,申明.超大規(guī)模集成電路設(shè)計(jì)方法學(xué)導(dǎo)論[M].北京:清華大學(xué)出版社,2000.

[6]潘松.電子設(shè)計(jì)自動化(EDA)技術(shù)及其應(yīng)用(一)[J].電子與自動化,2000(1):52-55.

[7]侯伯亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M].西安電子科技大學(xué)出版社,1999.

[8]楊丹.VHDL中的信號與變量[J].電子工程師,2006,32(11):53-55.

主站蜘蛛池模板: 伊人色综合久久天天| 在线a视频免费观看| 亚洲国产亚洲综合在线尤物| 国产精品美人久久久久久AV| 91久久夜色精品国产网站| 91毛片网| 欧美人人干| 欧美在线伊人| 亚洲成A人V欧美综合| 国产成人1024精品下载| 91在线一9|永久视频在线| 2022精品国偷自产免费观看| 国产产在线精品亚洲aavv| 国产在线视频福利资源站| 亚洲一道AV无码午夜福利| 亚洲国产成人在线| 2022国产91精品久久久久久| 欧美日韩国产在线人成app| 午夜免费小视频| 亚洲视频无码| 这里只有精品国产| 亚洲国产天堂久久综合226114| 自拍偷拍欧美日韩| 国产精品亚洲专区一区| 免费观看亚洲人成网站| 激情综合图区| av在线人妻熟妇| 永久天堂网Av| 国产在线无码av完整版在线观看| 亚洲AV无码久久精品色欲| 国产一线在线| 操操操综合网| 亚洲精品天堂在线观看| 免费可以看的无遮挡av无码| 一本大道香蕉高清久久| 另类欧美日韩| 亚洲免费福利视频| 精品福利国产| 九色综合伊人久久富二代| 免费无码AV片在线观看中文| 亚洲国产理论片在线播放| 亚洲娇小与黑人巨大交| 亚洲国产精品无码久久一线| 亚洲无码高清一区| 91无码国产视频| 久久人人爽人人爽人人片aV东京热| 久久黄色一级视频| 午夜欧美理论2019理论| 永久毛片在线播| 国产成人1024精品下载| 精品人妻无码区在线视频| 国产精品任我爽爆在线播放6080| 999精品免费视频| 毛片最新网址| 亚洲精品福利视频| 亚洲欧洲日产无码AV| 国产在线观看高清不卡| 欧美在线观看不卡| 欧美成人看片一区二区三区| 亚洲清纯自偷自拍另类专区| 毛片免费视频| 亚洲大学生视频在线播放| 91精品国产自产91精品资源| 亚洲成综合人影院在院播放| 亚洲AⅤ无码国产精品| 99这里只有精品在线| 精品综合久久久久久97超人该| 成人国产精品一级毛片天堂| 亚洲欧洲自拍拍偷午夜色| 日本国产在线| 狠狠五月天中文字幕| 激情無極限的亚洲一区免费| 国产噜噜噜视频在线观看| 福利在线不卡一区| 在线国产欧美| 国产jizzjizz视频| 久996视频精品免费观看| 国产成人精品一区二区三区| 极品尤物av美乳在线观看| 国产精品久久久久久久久kt| 91成人在线观看视频| 国产在线观看91精品亚瑟|