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

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

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

Xilinx原語(yǔ)使用方法有哪些

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-08 14:01 ? 次閱讀

作者:swang_shan

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/swang_shan/article/details/103806824

簡(jiǎn)介

原語(yǔ)(Primitive),是Xilinx針對(duì)其器件特征開發(fā)的一系列常用模塊的名字,用戶可以將其看成Xilinx公司為用戶提供的庫(kù)函數(shù),是芯片中的基本元件,代表FPGA中實(shí)際擁有的硬件邏輯單元,如LUT,D觸發(fā)器,RAM等,相當(dāng)于軟件中的機(jī)器語(yǔ)言。在實(shí)現(xiàn)過(guò)程中的翻譯步驟時(shí),要將所有的設(shè)計(jì)單元都轉(zhuǎn)譯為目標(biāo)器件中的基本元件,否則就是不可實(shí)現(xiàn)的。原語(yǔ)在設(shè)計(jì)中可以直接例化使用,是最直接的代碼輸入方式,其和HDL語(yǔ)言的關(guān)系,類似于匯編語(yǔ)言和C語(yǔ)言的關(guān)系。

Xilinx公司提供的原語(yǔ),涵蓋了FPGA開發(fā)的常用領(lǐng)域,但只有相應(yīng)配置的硬件才能執(zhí)行相應(yīng)的原語(yǔ),并不是所有的原語(yǔ)都可以在任何一款芯片上運(yùn)行。在Verilog中使用原語(yǔ)非常簡(jiǎn)單,將其作為模塊名直接例化即可。

Xilinx公司的原語(yǔ)按照功能分為10類,包括:計(jì)算組件、I/O端口組件、寄存器和鎖存器、時(shí)鐘組件、處理器組件、移位寄存器、配置和檢測(cè)組件、RAM/ROM組件、Slice/CLB組件以及G比特收發(fā)器組件。下面分別對(duì)其進(jìn)行詳細(xì)介紹。

1、 時(shí)鐘組件

目前,大型設(shè)計(jì)一般推薦使用同步時(shí)序電路。同步時(shí)序電路基于時(shí)鐘觸發(fā)沿設(shè)計(jì),對(duì)時(shí)鐘的周期、占空比、延時(shí)和抖動(dòng)提出了更高的要求。為了滿足同步時(shí)序設(shè)計(jì)的要求,一般在FPGA設(shè)計(jì)中采用全局時(shí)鐘資源驅(qū)動(dòng)設(shè)計(jì)的主時(shí)鐘,以達(dá)到最低的時(shí)鐘抖動(dòng)和延遲。 FPGA 全局時(shí)鐘資源一般使用全銅層工藝實(shí)現(xiàn),并設(shè)計(jì)了專用時(shí)鐘緩沖與驅(qū)動(dòng)結(jié)構(gòu),從而使全局時(shí)鐘到達(dá)芯片內(nèi)部的所有可配置單元(CLB)、I/O單元(IOB)和選擇性塊RAM(Block Select RAM)的時(shí)延和抖動(dòng)都為最小。為了適應(yīng)復(fù)雜設(shè)計(jì)的需要,Xilinx的FPGA中集成的專用時(shí)鐘資源與數(shù)字延遲鎖相環(huán)(DLL)的數(shù)目不斷增加,最新的 Virtex II器件最多可以提供16個(gè)全局時(shí)鐘輸入端口和8個(gè)數(shù)字時(shí)鐘管理模塊(DCM)。

與全局時(shí)鐘資源相關(guān)的原語(yǔ)常用的與全局時(shí)鐘資源相關(guān)的Xilinx器件原語(yǔ)包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM等。

IBUFG

即輸入全局緩沖,是與專用全局時(shí)鐘輸入管腳相連接的首級(jí)全局緩沖。所有從全局時(shí)鐘管腳輸入的信號(hào)必須經(jīng)過(guò)IBUFG 單元,否則在布局布線時(shí)會(huì)報(bào)錯(cuò)。 IBUFG支持AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和 SSTL等多種格式的IO標(biāo)準(zhǔn)。

IBUFGDS

IBUFG的差分形式,當(dāng)信號(hào)從一對(duì)差分全局時(shí)鐘管腳輸入時(shí),必須使用IBUFGDS作為全局時(shí)鐘輸入緩沖。IBUFG支持BLVDS、LDT、LVDSEXT、LVDS、LVPECL和ULVDS等多種格式的IO標(biāo)準(zhǔn)。

