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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

PCB上走線的延遲約束

PCB線路板打樣 ? 來源:科學計算technomania ? 作者:貓叔 ? 2020-11-14 10:34 ? 次閱讀

作者:貓叔

延遲約束

對于延遲約束,相信很多同學是不怎么用的,主要可能就是不熟悉這個約束,也有的是嫌麻煩,因為有時還要計算PCB上的走線延遲導致的時間差。而且不加延遲約束,Vivado也只是在Timing Report中提示warning,并不會導致時序錯誤,這也會讓很多同學誤以為這個約束可有可無。

但其實這種想法是不對的,比如在很多ADC的設計中,輸出的時鐘的邊沿剛好是數(shù)據(jù)的中心位置,而如果我們不加延遲約束,則Vivado會默認時鐘和數(shù)據(jù)是對齊的。

對于輸入管腳,首先判斷捕獲時鐘是主時鐘還是衍生時鐘,如果是主時鐘,直接用set_input_delay即可,如果是衍生時鐘,要先創(chuàng)建虛擬時鐘,然后再設置delay。對于輸出管腳,判斷有沒有輸出隨路時鐘,若有,則直接使用set_output_delay,若沒有,則需要創(chuàng)建虛擬時鐘。

在本工程中,輸入輸出數(shù)據(jù)管腳的捕獲時鐘如下表所示:

根據(jù)上表,我們創(chuàng)建的延遲約束如下,其中的具體數(shù)字在實際工程中要根據(jù)上下游器件的時序關系(在各個器件手冊中可以找到)和PCB走線延遲來決定。未避免有些約束有歧義,我們把前面的所有約束也加進來。

# 主時鐘約束
create_clock -period 25.000 -name clk2 [get_ports clk_in2]

# 衍生時鐘約束
create_generated_clock -name clk_samp -source [get_pins clk_gen_i0/clk_core_i0/clk_tx] -divide_by 32 [get_pins clk_gen_i0/BUFHCE_clk_samp_i0/O]
create_generated_clock -name spi_clk -source [get_pins dac_spi_i0/out_ddr_flop_spi_clk_i0/ODDR_inst/C] -divide_by 1 -invert [get_ports spi_clk_pin]
create_generated_clock -name clk_tx -source [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1] [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT1]
create_generated_clock -name clk_rx -source [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1] [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT0]

# 設置異步時鐘
set_clock_groups -asynchronous -group [get_clocks clk_samp] -group [get_clocks clk2]

# 延遲約束
create_clock -period 6.000 -name virtual_clock
set_input_delay -clock [get_clocks -of_objects [get_ports clk_pin_p]] 0.000 [get_ports rxd_pin]
set_input_delay -clock [get_clocks -of_objects [get_ports clk_pin_p]] -min -0.500 [get_ports rxd_pin]
set_input_delay -clock virtual_clock -max 0.000 [get_ports lb_sel_pin]
set_input_delay -clock virtual_clock -min -0.500 [get_ports lb_sel_pin]
set_output_delay -clock virtual_clock -max 0.000 [get_ports {txd_pin {led_pins[*]}}]
set_output_delay -clock virtual_clock -min -0.500 [get_ports {txd_pin {led_pins[*]}}]
set_output_delay -clock spi_clk -max 1.000 [get_ports {spi_mosi_pin dac_cs_n_pin dac_clr_n_pin}]
set_output_delay -clock spi_clk -min -1.000 [get_ports {spi_mosi_pin dac_cs_n_pin dac_clr_n_pin}]

編輯:hfy

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

    關注

    4296

    文章

    22778

    瀏覽量

    393377
  • adc
    adc
    +關注

    關注

    97

    文章

    6302

    瀏覽量

    542488
