99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

FPGA設(shè)計中兩種IO約束:管腳約束,延遲約束

454398 ? 來源:科學(xué)計算technomania ? 作者:貓叔 ? 2020-10-30 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I/O約束

I/O約束是必須要用的約束,又包括管腳約束和延遲約束。

管腳約束

管腳約束就是指管腳分配,我們要指定管腳的PACKAGE_PIN和IOSTANDARD兩個屬性的值,前者指定了管腳的位置,后者指定了管腳對應(yīng)的電平標(biāo)準(zhǔn)。

在vivado中,使用如下方式在xdc中對管腳進(jìn)行約束。

set_property -dict {PACKAGE_PIN AJ16  IOSTANDARD  LVCMOS18} [get_ports "led[0]"    ]

在Vivado規(guī)定,必須要指定管腳電平,不然在最后一步生成比特流時會出錯。

除了管腳位置和電平,還有一個大家容易忽略但很容易引起錯誤的就是端接,當(dāng)我們使用差分電平時比如LVDS,在在V6中我們使用IBUFDS來處理輸入的差分信號時,可以指定端接為TRUE。

   IBUFDS #(
      .DIFF_TERM("TRUE"),       // Differential Termination
      .IOSTANDARD("DEFAULT")     // Specify the input I/O standard
   ) IBUFDS_inst (
      .O(O),  // Buffer output
      .I(I),  // Diff_p buffer input (connect directly to top-level port)
      .IB(IB) // Diff_n buffer input (connect directly to top-level port)
   );

但在Ultrascale中的IBUFDS,卻把端接這個選項去掉了

IBUFDS #(

      .DQS_BIAS("FALSE")  // (FALSE, TRUE)
   )
   IBUFDS_inst (
      .O(O),   // 1-bit output: Buffer output
      .I(I),   // 1-bit input: Diff_p buffer input (connect directly to top-level port)
      .IB(IB)  // 1-bit input: Diff_n buffer input (connect directly to top-level port)
   );

我們必須要在xdc或I/O Pors界面中,手動指定,否則可能會出錯。

筆者之前就采過一個坑,差分端口輸入,當(dāng)連續(xù)輸入的數(shù)據(jù)為11101111這種時,中間那個0拉不下來,還是1,同樣也會發(fā)生在000010000,這樣就導(dǎo)致數(shù)據(jù)傳輸錯誤,后來才發(fā)現(xiàn)是端接忘記加。因為端接會影響信號的實際電平,導(dǎo)致FPGA判斷錯誤。

當(dāng)綜合完成后,我們可以點擊DRC,進(jìn)行設(shè)計規(guī)則檢查,這一步可以報出一些關(guān)鍵問題,比如時鐘端口未分配在時鐘引腳上等。

延遲約束

延遲約束用的是set_input_delay和set_output_delay,分別用于input端和output端,其時鐘源可以是時鐘輸入管腳,也可以是虛擬時鐘。但需要注意的是,這個兩個約束并不是起延遲的作用,具體原因下面分析。

set_input_delay

這個約束跟ISE中的OFFSET=IN功能相同,但設(shè)置方式不同。下圖所示即為input delay的約束說明圖。

從圖中很容易理解,

T_inputdelay = Tco + TD

當(dāng)滿足圖中的時序時,最大延遲為2ns,最小延遲為1ns。

因此,需要加的時序約束為:

create_clock -name sysclk -period 10 [get_ports clkin]
set_input_delay 2 -max -clock sysclk [get_ports Datain]
set_input_delay 1 -min -clock sysclk [get_ports Datain]
set_output_delay

set_output_delay的用法跟set_input_delay十分相似,這里就不再展開講了。我們上面講set_input_delay的描述中,大家可以看到,這個約束是告訴vivado我們的輸入信號和輸入時鐘之間的延遲關(guān)系,跟下面要講的時鐘周期約束是一個原理,讓vivado在這個前提下去Place and Route。并不是調(diào)節(jié)輸入信號的延遲,因為身邊有不少的FPGA工程師在沒用過這個約束指令之前,都以為這是調(diào)節(jié)延遲的約束。

如果要調(diào)整輸入信號的延遲,只能使用IDELAY,在V6中,IDELAY模塊有32個tap值,每個tap可延遲78ps,這樣總共差不多是2.5ns。