BUFG

全局緩沖,它的輸入是IBUFG的輸出,BUFG的輸出到達(dá)FPGA內(nèi)部的IOB、CLB、選擇性塊RAM的時(shí)鐘延遲和抖動(dòng)最小。

BUFG是具有高扇出的全局時(shí)鐘緩沖器,一般由綜合器自動(dòng)推斷并使用,其和同類原語(yǔ)的RTL結(jié)構(gòu)如圖所示。全局時(shí)鐘是具有高扇出驅(qū)動(dòng)能力的緩沖器,可以將信號(hào)連到時(shí)鐘抖動(dòng)可以忽略不計(jì)的全局時(shí)鐘網(wǎng)絡(luò),BUFG組件還可應(yīng)用于典型的高扇出信號(hào)和網(wǎng)絡(luò),如復(fù)位信號(hào)和時(shí)鐘使能信號(hào)。如果要對(duì)全局時(shí)鐘實(shí)現(xiàn)PLL或DCM等時(shí)鐘管理,則需要手動(dòng)例化該緩沖器。其例化的代碼模板如下所示:

// BUFG: 全局時(shí)鐘緩存(Global Clock Buffer),只能以內(nèi)部信號(hào)驅(qū)動(dòng)

// Xilinx HDL庫(kù)向?qū)О姹?,ISE 9.1

BUFG BUFG_inst (

.O(O), //時(shí)鐘緩存輸出信號(hào)

.I(I) // /時(shí)鐘緩存輸入信號(hào)

);

// 結(jié)束BUFG_ins模塊的例化過(guò)程

o4YBAGAJ7vyAGO7EAAAzizrpV2w236.png

BUFG—RTL

BUFG—RTL

4. BUFGCE是帶有時(shí)鐘使能端的全局緩沖。它有一個(gè)輸入I、一個(gè)使能端CE和一個(gè)輸出端O。只有當(dāng)BUFGCE的使能端CE有效(高電平)時(shí),BUFGCE才有輸出。

5. BUFGMUX是全局時(shí)鐘選擇緩沖,它有I0和I1兩個(gè)輸入,一個(gè)控制端S,一個(gè)輸出端O。當(dāng)S為低電平時(shí)輸出時(shí)鐘為I0,反之為I1。需要指出的是BUFGMUX的應(yīng)用十分靈活,I0和I1兩個(gè)輸入時(shí)鐘甚至可以為異步關(guān)系。

6. BUFGP相當(dāng)于IBUG加上BUFG。

7. BUFGDLL是全局緩沖延遲鎖相環(huán),相當(dāng)于BUFG與DLL的結(jié)合。BUFGDLL在早期設(shè)計(jì)中經(jīng)常使用,用以完成全局時(shí)鐘的同步和驅(qū)動(dòng)等功能。隨著數(shù)字時(shí)鐘管理單元(DCM)的日益完善,目前BUFGDLL的應(yīng)用已經(jīng)逐漸被DCM所取代。

8. DCM即數(shù)字時(shí)鐘管理單元,主要完成時(shí)鐘的同步、移相、分頻、倍頻和去抖動(dòng)等。DCM與全局時(shí)鐘有著密不可分的聯(lián)系,為了達(dá)到最小的延遲和抖動(dòng),幾乎所有的DCM應(yīng)用都要使用全局緩沖資源。DCM可以用Xilinx ISE軟件中的Architecture Wizard直接生成。

全局時(shí)鐘資源的使用方法 全局時(shí)鐘資源的使用方法(五種)

1:IBUFG + BUFG的使用方法:

IBUFG后面連接BUFG的方法是最基本的全局時(shí)鐘資源使用方法,由于IBUFG組合BUFG相當(dāng)于BUFGP,所以在這種使用方法也稱為BUFGP方法。

2. IBUFGDS + BUFG的使用方法:

當(dāng)輸入時(shí)鐘信號(hào)為差分信號(hào)時(shí),需要使用IBUFGDS代替IBUFG。

3. IBUFG + DCM + BUFG的使用方法:

