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

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

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

FPGA的綜合和約束的關(guān)系

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-07-04 11:01 ? 次閱讀

前面已經(jīng)寫了大約10篇左右文章介紹了SV,效果不是特別理想,對于一些常規(guī)的概念還是比較好理解的,但是對于一些新的專業(yè)術(shù)語,翻譯的比較拗口還是比較難理解的,這是因?yàn)閲鴥?nèi)還沒有針對可綜合SystemVerilog系統(tǒng)的介紹,導(dǎo)致標(biāo)準(zhǔn)里的術(shù)語翻譯不精確,后續(xù)可能還是使用英語單詞來表示,然后用一些非專業(yè)術(shù)語去解釋,下面簡單總結(jié)一下這十幾篇內(nèi)容。

最前面幾篇文章重點(diǎn)介紹SystemVerilog仿真與綜合概念及一些對比,總結(jié)如下:

SystemVerilog是硬件設(shè)計(jì)和驗(yàn)證語言的IEEE行業(yè)標(biāo)準(zhǔn)。標(biāo)準(zhǔn)編號為IEEE 1800。SystemVerilog名稱將替換舊版Verilog名稱。SystemVerilog語言是原始Verilog硬件描述語言的完整超集。SystemVerilog是一種雙用途語言,用于描述數(shù)字硬件功能以及驗(yàn)證測試臺(tái)。

f81d83a8-e634-11ec-ba43-dac502259ad0.png

硬件行為可以在幾個(gè)抽象級別上表示,從非常詳細(xì)的門級模型到非常抽象的事務(wù)級模型。本系列的重點(diǎn)是在寄存器傳輸級別(RTL)編寫SystemVerilog模型。RTL模型表示基于周期的行為,很少或根本沒有提及如何在硅中實(shí)現(xiàn)功能。

SystemVerilog RTL模型如果編碼正確,可以進(jìn)行仿真和綜合,仿真使用用戶定義的測試臺(tái)將激勵(lì)應(yīng)用于設(shè)計(jì)輸入,并驗(yàn)證設(shè)計(jì)功能是否符合預(yù)期。仿真對SystemVerilog語言的使用沒有任何限制。綜合將抽象的RTL功能轉(zhuǎn)換為詳細(xì)的門級實(shí)現(xiàn)。綜合編譯器限制了可以使用哪些SystemVeriIog語言結(jié)構(gòu)以及如何使用這些結(jié)構(gòu)。Lint checker工具可用于檢查RTL模型是否符合綜合編譯器的限制。

接下來完整的介紹了SV的數(shù)據(jù)類型:網(wǎng)絡(luò)和變量類型,總結(jié)如下:

研究了SystemVerilog語言中預(yù)定義的內(nèi)置類型和數(shù)據(jù)類型。重點(diǎn)是對編寫RTL模型有用的類型和數(shù)據(jù)類型,這些RTL模型將以最佳方式進(jìn)行仿真和綜合。

SystemVerilog具有2-state和4-state數(shù)據(jù)類型。4-state數(shù)據(jù)類型的四值系統(tǒng)允許建模硬件行為值0、1和Z表示物理硬件。值X用于仿真不關(guān)心條件,其中設(shè)計(jì)工程師不關(guān)心物理硬件是否具有0或1值。仿真器還使用X值表示潛在問題,其中仿真無法確定實(shí)際邏輯門是否具有0、1或Z。SystemVerilog的2-state類型不應(yīng)用于仿真硬件行為,因?yàn)樗鼈儧]有X值來表示仿真期間的潛在設(shè)計(jì)錯(cuò)誤。

SystemVerilog網(wǎng)絡(luò)類型(如wire類型)用于將設(shè)計(jì)塊連接在一起。網(wǎng)絡(luò)始終使用4-state數(shù)據(jù)類型,并且當(dāng)有多個(gè)源驅(qū)動(dòng)同一網(wǎng)絡(luò)時(shí),可以解析最終值。SystemVerilog變量類型用于接收賦值語句左側(cè)的值,并將存儲(chǔ)賦值=直到對變量進(jìn)行另一次賦值。SystemVerilog有幾種網(wǎng)絡(luò)類型和變量數(shù)據(jù)類型。已經(jīng)展示了聲明網(wǎng)絡(luò)和變量的語法,并討論了重要的語義規(guī)則。還討論了在RTL模型中如何正確使用這些不同的網(wǎng)絡(luò)和變量。