編輯:hfy

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618531
  • DRC
    DRC
    +關(guān)注

    關(guān)注

    2

    文章

    155

    瀏覽量

    37124
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    835

    瀏覽量

    68784
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    西門子再收購EDA公司 西門子宣布收購Excellicon公司 時序約束工具開發(fā)商

    精彩看點 此次收購將幫助系統(tǒng)級芯片 (SoC) 設(shè)計人員通過經(jīng)市場檢驗的時序約束管理能力來加速設(shè)計,并提高功能約束和結(jié)構(gòu)約束的正確性 ? 西門子宣布 收購 Excellicon 公司 ,將該公司用于
    的頭像 發(fā)表于 05-20 19:04 ?826次閱讀
    西門子再收購EDA公司  西門子宣布收購Excellicon公司  時序<b class='flag-5'>約束</b>工具開發(fā)商

    PCB Layout 約束管理,助力優(yōu)化設(shè)計

    本文重點PCBlayout約束管理在設(shè)計的重要性Layout約束有助避免一些設(shè)計問題設(shè)計可以使用的不同約束在PCB設(shè)計規(guī)則和
    的頭像 發(fā)表于 05-16 13:02 ?370次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優(yōu)化設(shè)計

    PanDao:實際約束條件下成像系統(tǒng)的初始結(jié)構(gòu)的生成

    的是,尋找合適的初始設(shè)計方案以進(jìn)行后續(xù)適配與優(yōu)化,已經(jīng)被證明是一項艱巨的工作。為避免這一耗時流程,本次研究的目標(biāo)是從既定規(guī)格與約束條件中直接生成多種優(yōu)質(zhì)的初始結(jié)構(gòu)。此研究將會為光學(xué)設(shè)計師帶來大好處:其一
    發(fā)表于 05-07 08:57

    FPGA時序約束之設(shè)置時鐘組

    Vivado時序分析工具默認(rèn)會分析設(shè)計中所有時鐘相關(guān)的時序路徑,除非時序約束設(shè)置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組
    的頭像 發(fā)表于 04-23 09:50 ?468次閱讀
    <b class='flag-5'>FPGA</b>時序<b class='flag-5'>約束</b>之設(shè)置時鐘組

    一文詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件,添加或創(chuàng)建設(shè)計的工程源文件后,需要創(chuàng)建xdc文件設(shè)置時序約束。時序約束文件可以直接創(chuàng)建或添加已存在的約束
    的頭像 發(fā)表于 03-24 09:44 ?3519次閱讀
    一文詳解Vivado時序<b class='flag-5'>約束</b>

    xilinx FPGA IOB約束使用以及注意事項

    xilinx FPGA IOB約束使用以及注意事項 一、什么是IOB約束 在xilinx FPGA,IOB是位于
    的頭像 發(fā)表于 01-16 11:02 ?911次閱讀
    xilinx <b class='flag-5'>FPGA</b> IOB<b class='flag-5'>約束</b>使用以及注意事項

    時序約束一主時鐘與生成時鐘

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

    常用時序約束使用說明-v1

    為了防止約束失敗,我們在Tcl輸入框驗證,沒有告警或者錯誤說明約束的寫法是正確的set_max_delay 5.00 -from [get_cells key2_detect_inst/state
    的頭像 發(fā)表于 11-01 11:06 ?575次閱讀

    與非門構(gòu)成的基本RS觸發(fā)器的約束條件是什么

    與非門構(gòu)成的RS觸發(fā)器是一基本的數(shù)字邏輯電路,用于存儲一位二進(jìn)制信息。它由個輸入端(R和S),個輸出端(Q和Q'),以及個與非門組成。R代表設(shè)置(Set),S代表復(fù)位(Rese
    的頭像 發(fā)表于 10-18 11:15 ?4228次閱讀

    SR鎖存器有約束項的原因

    SR鎖存器作為數(shù)字電路的一個基礎(chǔ)元件,其設(shè)計和使用過程存在約束項的原因是多方面的。這些約束項旨在確保SR鎖存器能夠穩(wěn)定、可靠地工作,避免產(chǎn)生不可預(yù)測或錯誤的狀態(tài)。 一、SR鎖存器的
    的頭像 發(fā)表于 08-28 10:51 ?1227次閱讀

    sr鎖存器約束條件怎樣得出的

    SR鎖存器是一常見的數(shù)字邏輯電路,它具有保持信號狀態(tài)的功能。在設(shè)計和分析SR鎖存器時,我們需要了解其約束條件。 一、引言 在數(shù)字邏輯電路設(shè)計,鎖存器是一非常重要的組件。它能夠存儲
    的頭像 發(fā)表于 08-28 10:47 ?1700次閱讀

    電路的約束指的是哪

    電路的約束通常指的是電氣約束和物理約束。這約束在電路設(shè)計和分析
    的頭像 發(fā)表于 08-25 09:34 ?2039次閱讀

    rs觸發(fā)器為什么會有約束條件

    的基本功能是實現(xiàn)雙穩(wěn)態(tài)邏輯,即在給定的輸入條件下,它可以保持在兩種穩(wěn)定狀態(tài)之一。然而,在使用RS觸發(fā)器時,需要滿足一定的約束條件,以確保其正常工作。 RS觸發(fā)器的基本原理 RS觸發(fā)器的基本電路由個交叉耦合的反相器(或非門)組成
    的頭像 發(fā)表于 08-11 09:11 ?2096次閱讀

    深度解析FPGA的時序約束

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

    兩種SR鎖存器的約束條件

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