資料介紹
作者:swang_shan
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/swang_shan/article/details/103806824
簡介
原語(Primitive),是Xilinx針對其器件特征開發(fā)的一系列常用模塊的名字,用戶可以將其看成Xilinx公司為用戶提供的庫函數(shù),是芯片中的基本元件,代表FPGA中實際擁有的硬件邏輯單元,如LUT,D觸發(fā)器,RAM等,相當于軟件中的機器語言。在實現(xiàn)過程中的翻譯步驟時,要將所有的設(shè)計單元都轉(zhuǎn)譯為目標器件中的基本元件,否則就是不可實現(xiàn)的。原語在設(shè)計中可以直接例化使用,是最直接的代碼輸入方式,其和HDL語言的關(guān)系,類似于匯編語言和C語言的關(guān)系。
Xilinx公司提供的原語,涵蓋了FPGA開發(fā)的常用領(lǐng)域,但只有相應配置的硬件才能執(zhí)行相應的原語,并不是所有的原語都可以在任何一款芯片上運行。在Verilog中使用原語非常簡單,將其作為模塊名直接例化即可。
Xilinx公司的原語按照功能分為10類,包括:計算組件、I/O端口組件、寄存器和鎖存器、時鐘組件、處理器組件、移位寄存器、配置和檢測組件、RAM/ROM組件、Slice/CLB組件以及G比特收發(fā)器組件。下面分別對其進行詳細介紹。
1、 時鐘組件
目前,大型設(shè)計一般推薦使用同步時序電路。同步時序電路基于時鐘觸發(fā)沿設(shè)計,對時鐘的周期、占空比、延時和抖動提出了更高的要求。為了滿足同步時序設(shè)計的要求,一般在FPGA設(shè)計中采用全局時鐘資源驅(qū)動設(shè)計的主時鐘,以達到最低的時鐘抖動和延遲。 FPGA 全局時鐘資源一般使用全銅層工藝實現(xiàn),并設(shè)計了專用時鐘緩沖與驅(qū)動結(jié)構(gòu),從而使全局時鐘到達芯片內(nèi)部的所有可配置單元(CLB)、I/O單元(IOB)和選擇性塊RAM(Block Select RAM)的時延和抖動都為最小。為了適應復雜設(shè)計的需要,Xilinx的FPGA中集成的專用時鐘資源與數(shù)字延遲鎖相環(huán)(DLL)的數(shù)目不斷增加,最新的 Virtex II器件最多可以提供16個全局時鐘輸入端口和8個數(shù)字時鐘管理模塊(DCM)。
與全局時鐘資源相關(guān)的原語常用的與全局時鐘資源相關(guān)的Xilinx器件原語包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM等。
IBUFG
即輸入全局緩沖,是與專用全局時鐘輸入管腳相連接的首級全局緩沖。所有從全局時鐘管腳輸入的信號必須經(jīng)過IBUFG 單元,否則在布局布線時會報錯。 IBUFG支持AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和 SSTL等多種格式的IO標準。
IBUFGDS
IBUFG的差分形式,當信號從一對差分全局時鐘管腳輸入時,必須使用IBUFGDS作為全局時鐘輸入緩沖。IBUFG支持BLVDS、LDT、LVDSEXT、LVDS、LVPECL和ULVDS等多種格式的IO標準。
BUFG
全局緩沖,它的輸入是IBUFG的輸出,BUFG的輸出到達FPGA內(nèi)部的IOB、CLB、選擇性塊RAM的時鐘延遲和抖動最小。
BUFG是具有高扇出的全局時鐘緩沖器,一般由綜合器自動推斷并使用,其和同類原語的RTL結(jié)構(gòu)如圖所示。全局時鐘是具有高扇出驅(qū)動能力的緩沖器,可以將信號連到時鐘抖動可以忽略不計的全局時鐘網(wǎng)絡,BUFG組件還可應用于典型的高扇出信號和網(wǎng)絡,如復位信號和時鐘使能信號。如果要對全局時鐘實現(xiàn)PLL或DCM等時鐘管理,則需要手動例化該緩沖器。其例化的代碼模板如下所示:
// BUFG: 全局時鐘緩存(Global Clock Buffer),只能以內(nèi)部信號驅(qū)動
// Xilinx HDL庫向?qū)О姹?,ISE 9.1
BUFG BUFG_inst (
.O(O), //時鐘緩存輸出信號
.I(I) // /時鐘緩存輸入信號
);
// 結(jié)束BUFG_ins模塊的例化過程
![](https://file.elecfans.com/web1/M00/DB/A5/o4YBAGAJ7vyAGO7EAAAzizrpV2w236.png)
BUFG—RTL
BUFG—RTL
4. BUFGCE是帶有時鐘使能端的全局緩沖。它有一個輸入I、一個使能端CE和一個輸出端O。只有當BUFGCE的使能端CE有效(高電平)時,BUFGCE才有輸出。
5. BUFGMUX是全局時鐘選擇緩沖,它有I0和I1兩個輸入,一個控制端S,一個輸出端O。當S為低電平時輸出時鐘為I0,反之為I1。需要指出的是BUFGMUX的應用十分靈活,I0和I1兩個輸入時鐘甚至可以為異步關(guān)系。
6. BUFGP相當于IBUG加上BUFG。
7. BUFGDLL是全局緩沖延遲鎖相環(huán),相當于BUFG與DLL的結(jié)合。BUFGDLL在早期設(shè)計中經(jīng)常使用,用以完成全局時鐘的同步和驅(qū)動等功能。隨著數(shù)字時鐘管理單元(DCM)的日益完善,目前BUFGDLL的應用已經(jīng)逐漸被DCM所取代。
8. DCM即數(shù)字時鐘管理單元,主要完成時鐘的同步、移相、分頻、倍頻和去抖動等。DCM與全局時鐘有著密不可分的聯(lián)系,為了達到最小的延遲和抖動,幾乎所有的DCM應用都要使用全局緩沖資源。DCM可以用Xilinx ISE軟件中的Architecture Wizard直接生成。
全局時鐘資源的使用方法 全局時鐘資源的使用方法(五種)
1:IBUFG + BUFG的使用方法:
IBUFG后面連接BUFG的方法是最基本的全局時鐘資源使用方法,由于IBUFG組合BUFG相當于BUFGP,所以在這種使用方法也稱為BUFGP方法。
2. IBUFGDS + BUFG的使用方法:
當輸入時鐘信號為差分信號時,需要使用IBUFGDS代替IBUFG。
3. IBUFG + DCM + BUFG的使用方法:
這種使用方法最靈活,對全局時鐘的控制更加有效。通過DCM模塊不僅僅能對時鐘進行同步、移相、分頻和倍頻等變換,而且可以使全局時鐘的輸出達到無抖動延遲。
4. Logic + BUFG的使用方法:
BUFG不但可以驅(qū)動IBUFG的輸出,還可以驅(qū)動其它普通信號的輸出。當某個信號(時鐘、使能、快速路徑)的扇出非常大,并且要求抖動延遲最小時,可以使用BUFG驅(qū)動該信號,使該信號利用全局時鐘資源。但需要注意的是,普通IO的輸入或普通片內(nèi)信號進入全局時鐘布線層需要一個固有的延時,一般在 10ns左右,即普通IO和普通片內(nèi)信號從輸入到BUFG輸出有一個約10ns左右的固有延時,但是BUFG的輸出到片內(nèi)所有單元(IOB、CLB、選擇性塊RAM)的延時可以忽略不計為“0”ns。
5. Logic + DCM + BUFG的使用方法:
DCM同樣也可以控制并變換普通時鐘信號,即DCM的輸入也可以是普通片內(nèi)信號。使用全局時鐘資源的注意事項全局時鐘資源必須滿足的重要原則是:使用 IBUFG或IBUFGDS的充分必要條件是信號從專用全局時鐘管腳輸入。換言之,當某個信號從全局時鐘管腳輸入,不論它是否為時鐘信號,都必須使用 IBUFG或IBUFGDS;如果對某個信號使用了IBUFG或IBUFGDS硬件原語,則這個信號必定是從全局時鐘管腳輸入的。如果違反了這條原則,那么在布局布線時會報錯。這條規(guī)則的使用是由FPGA的內(nèi)部結(jié)構(gòu)決定的:IBUFG和IBUFGDS的輸入端僅僅與芯片的專用全局時鐘輸入管腳有物理連接,與普通IO和其它內(nèi)部CLB等沒有物理連接。另外,由于BUFGP相當于IBUFG和BUFG的組合,所以BUFGP的使用也必須遵循上述的原則。
- AD5940評估套件使用方法.ppt 21次下載
- PICC安裝及使用方法匯總 4次下載
- Xilinx-DCM的使用方法技巧
- oracle-C#使用方法
- ORCADCapture_使用方法與概念
- 數(shù)字萬用表的使用方法 31次下載
- 在FPGA中配置PLL的步驟及使用方法 21次下載
- FPGA的LVDS介紹和xilinx原語的使用方法中文說明 5次下載
- xilinx原語使用方法 15次下載
- ORCAD PSPICE 使用方法 39次下載
- xilinx 原語使用方法 11次下載
- xilinx原語的使用方法 13次下載
- 示波器的使用方法 32次下載
- 十分鐘學會Xilinx FPGA 設(shè)計
- pspice的使用方法說明 0次下載
- DC/DC模擬的基本使用方法和特性確認方法 761次閱讀
- 獲取Xilinx FPGA芯片IDCODE的4種方法 3027次閱讀
- 交換機最基本的配置與使用方法 7480次閱讀
- CubeMX的基礎(chǔ)使用方法 4413次閱讀
- 光纖收發(fā)器的作用和使用方法 2.5w次閱讀
- 新規(guī)劃PCI核查工具的使用方法和應用事例 3142次閱讀
- 漏電保護插頭工作原理及使用方法 2.6w次閱讀
- 在線式UPS電源的使用方法 8115次閱讀
- 時控開關(guān)的應用及使用方法 1.5w次閱讀
- 基于URAM原語創(chuàng)建容量更大的RAM 7435次閱讀
- Xilinx FPGA常用原語介紹 1.6w次閱讀
- Xilinx FPGA中SRL原理 7440次閱讀
- 電流表的使用方法_鉗型電流表的使用方法及圖解 11.6w次閱讀
- 鉗型表如何使用_鉗型表使用方法圖解大全 10.1w次閱讀
- 記利用compxlibgui工具編譯Xilinx庫 1445次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 3次下載 | 免費
- 2AN-1267: 使用ADSP-CM408F ADC控制器的電機控制反饋采樣時序
- 1.41MB | 3次下載 | 免費
- 3AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費
- 5AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 6AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費
- 7AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 8SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 5美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 18次下載 | 免費
- 7感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論