這種使用方法最靈活,對(duì)全局時(shí)鐘的控制更加有效。通過(guò)DCM模塊不僅僅能對(duì)時(shí)鐘進(jìn)行同步、移相、分頻和倍頻等變換,而且可以使全局時(shí)鐘的輸出達(dá)到無(wú)抖動(dòng)延遲。

4. Logic + BUFG的使用方法:

BUFG不但可以驅(qū)動(dòng)IBUFG的輸出,還可以驅(qū)動(dòng)其它普通信號(hào)的輸出。當(dāng)某個(gè)信號(hào)(時(shí)鐘、使能、快速路徑)的扇出非常大,并且要求抖動(dòng)延遲最小時(shí),可以使用BUFG驅(qū)動(dòng)該信號(hào),使該信號(hào)利用全局時(shí)鐘資源。但需要注意的是,普通IO的輸入或普通片內(nèi)信號(hào)進(jìn)入全局時(shí)鐘布線層需要一個(gè)固有的延時(shí),一般在 10ns左右,即普通IO和普通片內(nèi)信號(hào)從輸入到BUFG輸出有一個(gè)約10ns左右的固有延時(shí),但是BUFG的輸出到片內(nèi)所有單元(IOB、CLB、選擇性塊RAM)的延時(shí)可以忽略不計(jì)為“0”ns。

5. Logic + DCM + BUFG的使用方法:

DCM同樣也可以控制并變換普通時(shí)鐘信號(hào),即DCM的輸入也可以是普通片內(nèi)信號(hào)。使用全局時(shí)鐘資源的注意事項(xiàng)全局時(shí)鐘資源必須滿足的重要原則是:使用 IBUFG或IBUFGDS的充分必要條件是信號(hào)從專用全局時(shí)鐘管腳輸入。換言之,當(dāng)某個(gè)信號(hào)從全局時(shí)鐘管腳輸入,不論它是否為時(shí)鐘信號(hào),都必須使用 IBUFG或IBUFGDS;如果對(duì)某個(gè)信號(hào)使用了IBUFG或IBUFGDS硬件原語(yǔ),則這個(gè)信號(hào)必定是從全局時(shí)鐘管腳輸入的。如果違反了這條原則,那么在布局布線時(shí)會(huì)報(bào)錯(cuò)。這條規(guī)則的使用是由FPGA的內(nèi)部結(jié)構(gòu)決定的:IBUFG和IBUFGDS的輸入端僅僅與芯片的專用全局時(shí)鐘輸入管腳有物理連接,與普通IO和其它內(nèi)部CLB等沒有物理連接。另外,由于BUFGP相當(dāng)于IBUFG和BUFG的組合,所以BUFGP的使用也必須遵循上述的原則。

