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

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

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

物理約束實(shí)踐:網(wǎng)表約束MARK_DEBUG

FPGA快樂學(xué)習(xí) ? 來源:FPGA快樂學(xué)習(xí) ? 作者:FPGA快樂學(xué)習(xí) ? 2022-11-03 11:51 ? 次閱讀

16912bd6-5b2a-11ed-a3b6-dac502259ad0.jpg

概述

網(wǎng)表約束MARK_DEBUG可應(yīng)用在源碼中的任意一個(gè)網(wǎng)絡(luò)信號上,被施加該約束的網(wǎng)絡(luò)信號在調(diào)試界面中可見,從而方便在線調(diào)試時(shí)快速定位該信號,提升調(diào)試效率。話不多說,下面以FPGA中的在線邏輯分析儀(ILA)的調(diào)試實(shí)踐為例,讓大家感受一下網(wǎng)表約束MARK_DEBUG的妙用。

工程實(shí)踐

以STAR FPGA開發(fā)板中的at7_ex10工程為例,這個(gè)工程實(shí)現(xiàn)UART傳輸?shù)膌oopback功能。該實(shí)例中使用在線邏輯分析儀希望探測到FPGA端接收并進(jìn)行串并轉(zhuǎn)換過程中所設(shè)計(jì)的一些主要信號。

首先需要找出待探測的信號。如圖1和圖2所示,在my_uart_rx.v模塊中,uart_rx、clk_bps、rx_data、rx_int、num、rx_temp_data是需要探測監(jiān)控的信號。

16a5954e-5b2a-11ed-a3b6-dac502259ad0.jpg

圖1 識別需要進(jìn)行探測的信號1

16c1d39e-5b2a-11ed-a3b6-dac502259ad0.jpg

圖2識別需要進(jìn)行探測的信號2

如圖3所示,在待探測信號定義申明前面增加語句:(*mark_debug= "true"*)。當(dāng)然了,如果后續(xù)不探測這個(gè)信號了,直接修改“true”為“false”就可以。

16d7a246-5b2a-11ed-a3b6-dac502259ad0.jpg

圖3 標(biāo)注需要探測的信號

完成對探測信號的mark_debug標(biāo)記后,如圖4所示,點(diǎn)擊“Synthesis à Run Synthesis”對工程進(jìn)行綜合編譯。

16eae234-5b2a-11ed-a3b6-dac502259ad0.jpg

圖4 工程的綜合編譯

綜合編輯完成后,如圖5所示,接著點(diǎn)擊“Synthesis à Synthesized Design à Set Up Debug”。

16fb14a6-5b2a-11ed-a3b6-dac502259ad0.jpg

圖5 Set Up Debug菜單

如圖6所示,點(diǎn)擊Next進(jìn)入下一步。

1712baac-5b2a-11ed-a3b6-dac502259ad0.jpg

圖6 Set Up Debug Wizard頁面

如圖7所示,Nets to Debug界面顯示的信號正是我們在前面的工程源碼中標(biāo)記了(*mark_debug = "true"*)的信號。如果沒有被標(biāo)記過的信號,我們希望添加到Nets to Debug界面中,就要點(diǎn)擊Find Netsto Add…按鈕逐個(gè)查找并添加了,效率要明顯低于直接在工程源碼中事先標(biāo)記。對這些調(diào)試信號做采樣和觸發(fā)屬性設(shè)置后,點(diǎn)擊Next進(jìn)入下一頁面。

173474a8-5b2a-11ed-a3b6-dac502259ad0.jpg

圖7 Nets to Debug頁面

如圖8所示,ILA Core Options頁面中,可以設(shè)定探測信號的采樣深度、緩存寄存器等級和信號采集觸發(fā)相關(guān)控制選項(xiàng)。完成設(shè)置后,點(diǎn)擊Next進(jìn)入下一頁面。

17531f84-5b2a-11ed-a3b6-dac502259ad0.jpg

圖8 ILA CoreOptions頁面

如圖9所示,Set up Debug Summary中點(diǎn)擊Finish完成設(shè)置。

1769d134-5b2a-11ed-a3b6-dac502259ad0.jpg

圖9 Set upDebug Summary頁面

此時(shí),如圖10所示,所有的探測信號出現(xiàn)在了Debug窗口中。

177e67a2-5b2a-11ed-a3b6-dac502259ad0.jpg

圖10 Debug窗口

接著,重新對工程進(jìn)行編譯,將產(chǎn)生的比特流燒錄到FPGA器件中,最終便能捕捉到如圖11所示的實(shí)際的信號波形。

178ed380-5b2a-11ed-a3b6-dac502259ad0.jpg

圖11 觸發(fā)位置的波形

審核編輯 :李倩

聲明:本文內(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)注

    1625

    文章

    21620

    瀏覽量

    601238
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    632

    瀏覽量

    29110
  • 約束
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    12708

