最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

仿真和綜合

2022-12-17 07:09 作者:明德?lián)P易老師  | 我要投稿

本節(jié)的文檔編號(hào):001100000035

需要看對(duì)應(yīng)的視頻,請(qǐng)點(diǎn)擊視頻編號(hào):?001000000049

1、本節(jié)主要介紹使用綜合器對(duì)Verilog代碼進(jìn)行解釋并將代碼轉(zhuǎn)化成實(shí)際電路來(lái)表示,最終產(chǎn)生實(shí)際電路(網(wǎng)表),即綜合;為了避免在編寫(xiě)好代碼、綜合成電路、燒寫(xiě)到FPGA后才發(fā)現(xiàn)問(wèn)題,此時(shí)再去定位問(wèn)題就會(huì)非常的地困難,所以,在綜合前,設(shè)計(jì)師可以通過(guò)仿真軟件對(duì)代碼進(jìn)行仿真測(cè)試,檢測(cè)出BUG并將其解決,最后再將程序燒寫(xiě)進(jìn)FPGA,即仿真;在Veriglog語(yǔ)言中,有些語(yǔ)法結(jié)構(gòu)只是以仿真測(cè)試為目的,是不能與實(shí)際硬件電路對(duì)應(yīng)起來(lái)的,也稱之為不可綜合語(yǔ)法,本節(jié)整理了不可綜合或者不推薦使用的代碼。
2、這是ALTERA和VIVADO文檔

第2節(jié)?綜合和仿真


2.1?綜合

?Verilog是硬件描述語(yǔ)言,顧名思義,就是用代碼的形式描述硬件的功能,最終在硬件電路上實(shí)現(xiàn)該功能。

在Verilog描述出硬件功能后需要使用綜合器對(duì)Verilog代碼進(jìn)行解釋并將代碼轉(zhuǎn)化成實(shí)際的電路來(lái)表示,

最終產(chǎn)生實(shí)際的電路,也被稱為網(wǎng)表。這種將Verilog代碼轉(zhuǎn)成網(wǎng)表的工具就是綜合器。

?上圖左上角是一段Verilog代碼,該代碼實(shí)現(xiàn)了一個(gè)加法器的功能。

在經(jīng)過(guò)綜合器解釋后該代碼被轉(zhuǎn)化成一個(gè)加法器電路。

QUARTUS、ISE和VIVADO等FPGA開(kāi)發(fā)工具都是綜合器,而在集成電路設(shè)計(jì)領(lǐng)域常用的綜合器是DC。


2.2?仿真

?在FPGA設(shè)計(jì)的過(guò)程中,不可避免會(huì)出現(xiàn)各種BUG。如果在編寫(xiě)好代碼、綜合成電路、燒寫(xiě)到FPGA后才發(fā)現(xiàn)問(wèn)題,

此時(shí)再去定位問(wèn)題就會(huì)非常地困難。而在綜合前,設(shè)計(jì)師可以在電腦里通過(guò)仿真軟件對(duì)代碼進(jìn)行仿真測(cè)試,

檢測(cè)出BUG并將其解決,最后再將程序燒寫(xiě)進(jìn)FPGA。一般情況下可以認(rèn)為沒(méi)有經(jīng)過(guò)仿真驗(yàn)證的代碼,一定是存在BUG的。

為了模擬真實(shí)的情況,需要編寫(xiě)測(cè)試文件。該文件也是用Verilog編寫(xiě)的,其描述了仿真對(duì)象的輸入激勵(lì)情況。

該激勵(lì)力求模仿最真實(shí)的情況,產(chǎn)生最接近的激勵(lì)信號(hào),將該信號(hào)的波形輸入給仿真對(duì)象,

查看仿真對(duì)象的輸出是否與預(yù)期一致。需要注意的是:在仿真過(guò)程中沒(méi)有將代碼轉(zhuǎn)成電路,

仿真器只是對(duì)代碼進(jìn)行仿真驗(yàn)證。至于該代碼是否可轉(zhuǎn)成電路,仿真器并不關(guān)心。

由此可見(jiàn),Verilog的代碼不僅可以描述電路,還可以用于測(cè)試。事實(shí)上,Verilog定義的語(yǔ)法非常之多,

但絕大部分都是為了仿真測(cè)試來(lái)使用的,只有少部分才是用于電路設(shè)計(jì),詳細(xì)可以參考本書(shū)的“可綜合邏輯設(shè)計(jì)”一節(jié)。