SystemVeriIog允許通過使用參數(shù)和localparam常量編寫可配置的模型??梢允褂脜?shù)重寫(也稱為參數(shù)重新定義)為模塊的每個(gè)實(shí)例指定常數(shù)的唯一值。

f83e8846-e634-11ec-ba43-dac502259ad0.jpg

優(yōu)秀的 Verilog/FPGA開源項(xiàng)目介紹(二十二)- SystemVerilog常用可綜合IP模塊庫

談?wù)刅erilog和SystemVerilog簡史,F(xiàn)PGA設(shè)計(jì)是否需要學(xué)習(xí)SystemVerilog

SystemVerilog數(shù)字系統(tǒng)設(shè)計(jì)_夏宇聞 PDF

SystemVerilog(一)-RTL和門級建模

數(shù)字硬件建模-Verilog篇階段總結(jié)及SystemVerilog篇介紹

SystemVerilog(二)-ASIC和FPGA區(qū)別及建模概念

SystemVerilog(三)-仿真

f9c9b71c-e634-11ec-ba43-dac502259ad0.jpg

FPGA的綜合和約束的關(guān)系

SystemVerilog(五)-文本值

SystemVerilog(六)-變量

fa651176-e634-11ec-ba43-dac502259ad0.jpg

SystemVerilog(七)-網(wǎng)絡(luò)

fabb82ea-e634-11ec-ba43-dac502259ad0.jpg

數(shù)字硬件建模SystemVerilog(八)-端口聲明

f81d83a8-e634-11ec-ba43-dac502259ad0.png

現(xiàn)在介紹完前兩級的內(nèi)容,后續(xù)將介紹最重要的一章-《用戶自定義類型和包》。有什么問題可以后臺(tái)留言。

原文標(biāo)題:SystemVerilog-階段性總結(jié)(一)

文章出處:【微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603657
  • IEEE
    +關(guān)注

    關(guān)注

    7

    文章

    382

    瀏覽量

    47022
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120445
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3338

    瀏覽量

    66245