審核編輯:何安

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

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120854
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TLC271+74HC4052,這種使用方法什么優(yōu)點(diǎn)?

    請(qǐng)問(wèn)專家TLC271+74HC4052 這種使用方法什么優(yōu)點(diǎn)?
    發(fā)表于 09-26 07:21

    探針頭型使用方法哪些

    探針頭型的使用方法多種多樣,具體取決于探針頭型的類型、被測(cè)對(duì)象的特性以及測(cè)試需求。以下是一些常見探針頭型的使用方法概述: 1. 凹頭探針 用途 :主要用于測(cè)試長(zhǎng)導(dǎo)腳、端子及繞線柱等較長(zhǎng)或較粗的被測(cè)點(diǎn)
    的頭像 發(fā)表于 09-07 10:57 ?390次閱讀

    DC/DC模擬的基本使用方法和特性確認(rèn)方法

    本篇介紹了DC/DC模擬的基本使用方法及確認(rèn)基本特性的方法
    的頭像 發(fā)表于 08-20 17:08 ?540次閱讀
    DC/DC模擬的基本<b class='flag-5'>使用方法</b>和特性確認(rèn)<b class='flag-5'>方法</b>

    淺談錫膏的儲(chǔ)存及使用方法

    錫膏(焊錫膏)是電子組裝過(guò)程中常用的材料,它的儲(chǔ)存和使用方法對(duì)保證焊接質(zhì)量和性能至關(guān)重要。以下是詳細(xì)的儲(chǔ)存及使用方法
    的頭像 發(fā)表于 06-27 10:02 ?717次閱讀

    FPGA | Xilinx ISE14.7 LVDS應(yīng)用

    今天給大俠帶來(lái) Xilinx ISE14.7 LVDS應(yīng)用,話不多說(shuō),上貨。 最近項(xiàng)目需要用到差分信號(hào)傳輸,于是看了一下FPGA上差分信號(hào)的使用。Xilinx FPGA中,主要通過(guò)原語(yǔ)實(shí)現(xiàn)差分信
    發(fā)表于 06-13 16:28

    可編程電源使用方法

    可編程電源使用方法 可編程電源使用方法 摘要:本文詳細(xì)介紹了可編程電源的使用方法,包括其基本概念、主要功能、選擇原則、操作步驟、注意事項(xiàng)以及實(shí)際應(yīng)用案例,旨在幫助讀者全面了解可編程電源
    的頭像 發(fā)表于 06-10 15:29 ?834次閱讀

    手柄控制代碼及使用方法

    手柄控制代碼及使用方法
    的頭像 發(fā)表于 05-15 10:19 ?1462次閱讀

    xilinx中的carry4原語(yǔ)在高云FPGA中用什么原語(yǔ)替代?

    xilinx中的carry4原語(yǔ)在高云FPGA中用什么原語(yǔ)替代
    發(fā)表于 05-09 16:13

    555集成芯片的使用方法

    555集成芯片的使用方法主要依賴于其特定的引腳功能和電路設(shè)計(jì)。
    的頭像 發(fā)表于 03-25 14:39 ?1249次閱讀

    示波器的使用方法 示波器的用途哪些?

    示波器是一種用于測(cè)量電壓信號(hào)的儀器,它可以將電信號(hào)轉(zhuǎn)換為可以在屏幕上顯示的波形圖形。在電子工程領(lǐng)域,示波器是一個(gè)必不可少的儀器,它可以用于許多不同的應(yīng)用和測(cè)量。本文將詳細(xì)介紹示波器的使用方法以及
    的頭像 發(fā)表于 02-18 16:18 ?1675次閱讀

    磁場(chǎng)探頭和電場(chǎng)探頭的使用方法與技巧

    磁場(chǎng)探頭和電場(chǎng)探頭的使用方法與技巧? 磁場(chǎng)探頭和電場(chǎng)探頭是用于測(cè)量磁場(chǎng)和電場(chǎng)的儀器。它們?cè)诳茖W(xué)實(shí)驗(yàn)、工程設(shè)計(jì)和實(shí)際應(yīng)用中都起著重要的作用。本文將詳細(xì)介紹磁場(chǎng)探頭和電場(chǎng)探頭的使用方法和技巧。 一、磁場(chǎng)
    的頭像 發(fā)表于 01-05 14:31 ?775次閱讀

    sumif函數(shù)求和的使用方法及實(shí)例

    按照上述的語(yǔ)法填寫好函數(shù)的參數(shù)即可。下面,我們通過(guò)幾個(gè)實(shí)例來(lái)詳細(xì)介紹Sumif函數(shù)的使用方法。 實(shí)例一: 假設(shè)我們一個(gè)學(xué)生成績(jī)表格,
    的頭像 發(fā)表于 12-03 10:36 ?1626次閱讀

    SUMIF函數(shù)的使用方法

    SUMIF函數(shù)是Excel中常用的求和函數(shù)之一,它可以根據(jù)指定的條件對(duì)范圍內(nèi)的數(shù)值進(jìn)行求和。本文將詳細(xì)介紹SUMIF函數(shù)的使用方法,并通過(guò)實(shí)例演示其具體操作。 SUMIF函數(shù)的語(yǔ)法如下: SUMIF
    的頭像 發(fā)表于 11-30 16:34 ?4761次閱讀

    MFM推拉力測(cè)試機(jī)的應(yīng)用領(lǐng)域和使用方法

    MFM推拉力測(cè)試機(jī)的應(yīng)用領(lǐng)域和使用方法
    的頭像 發(fā)表于 11-22 09:08 ?473次閱讀
    MFM推拉力測(cè)試機(jī)的應(yīng)用領(lǐng)域和<b class='flag-5'>使用方法</b>

    電力電子器件大全及使用方法

    電子發(fā)燒友網(wǎng)站提供《電力電子器件大全及使用方法.pdf》資料免費(fèi)下載
    發(fā)表于 11-18 14:46 ?2次下載
    電力電子器件大全及<b class='flag-5'>使用方法</b>