原文標(biāo)題:物理約束實(shí)踐:網(wǎng)表約束MARK_DEBUG

文章出處:【微信號:FPGA快樂學(xué)習(xí),微信公眾號:FPGA快樂學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    兩種SR鎖存器的約束條件

    基本約束條件: SR鎖存器是一種基本的數(shù)字邏輯電路,用于存儲一位二進(jìn)制信息。它有兩個(gè)輸入端:S(Set)和R(Reset),以及兩個(gè)輸出端:Q和Q'(Q的反相)。以下是SR鎖存器的基本約束
    的頭像 發(fā)表于 07-23 11:34 ?758次閱讀

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

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

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

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

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

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

    機(jī)器人運(yùn)動學(xué)中的非完整約束與運(yùn)動模型推導(dǎo)

    機(jī)器人運(yùn)動學(xué)中的運(yùn)動學(xué)約束是指機(jī)器人在運(yùn)動過程中受到的限制,包括位置、姿態(tài)、速度和加速度等因素。這些約束會對機(jī)器人的自由度產(chǎn)生影響,從而影響機(jī)器人的運(yùn)動和控制。運(yùn)動學(xué)約束通常用數(shù)學(xué)模型來描述,為機(jī)器人的運(yùn)動控制提供了理論基礎(chǔ)。
    的頭像 發(fā)表于 01-18 16:45 ?1569次閱讀
    機(jī)器人運(yùn)動學(xué)中的非完整<b class='flag-5'>約束</b>與運(yùn)動模型推導(dǎo)

    FPGA物理約束之布局約束

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

    Pod一直處于Pending狀態(tài)?什么是Pod拓?fù)?b class='flag-5'>約束

    起因: 今天在部署組件的時(shí)候,發(fā)現(xiàn)組件的pod一直處于Pending狀態(tài),報(bào)錯(cuò)顯示的原因是:不滿足Pod拓?fù)浞植?b class='flag-5'>約束,看了代碼發(fā)現(xiàn)是原來同事給組件新增了Pod拓?fù)?b class='flag-5'>約束。
    的頭像 發(fā)表于 12-18 11:46 ?1141次閱讀
    Pod一直處于Pending狀態(tài)?什么是Pod拓?fù)?b class='flag-5'>約束</b>?

    FPGA物理約束之布線約束

    IS_ROUTE_FIXED命令用于指定網(wǎng)絡(luò)的所有布線進(jìn)行固定約束。進(jìn)入Implemented頁面后,Netlist窗口如圖1所示,其中Nets文件展開后可以看到工程中所有的布線網(wǎng)絡(luò)。
    的頭像 發(fā)表于 12-16 14:04 ?1107次閱讀
    FPGA<b class='flag-5'>物理</b><b class='flag-5'>約束</b>之布線<b class='flag-5'>約束</b>

    SV約束隨機(jī)化總結(jié)

    constraint 約束隨機(jī)化類中的變量 在main_phase 之前就已經(jīng)提前產(chǎn)生一個(gè)變量的隨機(jī)值。 用法:一般在類中定義一個(gè)rand 類型的變量, 然后根據(jù)需求寫約束就可以
    的頭像 發(fā)表于 12-14 14:30 ?773次閱讀
    SV<b class='flag-5'>約束</b>隨機(jī)化總結(jié)

    FPGA器件幾個(gè)比較常用的配置配置約束

    Xilinx Vivado工具的配置約束隱藏得比較深,如圖1所示,在進(jìn)入配置頁面前,首先需要點(diǎn)擊PROGRAM AND DEBUG->Generate Bitstream執(zhí)行工程的全編譯,然后點(diǎn)擊IMPLEMENTATION->OpenImplemented Design
    發(fā)表于 12-02 12:19 ?724次閱讀
    FPGA器件幾個(gè)比較常用的配置配置<b class='flag-5'>約束</b>

    物理約束實(shí)踐:I/O約束

    I/O約束(I/O Constraints)包括I/O標(biāo)準(zhǔn)(I/OStandard)約束和I/O位置(I/O location)約束。
    的頭像 發(fā)表于 11-18 16:42 ?1013次閱讀
    <b class='flag-5'>物理</b><b class='flag-5'>約束</b><b class='flag-5'>實(shí)踐</b>:I/O<b class='flag-5'>約束</b>

    FPGA時(shí)序約束--基礎(chǔ)理論篇

    FPGA開發(fā)過程中,離不開時(shí)序約束,那么時(shí)序約束是什么?簡單點(diǎn)說,F(xiàn)PGA芯片中的邏輯電路,從輸入到輸出所需要的時(shí)間,這個(gè)時(shí)間必須在設(shè)定的時(shí)鐘周期內(nèi)完成,更詳細(xì)一點(diǎn),即需要滿足建立和保持時(shí)間
    發(fā)表于 11-15 17:41