原文標(biāo)題:SystemVerilog-階段性總結(jié)(一)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    時(shí)序約束一主時(shí)鐘與生成時(shí)鐘

    一、主時(shí)鐘create_clock 1.1 定義 主時(shí)鐘是來自FPGA芯片外部的時(shí)鐘,通過時(shí)鐘輸入端口或高速收發(fā)器GT的輸出引腳進(jìn)入FPGA內(nèi)部。對于賽靈思7系列的器件,主時(shí)鐘必須手動(dòng)定義到GT
    的頭像 發(fā)表于 11-29 11:03 ?381次閱讀
    時(shí)序<b class='flag-5'>約束</b>一主時(shí)鐘與生成時(shí)鐘

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設(shè)計(jì)和分析中起著至關(guān)重要的作用。 一、電氣約束 電氣
    的頭像 發(fā)表于 08-25 09:34 ?915次閱讀

    深度解析FPGA中的時(shí)序約束

    建立時(shí)間和保持時(shí)間是FPGA時(shí)序約束中兩個(gè)最基本的概念,同樣在芯片電路時(shí)序分析中也存在。
    的頭像 發(fā)表于 08-06 11:40 ?701次閱讀
    深度解析<b class='flag-5'>FPGA</b>中的時(shí)序<b class='flag-5'>約束</b>

    FPGA 高級設(shè)計(jì):時(shí)序分析和收斂

    FPGA/ASIC 時(shí)序定義的基礎(chǔ)概念。后面要講到的其它時(shí)序約束都是建立在周期約束的基礎(chǔ)上的,很多其它時(shí)序公式,可以用周期公式推導(dǎo)。周期約束是一個(gè)基本時(shí)序和
    發(fā)表于 06-17 17:07

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    ,這個(gè)時(shí)候需要手動(dòng)約束。例如:有兩個(gè)有相位關(guān)系的時(shí)鐘從不同的引腳進(jìn)入FPGA器件,這個(gè)時(shí)候需要手動(dòng)約束這兩個(gè)時(shí)鐘。 上圖的時(shí)序約束
    發(fā)表于 05-06 15:51

    時(shí)序約束實(shí)操

    添加約束的目的是為了告訴FPGA你的設(shè)計(jì)指標(biāo)及運(yùn)行情況。在上面的生成約束之后,在Result àxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復(fù)制到別的指定目錄或
    的頭像 發(fā)表于 04-28 18:36 ?2316次閱讀
    時(shí)序<b class='flag-5'>約束</b>實(shí)操

    Xilinx FPGA約束設(shè)置基礎(chǔ)

    LOC約束FPGA設(shè)計(jì)中最基本的布局約束綜合約束,能夠定義基本設(shè)計(jì)單元在FPGA芯片中的位置,可實(shí)現(xiàn)絕對定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?1222次閱讀
    Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>約束</b>設(shè)置基礎(chǔ)

    Xilinx FPGA編程技巧之常用時(shí)序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧之常用時(shí)序約束詳解,話不多說,上貨。 基本的約束方法為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑以及異常路徑為
    發(fā)表于 04-12 17:39

    讀《FPGA入門教程》

    級HDL語言描述。管腳分配與設(shè)計(jì)約束 無論是RTL級還是門級的HDL設(shè)計(jì),在實(shí)現(xiàn)該邏輯時(shí)都需要與實(shí)際的FPGA芯片相匹配。管腳分配是指將設(shè)計(jì)文件的輸入輸出信號指定到器件的某個(gè)管腳,設(shè)置此管腳的電平標(biāo)準(zhǔn)
    發(fā)表于 03-29 16:42

    嵌入式和fpga關(guān)系

    FPGA(現(xiàn)場可編程門陣列)和嵌入式系統(tǒng)之間存在密切的關(guān)系,它們都是計(jì)算機(jī)硬件領(lǐng)域的重要組成部分,并在許多應(yīng)用中發(fā)揮著關(guān)鍵作用。
    的頭像 發(fā)表于 03-15 14:19 ?945次閱讀

    FPGA資源與AISC對應(yīng)關(guān)系

    芯片。 內(nèi)部互聯(lián)線(Interconnects):用于連接上述的各種資源。 而ASIC是為特定應(yīng)用定制的硬件電路,其設(shè)計(jì)和制造過程是一次性的。因此,ASIC的資源與FPGA的對應(yīng)關(guān)系并不直接。 在一些
    發(fā)表于 02-22 09:52

    時(shí)序電路為什么在FPGA綜合成了latch?

    有朋友提問,下面的代碼為什么在DC里可以綜合成DFF,而在FPGA上卻綜合成了latch。
    的頭像 發(fā)表于 02-20 16:12 ?823次閱讀
    時(shí)序電路為什么在<b class='flag-5'>FPGA</b>上<b class='flag-5'>綜合</b>成了latch?

    FPGA管教分配需要考慮因素

    FPGA驗(yàn)證是其中的重要的組成部分,如何有效的利用FPGA 的資源,管腳分配也是必須考慮的一個(gè)重要問題。一般較好的方法是在綜合過程中通過時(shí)序的一些約束讓對應(yīng)的工具自動(dòng)分配,但是從研發(fā)的
    發(fā)表于 01-10 22:40

    值得多看的FPGA 學(xué)習(xí)路線

    描述語言HDL,或者寄存器傳輸級語言RTL,下文中我們統(tǒng)稱RTL。 對于初學(xué)者,這里我們先不討論高層次綜合的內(nèi)容,也就是用C語言或者python編程FPGA。關(guān)于高層次綜合的內(nèi)容,可以看我之前
    發(fā)表于 01-02 23:03

    FPGA物理約束之布局約束

    在進(jìn)行布局約束前,通常會(huì)對現(xiàn)有設(shè)計(jì)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)(Implementation)編譯。在完成第一次設(shè)計(jì)實(shí)現(xiàn)編譯后,工程設(shè)計(jì)通常會(huì)不斷更新迭代,此時(shí)對于設(shè)計(jì)中一些固定不變的邏輯,設(shè)計(jì)者希望它們的編譯結(jié)果
    的頭像 發(fā)表于 01-02 14:13 ?1522次閱讀
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>約束</b>之布局<b class='flag-5'>約束</b>