收藏 人收藏

    評論

    相關推薦

    探索電路板pcb螺旋的特點

    PCB(Printed Circuit Board)螺旋是一種在 PCB 設計中常用的布線方式。它通過將導線以螺旋狀的形式布置在 PCB
    的頭像 發(fā)表于 08-06 17:28 ?189次閱讀

    pcb螺旋的優(yōu)劣勢對比

    PCB螺旋是一種在Pcb電路板設計的螺旋型導線結(jié)構(gòu)。
    的頭像 發(fā)表于 04-20 17:57 ?1024次閱讀

    pcb厚度:打造更穩(wěn)定、精準的PCB設計

    PCB是將電路設計中的電氣信號通過導線連接到PCB而形成的電路。這些導線被稱為“
    的頭像 發(fā)表于 04-15 17:43 ?1040次閱讀

    電路板的蛇形是什么

    電路板的蛇形(也被稱為蛇行、蜿蜒或曲折布線)是PCB設計中一種常見的技術。這種方式在信
    的頭像 發(fā)表于 02-01 18:07 ?2219次閱讀

    pcb的規(guī)則設置方法介紹

    隨著電子產(chǎn)品的迅速發(fā)展,PCB(Printed Circuit Board)在電子設計中扮演著重要的角色。設計PCB時,合理設置規(guī)則是確保電路在安全、穩(wěn)定、高效工作的基礎。本文將詳
    的頭像 發(fā)表于 01-09 10:45 ?1787次閱讀

    高速PCB信號的九大規(guī)則

    由于 PCB 板的密度越來越高,許多 PCB LAYOUT 工程師在的過程中,較容易出現(xiàn)一種失誤,即時鐘信號等高速信號網(wǎng)絡,在多層的 PCB
    發(fā)表于 01-08 15:33 ?996次閱讀
    高速<b class='flag-5'>PCB</b>信號<b class='flag-5'>走</b><b class='flag-5'>線</b>的九大規(guī)則

    怎么處理PCBBGA芯片的零件

    BGA 是 PCB 常用的組件,通常 CPU、NORTH BRIDGE、SOUTH BRIDGE、AGP CHIP、CARD BUS CHIP…等,大多是以 bga 的型式包裝,簡言之,80
    發(fā)表于 12-28 16:35 ?534次閱讀
    怎么處理<b class='flag-5'>PCB</b><b class='flag-5'>上</b>BGA芯片的零件<b class='flag-5'>走</b><b class='flag-5'>線</b>

    差分線pcb原則

    差分線pcb原則? 差分線是PCB設計中非常重要的一個部分,它的設計和原則可以直接影響到
    的頭像 發(fā)表于 12-07 18:09 ?3772次閱讀

    PCB注意事項

    初步劃分數(shù)字、模擬、DAA電路在PCB的布線區(qū)域(一般比例2/1/1),數(shù)字、模擬元器件及其相應盡量遠離并限定在各自的布線區(qū)域內(nèi)。
    發(fā)表于 12-04 14:59 ?665次閱讀

    詳解高密 PCB布線的垂直導電結(jié)構(gòu) (VeCS)

    詳解高密 PCB布線的垂直導電結(jié)構(gòu) (VeCS)
    的頭像 發(fā)表于 11-28 17:00 ?1254次閱讀
    詳解高密 <b class='flag-5'>PCB</b><b class='flag-5'>走</b><b class='flag-5'>線</b>布線的垂直導電結(jié)構(gòu) (VeCS)

    PCB設計中常見的等長要求

    PCB設計中常見的等長要求
    的頭像 發(fā)表于 11-24 14:25 ?2526次閱讀
    <b class='flag-5'>PCB</b>設計中常見的<b class='flag-5'>走</b><b class='flag-5'>線</b>等長要求

    為什么在PCB layout時不能直角

    本期跟大家分享的是,為什么在PCB layout時不能直角
    的頭像 發(fā)表于 11-20 18:24 ?1841次閱讀
    為什么在<b class='flag-5'>PCB</b> layout時不能<b class='flag-5'>走</b>直角<b class='flag-5'>線</b>

    詳解pcb電流

    詳解pcb電流
    的頭像 發(fā)表于 10-30 15:59 ?1722次閱讀

    PCB設計布線對信號完整性有何影響?

    串擾可能發(fā)生在單個PCB的相鄰之間,也可能發(fā)生在兩層PCB之間相互平行和垂直的
    發(fā)表于 10-12 09:25 ?773次閱讀

    怎么去計算PCB的電阻呢?

    很多硬件朋友會說,用萬用表去測量PCB兩端的阻值,就可以知道的電阻。如果真的用萬用表去測量,測量的結(jié)果基本是0,非常不準確。
    發(fā)表于 10-08 15:13 ?1623次閱讀
    怎么去計算<b class='flag-5'>PCB</b><b class='flag-5'>走</b><b class='flag-5'>線</b>的電阻呢?