一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA入門之綜合和仿真

jf_78858299 ? 來(lái)源:CSDN ? 作者:原來(lái)如此呀 ? 2023-03-21 10:31 ? 次閱讀

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ā)工具都是綜合器, 而在集成電路ASIC設(shè)計(jì)領(lǐng)域常用的綜合器是 DC。

2.2 仿真

在 FPGA 設(shè)計(jì)的過(guò)程中,不可避免會(huì)出現(xiàn)各種 BUG。如果在編寫好代碼、 綜合成電路、 燒寫到FPGA 后才發(fā)現(xiàn)問(wèn)題,此時(shí)再去定位問(wèn)題就會(huì)非常地困難。 而在綜合前, 設(shè)計(jì)師可以在電腦里通 過(guò)仿真軟件對(duì)代碼進(jìn)行仿真測(cè)試, 檢測(cè)出 BUG 并將其解決,最后再將程序燒寫進(jìn) FPGA。一般情況下可以認(rèn)為沒(méi)有經(jīng)過(guò)仿真驗(yàn)證的代碼,一定是存在 BUG 的。

為了模擬真實(shí)的情況,需要編寫測(cè)試文件。該文件也是用 Verilog 編寫的, 其描述了仿真對(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)足夠了。

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ǔ)法。

綜合就是把編寫的 rtl 代碼轉(zhuǎn)換成對(duì)應(yīng)的實(shí)際電路。比如編寫代碼 assign a=b&c; EDA 綜合工具就會(huì)去元件庫(kù)里調(diào)用一個(gè)二輸入與門, 將輸入端分別接上 b 和 c,輸出端接上 a。

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

綜合工具就會(huì)像搭積木一樣把這些“邏輯”電路用一些“門”電路來(lái)搭起來(lái)。當(dāng)然,工具會(huì)對(duì)必要的地方做一些優(yōu)化,比如編寫一個(gè)電路 assing a=b&~b,工具就會(huì)將 a 恒接為 0,而不會(huì)去調(diào)用一個(gè)與門來(lái)搭這個(gè)電路。

綜述所述,“綜合”要做的事情有:編譯 rtl 代碼,從庫(kù)里選擇用到的門器件,把這些器件按照“邏輯”搭建成“門”電路。

不可綜合,是指找不到對(duì)應(yīng)的“門”器件來(lái)實(shí)現(xiàn)相應(yīng)的代碼。比如“ #100”之類的延時(shí)功能,簡(jiǎn)單的門器件是無(wú)法實(shí)現(xiàn)延時(shí) 100 個(gè)單元的, 還有打印語(yǔ)句等,也是門器件無(wú)法實(shí)現(xiàn)的。在設(shè)計(jì)的時(shí)候要確保所寫的代碼是可以綜合的,這就依賴于設(shè)計(jì)者的能力,知道什么是可綜合的代碼,什么是不可綜合的代碼。對(duì)于初學(xué)者來(lái)說(shuō),最好是先記住規(guī)則,遵守規(guī)則,先按規(guī)則來(lái)設(shè)計(jì)電路并在這一過(guò)程中逐漸理解,這是最好的學(xué)習(xí)路徑。

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

1679365800(1).png

下表為 推薦使用的設(shè)計(jì)代碼 。