Verilog中用于設(shè)計(jì)的語(yǔ)法是學(xué)習(xí)的重點(diǎn),掌握好設(shè)計(jì)的語(yǔ)法并熟練應(yīng)用于各種復(fù)雜的項(xiàng)目是技能的核心。

而其他測(cè)試用的語(yǔ)法,在需要時(shí)查找和參考就已經(jīng)足夠了。本書(shū)旨在方便本科、研究生的教學(xué),因此將重點(diǎn)講解設(shè)計(jì)用的語(yǔ)法。


2.3?可綜合設(shè)計(jì)

Verilog硬件描述語(yǔ)言有類似高級(jí)語(yǔ)言的完整語(yǔ)法結(jié)構(gòu)和系統(tǒng),這些語(yǔ)法結(jié)構(gòu)的應(yīng)用給設(shè)計(jì)描述帶來(lái)很多方便。

但是,Verilog是描述硬件電路的,其建立在硬件電路的基礎(chǔ)之上。而有些語(yǔ)法結(jié)構(gòu)只是以仿真測(cè)試為目的,

是不能與實(shí)際硬件電路對(duì)應(yīng)起來(lái)的。也就是說(shuō)在使用這些語(yǔ)法時(shí),

將一個(gè)語(yǔ)言描述的程序映射成實(shí)際硬件電路中的結(jié)構(gòu)是不能實(shí)現(xiàn)的,也稱為不可綜合語(yǔ)法。

綜合就是把編寫(xiě)的rtl代碼轉(zhuǎn)換成對(duì)應(yīng)的實(shí)際電路。

比如編寫(xiě)代碼assign a=b&c;EDA綜合工具就會(huì)去元件庫(kù)里調(diào)用一個(gè)二輸入與門(mén),

將輸入端分別接上b和c,輸出端接上a。

同樣地,如果設(shè)計(jì)師編寫(xiě)了一些如下所示的語(yǔ)句

assign a=b&c;

assign c=e|f;

assign e=x^y;

……

綜合工具就會(huì)像搭積木一樣把這些“邏輯”電路用一些“門(mén)”電路來(lái)搭起來(lái)。

當(dāng)然,工具會(huì)對(duì)必要的地方做一些優(yōu)化,比如編寫(xiě)一個(gè)電路assing a=b&~b,工具就會(huì)將a恒接為0,

而不會(huì)去調(diào)用一個(gè)與門(mén)來(lái)搭這個(gè)電路。

綜上所述,“綜合”要做的事情有:編譯rtl代碼,從庫(kù)里選擇用到的門(mén)器件,

把這些器件按照“邏輯”搭建成“門(mén)”電路。

不可綜合,是指找不到對(duì)應(yīng)的“門(mén)”器件來(lái)實(shí)現(xiàn)相應(yīng)的代碼。比如“#100”之類的延時(shí)功能,

簡(jiǎn)單的門(mén)器件是無(wú)法實(shí)現(xiàn)延時(shí)100個(gè)單元的,還有打印語(yǔ)句等,也是門(mén)器件無(wú)法實(shí)現(xiàn)的。

在設(shè)計(jì)的時(shí)候要確保所寫(xiě)的代碼是可以綜合的,這就依賴于設(shè)計(jì)者的能力,知道什么是可綜合的代碼,

什么是不可綜合的代碼。對(duì)于初學(xué)者來(lái)說(shuō),最好是先記住規(guī)則,遵守規(guī)則,

先按規(guī)則來(lái)設(shè)計(jì)電路并在這一過(guò)程中逐漸理解,這是最好的學(xué)習(xí)路徑。

下面表格中列出了不可綜合或者不推薦使用的代碼。

下表是筆者推薦使用的設(shè)計(jì)。

相關(guān)視頻:https://www.bilibili.com/video/BV1yf4y1R7gH?p=4


仿真和綜合的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东安县| 宁德市| 泾川县| 离岛区| 灯塔市| 吉木乃县| 临朐县| 南靖县| 左贡县| 固阳县| 外汇| 将乐县| 安康市| 马尔康县| 孟津县| 定结县| 阿鲁科尔沁旗| 县级市| 明溪县| 湘乡市| 汉阴县| 新疆| 肥乡县| 和田市| 鄂托克旗| 钦州市| 鱼台县| 淮安市| 曲阜市| 灌云县| 荔波县| 罗甸县| 鹤壁市| 石台县| 大姚县| 嫩江县| 子长县| 化州市| 东乌珠穆沁旗| 通化县| 正蓝旗|