1679365822(1).png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    讀《FPGA入門教程》

    成的邏輯連接,輸出門級(jí)網(wǎng)表文件。門級(jí)仿真(綜合仿真) 在綜合后通過(guò)后仿真來(lái)檢查綜合結(jié)果是否與原
    發(fā)表于 03-29 16:42

    FPGA入門資料

    本帖最后由 eehome 于 2013-1-5 09:55 編輯 哪位大俠有FPGA入門級(jí)的資料,跪求?。?!關(guān)于FPGA可以實(shí)現(xiàn)哪些功能,進(jìn)行哪些方面的功能擴(kuò)展,比如內(nèi)嵌硬核、
    發(fā)表于 07-22 08:45

    FPGA入門:基本開(kāi)發(fā)流程概述

    FPGA入門:基本開(kāi)發(fā)流程概述 本文節(jié)選自特權(quán)同學(xué)的圖書(shū)《FPGA/CPLD邊練邊學(xué)——快速入門Verilog/VHDL》書(shū)中代碼請(qǐng)?jiān)L問(wèn)網(wǎng)盤:http://pan.baidu.com/
    發(fā)表于 02-09 20:14

    Xilinx FPGA無(wú)痛入門,海量教程免費(fèi)下載

    用notepad++的關(guān)聯(lián)設(shè)置Lesson07 特權(quán)Xilinx FPGA SF-SP6入門指南 -- ISE與Modelsim聯(lián)合仿真庫(kù)編譯Lesson08 特權(quán)Xilinx
    發(fā)表于 07-22 11:49

    Xilinx FPGA入門連載13:PWM蜂鳴器驅(qū)動(dòng)綜合、實(shí)現(xiàn)與配置文件產(chǎn)生

    `Xilinx FPGA入門連載13:PWM蜂鳴器驅(qū)動(dòng)綜合、實(shí)現(xiàn)與配置文件產(chǎn)生特權(quán)同學(xué),版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1jGjAh
    發(fā)表于 10-16 10:48

    Xilinx FPGA入門連載74:波形發(fā)生器IP核CORDIC(正弦波)功能仿真

    `Xilinx FPGA入門連載74:波形發(fā)生器IP核CORDIC(正弦波)功能仿真特權(quán)同學(xué),版權(quán)所有配套例程和更多資料下載鏈接:http://pan.baidu.com/s/1jG
    發(fā)表于 04-25 08:33

    功能仿真綜合仿真與時(shí)序仿真

    功能仿真:可以驗(yàn)證代碼的邏輯性,不加任何的時(shí)延信息。仿真工具為modelsim(組合邏輯和時(shí)序邏輯都可以功能仿真),modelsim不能綜合。在modelsim中添加相應(yīng)的激勵(lì)信號(hào),調(diào)
    發(fā)表于 08-23 16:57

    FPGA的邏輯仿真以及邏輯綜合的一些原則

    apex20ke_atoms.v編譯到其中。2:在圖形界面中的Load Design對(duì)話框中裝入仿真設(shè)計(jì)時(shí),在Verilog 標(biāo)簽下指定預(yù)編譯庫(kù)的完整路徑。(見(jiàn)下圖)邏輯綜合目前可用的FPGA
    發(fā)表于 05-15 07:00

    入門筆記:FPGA不是單片機(jī)

    按鈕,一口氣從綜合做到PAR(ISE和QuartusII都能一個(gè)按鈕跑整個(gè)flow),然后仿真。仿真OK?皆大歡喜。不OK?改code。咋改?不清楚。 這個(gè)過(guò)程中最大的問(wèn)題在于把FPGA
    發(fā)表于 11-02 17:27

    綜合仿真設(shè)計(jì)指南

    綜合仿真設(shè)計(jì)指南提供了使用硬件描述語(yǔ)言(HDL)設(shè)計(jì)FPGA。它包括為HDL設(shè)計(jì)新手提供設(shè)計(jì)提示,以及為第一次使用FPGA做設(shè)計(jì)的經(jīng)驗(yàn)豐富的工程師。在使用
    發(fā)表于 11-02 10:06 ?43次下載

    FPGA入門技術(shù)教程

    FPGA入門技術(shù)教程,適合新手剛入門的時(shí)候看
    發(fā)表于 01-24 16:29 ?49次下載

    C2837x入門:系統(tǒng)的調(diào)試仿真

    C2837x入門指南(十五)—系統(tǒng)設(shè)計(jì)調(diào)試仿真
    的頭像 發(fā)表于 08-23 00:06 ?2995次閱讀

    FPGA入門:第一個(gè)工程實(shí)例之功能仿真平臺(tái)搭建

    FPGA入門:第一個(gè)工程實(shí)例之功能仿真平臺(tái)搭建 本文節(jié)選自特權(quán)同學(xué)的圖書(shū)《FPGA/CPLD 邊練邊學(xué)——快速入門Verilog/VHDL
    發(fā)表于 12-28 00:07 ?1042次閱讀

    FPGA基礎(chǔ)HLS

    實(shí)現(xiàn),無(wú)縫的將硬件仿真環(huán)境集合在一起,使用軟件為中心的工具、報(bào)告以及優(yōu)化設(shè)計(jì),很容易的在 FPGA 傳統(tǒng)的設(shè)計(jì)工具中生成 IP。 傳統(tǒng)的 FPGA 開(kāi)發(fā),首先寫 HDL 代碼,然后做行為仿真
    的頭像 發(fā)表于 12-02 12:30 ?6264次閱讀

    FPGA入門FPGA 開(kāi)發(fā)流程

    硬件電路描述方法。其中,運(yùn)用 HDL 設(shè)計(jì)方法具有更好的移植性、通用性以及利于模塊劃分的特點(diǎn),在工作學(xué)習(xí)中被廣泛使用。典型 FPGA 的開(kāi)發(fā)流程一般如下圖所示, 其包括功能定義/器件選型、設(shè)計(jì)輸入、功能仿真綜合優(yōu)化、
    的頭像 發(fā)表于 03-21 10:26 ?3596次閱讀