Xilinx原语的使用方法1

合集下载

vivado原语使用方法

vivado原语使用方法

vivado原语使用方法Vivado原语使用方法Vivado原语是一种在Xilinx Vivado设计工具中使用的基本构建模块。

它们是硬件描述语言(HDL)中的预定义硬件元素,可用于构建数字电路设计。

Vivado原语提供了一种快速和灵活的方法来实现常见的数字逻辑功能。

本文将介绍Vivado原语的使用方法,以帮助读者更好地理解和应用这些常用的硬件构建模块。

在Vivado中,原语可以通过两种方式使用:RTL(Register Transfer Level)和Schematic。

RTL是一种基于HDL的设计方法,允许工程师按照信号的传输和寄存器的级联来描述电路。

Schematic是一种基于图形界面的设计方法,它提供了一种直观的方式来构建电路图。

下面将分别介绍这两种方法的使用步骤。

1. RTL方法:在Vivado中创建一个新的RTL工程。

然后,使用文本编辑器打开新建的工程文件,并在文件中添加所需的原语。

Vivado原语通常以模块的形式存在,每个模块都包含一个或多个输入和输出端口。

通过声明输入和输出端口,可以定义原语的功能和接口。

接下来,使用连接运算符将原语的输入和输出端口连接到其他模块或信号。

最后,编译RTL设计并生成比特流文件。

2. Schematic方法:在Vivado中创建一个新的Schematic工程。

然后,在工程中打开Schematic编辑器。

在编辑器中,可以选择所需的原语并将其拖放到设计窗口中。

Vivado提供了一个图形库,其中包含各种常用的原语,例如逻辑门、寄存器和计数器等。

选择原语后,可以通过添加和连接线路来定义原语的功能和接口。

最后,编译Schematic设计并生成比特流文件。

无论是使用RTL还是Schematic方法,都需要注意以下几点:1. 确保原语的输入和输出端口的数据类型和宽度与设计需求一致。

2. 仔细阅读原语的文档和规范,了解其功能和使用方法。

3. 在设计中合理使用原语,避免过度使用或重复使用,以提高设计的性能和效率。

vivado的并转串原语

vivado的并转串原语

Vivado的并转串原语介绍Vivado是赛灵思公司(Xilinx)开发的一款集成电路设计软件,用于设计和实现FPGA(Field Programmable Gate Array)和SoC(System on Chip)等数字电路。

在数字电路设计中,经常需要进行并行转串行的操作,即将并行数据转换为串行数据。

为了方便设计人员进行这一操作,Vivado提供了一些原语(Primitive)来实现并转串功能。

并转串原语的作用并转串原语在数字电路中扮演着重要的角色,它可以将并行数据流转换为串行数据流,从而实现数据的压缩和传输。

在通信系统中,数据通常以并行的方式传输,但是在传输过程中,串行传输更加稳定可靠。

因此,通过并转串原语,可以将数据从并行形式转换为串行形式,以便更好地传输和处理。

Vivado中的并转串原语Vivado提供了多种并转串原语,下面我们将介绍其中的一些常用原语。

FIFO(First In First Out)FIFO是一种常见的并转串原语,它可以实现并行数据的缓存和串行输出。

FIFO具有两个指针,一个读指针和一个写指针,读指针从FIFO中读取数据,写指针将数据写入FIFO。

当写指针和读指针指向同一个位置时,FIFO为空;当写指针比读指针多一个位置时,FIFO为满。

FIFO可以根据读指针和写指针的位置来判断数据的有效性和顺序。

Shift Register(移位寄存器)移位寄存器是另一种常用的并转串原语,它可以将并行数据逐位地向右移动,实现串行数据输出。

移位寄存器由多个D触发器组成,每个D触发器将输入数据的一位保存在寄存器中,然后将上一个寄存器的数据向右移动一位。

通过串联多个D触发器,可以实现不同位数的移位寄存器。

Serializer(串行器)Serializer是一种高级的并转串原语,它可以将并行数据流转换为串行数据流,并通过串行输出接口输出。

Serializer通常由移位寄存器和时钟控制电路组成,移位寄存器用于将并行数据逐位移动,时钟控制电路用于控制移位的速度。

Xilinx FPGA常用原语介绍

Xilinx FPGA常用原语介绍

Xilinx FPGA常用原语介绍
原语,即primitive。

不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;原语类似最底层的描述方法。

使用原语的好处,可以直接例化使用,不用定制IP;即可通过复制原语的语句,然后例化IP,就可使用;Xilinx是通过直接修改原语中的参数再例化IP来使用;Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检测组件,RAM/ROM 组件,Slice/CLB组件,G-tranceiver。

下图所示为UG799中对原语的分类列表。

项目中主要用到的原语与IO端口有关,所以基本在Input/Output FuncTIons 和IO两类中。

下面着重介绍实际中所用到的几个原语,芯片A7系列。

1. IBUF和IBUFDS(IO)
IBUF是输入缓存,一般vivado会自动给输入信号加上,IBUFDS是IBUF的差分形式,支持低压差分信号(如LVCMOS、LVDS等)。

在IBUFDS中,一个电平接口用两个独特的电平接口(I和IB)表示。

一个可以认为是主信号,另一个可以认为是从信号。

主信号和从信号是同一个逻辑信号,但是相位相反。

举例说明:
LVDS_25的差分输入的ADC数据。

IBUFDS #(// 差分输入原语,用于LVDS_25端口
.DIFF_TERM(“TRUE”),
.IOSTANDARD(“LVDS_25”)
)IBUFDS_ADC01 (
.O(ADC01_D[i]),
.I(ADC01_P_D[i]),
.IB(ADC01_N_D[i])。

Xilinx ISE使用流程1

Xilinx ISE使用流程1

Xilinx ISE使用流程(从新建项目到仿真执行)最近在忙着做毕业设计(计算机专业,非电子专业),从小就喜欢电子技术,但由于之前没有接触过FPGA,所以特意跑书店买了一本《Xilinx FPGA数字设计》一书,这本书同时用VHDL和Verilog HDL两种语言讲解,使用的示例非常简洁明了,是一本非常适合入门的图。

我在学习VHDL的时候,发现网上资料很少,所有决定把自己所学的知识和心得分享给广大网友,以便初学FPGA的同学们可以快速掌握Xilinx ISE工具的应用。

注意:阅读本篇文章需要数字电路和C语言等语言基础,本篇文章的代码示例出自《Xilinx FPGA数字设计》,请大家尊重版权。

我使用的Xilinx版本为ISE 14.2。

1、新建项目单击File->New Project,弹出New Project Wizard向导界面。

在Namel一栏中输入gate,location目录选择D:\vhdl\simple1\gate,working Directory选择D:\vhdl\simple1\gate,Top-level source type:选择HDL,即硬件描述语言单击Next,选择芯片型号和封装等,其中,芯片大家可以选择自己喜欢的,Synthesis Tool(综合工具)选择XST (VHDL/Verilog),Simluator(仿真工具)选择ISim (VHDL/Verilog),当然你也可以选择Modesim工具,Preferred Language(偏好语言)选择VHDL,VHDL Source Analysis Standard(VHDL语言分析标准)选择VHDL-200X单击Next,进入Project Summary页面,单击Finish,这一节我就不截图了。

进入程序主界面,我们可以看到一个空视图(Empty View),如下图:接下来我们要添加源代码了,在Hierarchy(层级)面板中选中XC6SLX16-3CSG324节点,右键单击New Source菜单,弹出New Source wizard向导界面,选中VHDL Module树节点,在右侧的File name输入gate。

iobuf_intermdisable原语例化 -回复

iobuf_intermdisable原语例化 -回复

iobuf_intermdisable原语例化-回复IOBUF_INTERMDISABLE原语的例化包括以下几个步骤:第一步:了解IOBUF_INTERMDISABLE原语的作用和功能IOBUF_INTERMDISABLE是一种Xilinx FPGA提供的IP核原语,用于在开发数字逻辑电路时控制输入输出缓冲器的使能信号。

它可以用于禁用输入和输出缓冲器,从而在需要对信号进行缓冲的情况下提高设计的可靠性和性能。

第二步:设计电路并确定需要使用IOBUF_INTERMDISABLE原语的地方在设计电路时,首先需要确定在哪些地方需要使用IOBUF_INTERMDISABLE原语。

一般来说,当需要对输入或输出信号进行缓冲,同时控制缓冲器的使能信号时,可以考虑使用IOBUF_INTERMDISABLE原语。

第三步:实例化IOBUF_INTERMDISABLE原语实例化IOBUF_INTERMDISABLE原语需要使用硬件描述语言(HDL),如Verilog或VHDL。

首先,在设计的HDL代码中,将IOBUF_INTERMDISABLE原语的引用插入到相应的引用库中。

然后,在需要使用IOBUF_INTERMDISABLE原语的地方,添加IOBUF_INTERMDISABLE的实例化代码。

第四步:配置和连接IOBUF_INTERMDISABLE原语在实例化IOBUF_INTERMDISABLE原语后,需要对其进行配置和连接。

根据实际需求,可以设置IOBUF_INTERMDISABLE原语的使能信号以及其他参数,如输入和输出端口的宽度等。

然后,根据设计的电路连接要求,将IOBUF_INTERMDISABLE原语的输入和输出端口与相应的信号连接起来。

第五步:综合和实现设计完成IOBUF_INTERMDISABLE原语的实例化、配置和连接后,将整个设计进行综合和实现。

在综合过程中,综合工具将HDL代码转换为逻辑门级表示。

xilinx使用步骤

xilinx使用步骤

Xilinx软件使用步骤目录基本操作1. 打开xilinx2. open project3. New project4. 创建新的 .vhd文件5. 建立波形文件6. 综合7. 仿真8. 下载程序到电路板中需要注意的问题1.生成顶层原理图2.建立.ucf文件3. implement时出错的原因4.仿真时的问题基本操作1. 打开xilinx图1 打开xilinx界面2. open project图2 open project图3 查找要打开的.ise文件单击打开后,出现在左侧box中。

图4 open project3. New project顶层文件类型,原理图类型选Schematic,否则选择HDL;单击下一步,通过右侧value各项目,配置器件类型,即FPGA 型号。

注意:此处配置错误的话,综合时会出现放不下或者些不进去的错误。

配置完成后,单击下一步,出现创建源文件对话框如下图所示。

不需做设置更改,直接点击下一步,出现添加现有源对话框如下图所示。

不需做任何设置,直接单击下一步,出现New project information对话框,如下图所示。

确认信息无误后,单击完成,创建的新的project即出现在主页面左侧Sources in project中,如下图所示。

4. 创建新的 .vhd文件右击主页面左侧Sources in project中xc2s200-5pq208,在右键菜单中选择New source,如下图所示;出现New source对话框;左侧选择VHDL Module,右侧输入文件名,如下图所示,单击下一步;出现define vhdl source对话框,输入端口名,输入输出类型和MSB,LSB, 如下图所示,然后单击下一步,出现信息对话框,如下图所示,确认无误后,单击完成。

然后主页面如下图所示:5. 建立波形文件在主页面,编程之后保存。

在如下图所示位置右击.vhd文件,选择new source选项。

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xili‎n x原语的使用方法中文说明低压‎差分传送技术是基于低压差分信号(‎L ow Volt-agc Dif‎f erential signal‎i n g)的传送技术,从一个电路板‎系统内的高速信号传送到不同电路系‎统之间的快速数据传送都可以应用低‎压差分传送技术来实现,其应用正变‎得越来越重要。

低压差分信号相对于‎单端的传送具有较高的噪声抑制功能‎,其较低的电压摆幅允许差分对线具‎有较高的数据传输速率,消耗较小的‎功率以及产生更低的电磁辐射。

‎L VDS:Low Voltage‎Differential Si‎g naling,低电压差分信号。

‎LVDS传输支持速率一般在1‎55Mbps(大约为77MHZ)‎以上。

LVDS是一种低摆幅的‎差分信号技术,它使得信号能在差分‎P CB线对或平衡电缆上以几百Mb‎p s的速率传输,其低压幅和低电流‎驱动输出实现了低噪声和低功耗。

‎差分信号抗噪特性从差分信‎号传输线路上可以看出,若是理想状‎况,线路没有干扰时,在发送侧‎,可以形象理解为:IN= I‎N+ —IN-在接收侧,可以‎理解为:IN+ —IN- ‎=OUT所以:OUT = ‎I N在实际线路传输中,线路存在‎干扰,并且同时出现在差分线对上,‎在发送侧,仍然是:IN ‎=IN+ —IN-线路传输‎干扰同时存在于差分对上,假设干扰‎为q,则接收则:(IN+ +‎q) —(IN- + q) ‎=IN+ —IN- = OU‎T所以:OUT = IN‎噪声被抑止掉。

上述可以形象理‎解差分方式抑止噪声的能力。

‎F rom: 美国国家半导体的《L‎V DS用户手册》P9FPGA‎中的差分管脚为了适用‎于高速通讯的场合,现在的FPGA‎都提供了数目众多的LVDS接口。

‎如Spartan-3E系列FPG‎A提供了下列差分标准:LV‎D SBus LVDS‎m ini-LVDSRSDS‎Differential ‎H STL (1.8V, Type‎s I and III)D‎i fferential SSTL‎(2.5V and 1.8V,‎Type I)2.5V ‎L VPECL inputs‎所拥有的差分I/O管脚数目如‎下From:Spar‎t an-3E FPGA Fami‎l y:Complete Data‎Sheet p5I/O‎管脚的命名方式:Fr‎o m:Spartan-3E FP‎G A Family:Comple‎t e Data Sheet ‎p164From:S‎p artan-3E FPGA F‎a mily:Complete D‎a ta Sheet p18‎Spartan-3E系列FP‎G A器件差分I/O接口输入工作的‎特性参数:Fr‎o m:Spartan-3E FP‎G A Family:Comple‎t e Data Sheet ‎p126Spartan-3‎E系列FPGA器件差分I/O接口‎输出工作的特性参数:‎From:Spartan-3E‎FPGA Family:Com‎p lete Data Sheet‎p127Xilinx‎公司差分原语的使用(原语,其英‎文名字为Primitive,是X‎i linx针对其器件特征开发的一‎系列常用模块的名字,用户可以将其‎看成Xilinx公司为用户提供的‎库函数,类似于C+ +中的“cou‎t”等关键字,是芯片中的基本元件‎,代表FPGA中实际拥有的硬件逻‎辑单元,如LUT,D触发器,RA‎M等,相当于软件中的机器语言。

Xilinx原语的使用方法1

Xilinx原语的使用方法1

Xilinx原语的使用方法13.4 Xilinx公司原语的使用方法原语,其英文名字为Primitive,是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的库函数,类似于C++中的“cout”等关键字,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语言。

在实现过程中的翻译步骤时,要将所有的设计单元都转译为目标器件中的基本元件,否则就是不可实现的。

原语在设计中可以直接例化使用,是最直接的代码输入方式,其和HDL语言的关系,类似于汇编语言和C语言的关系。

Xilinx公司提供的原语,涵盖了FPGA开发的常用领域,但只有相应配置的硬件才能执行相应的原语,并不是所有的原语都可以在任何一款芯片上运行。

在Verilog中使用原语非常简单,将其作为模块名直接例化即可。

本节以Virtex-4平台介绍各类原语,因为该系列的原语类型是最全面的。

其它系列芯片原语的使用方法是类似的。

Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM 组件、Slice/CLB组件以及G比特收发器组件。

下面分别对其进行详细介绍。

3.4.1 计算组件计算组件指的就是DSP48核,也有人将其称为硬件乘法器,功能描述如表3-6所示。

表3-6 计算组件清单DSP48 其结构为一个18*18比特的有符号乘法器,且在后面还级联了一个带有可配置流水线的3输入加法器DSP48核由一个18比特的乘法后面级联一个48比特的加法器,乘法器和加法器的应用位宽分别可以在18、48比特内任意调整。

其在乘加模块中有广泛应用,特别是各类滤波器系统中,不仅可以提高系统稳定性,还能够节省逻辑资源且工作在高速模式下。

其在Verilog中的例化模版为:module fpga_v4_dsp48(BCOUT, P, PCOUT, A, B, BCIN, C, CARRYIN,CARRYINSEL, CEA, CEB,CEC, CECARRYIN, CECINSUB, CECTRL, CEM, CEP, CLK, OPMODE,PCIN, RSTA, RSTB, RSTC, RSTCARRYIN, RSTM, RSTP,SUBTRACT);output [17:0]BCOUT;output [47:0] P, PCOUT; //input [17:0] A, B; //input [47:0] C, PCIN;input [1:0] CARRYINSEL;input [6:0] OPMODE;input BCIN, CARRYIN,CEA,CEB, CEC,CECARRYIN,CECINSUB,CECTRL,CEM,CEP,CLK, RSTA, RSTB,RSTC,RSTCARRYIN,RSTM,RSTP,SUBTRACT;//对DSP48原语的功能进行配置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Xilinx原语的使用方法13.4 Xilinx公司原语的使用方法原语,其英文名字为Primitive,是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的库函数,类似于C++中的“cout”等关键字,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语言。

在实现过程中的翻译步骤时,要将所有的设计单元都转译为目标器件中的基本元件,否则就是不可实现的。

原语在设计中可以直接例化使用,是最直接的代码输入方式,其和HDL语言的关系,类似于汇编语言和C语言的关系。

Xilinx公司提供的原语,涵盖了FPGA开发的常用领域,但只有相应配置的硬件才能执行相应的原语,并不是所有的原语都可以在任何一款芯片上运行。

在Verilog中使用原语非常简单,将其作为模块名直接例化即可。

本节以Virtex-4平台介绍各类原语,因为该系列的原语类型是最全面的。

其它系列芯片原语的使用方法是类似的。

Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM 组件、Slice/CLB组件以及G比特收发器组件。

下面分别对其进行详细介绍。

3.4.1 计算组件计算组件指的就是DSP48核,也有人将其称为硬件乘法器,功能描述如表3-6所示。

表3-6 计算组件清单DSP48 其结构为一个18*18比特的有符号乘法器,且在后面还级联了一个带有可配置流水线的3输入加法器DSP48核由一个18比特的乘法后面级联一个48比特的加法器,乘法器和加法器的应用位宽分别可以在18、48比特内任意调整。

其在乘加模块中有广泛应用,特别是各类滤波器系统中,不仅可以提高系统稳定性,还能够节省逻辑资源且工作在高速模式下。

其在Verilog中的例化模版为:module fpga_v4_dsp48(BCOUT, P, PCOUT, A, B, BCIN, C, CARRYIN,CARRYINSEL, CEA, CEB,CEC, CECARRYIN, CECINSUB, CECTRL, CEM, CEP, CLK, OPMODE,PCIN, RSTA, RSTB, RSTC, RSTCARRYIN, RSTM, RSTP,SUBTRACT);output [17:0]BCOUT;output [47:0] P, PCOUT; //input [17:0] A, B; //input [47:0] C, PCIN;input [1:0] CARRYINSEL;input [6:0] OPMODE;input BCIN, CARRYIN,CEA,CEB, CEC,CECARRYIN,CECINSUB,CECTRL,CEM,CEP,CLK, RSTA, RSTB,RSTC,RSTCARRYIN,RSTM,RSTP,SUBTRACT;//对DSP48原语的功能进行配置。

DSP48 #(.AREG(1), // Number of pipeline registers on the A input, 0, 1 or 2.BREG(1), // Number of pipeline registers on the B input, 0, 1 or 2 .B_INPUT("DIRECT"),// B input DIRECT from fabric or CASCADE from another DSP48.CARRYINREG(1),// Number of pipeline registers for the CARRYIN input, 0 or 1.CARRYINSELREG(1),// Number of pipeline registers for the CARRYINSEL, 0 or 1.CREG(1), // Number of pipeline registers on the C input, 0 or 1 .LEGACY_MODE("MULT18X18S"),// Backward compatibility, NONE, MULT18X18 or MULT18X18S.MREG(1), // Number of multiplier pipeline registers, 0 or 1.OPMODEREG(1), // Number of pipeline regsiters on OPMODE input, 0 or 1.PREG(1), // Number of pipeline registers on the P output, 0 or 1.SUBTRACTREG(1)// Number of pipeline registers on the SUBTRACT input, 0 or 1 ) fpga_v4_dsp48 (.BCOUT(BCOUT), // 18-bit B cascade output.P(P), // 48-bit product output.PCOUT(PCOUT), // 48-bit cascade output.A(A), // 18-bit A data input.B(B), // 18-bit B data input.BCIN(BCIN), // 18-bit B cascade input.C(C), // 48-bit cascade input.CARRYIN(CARRYIN), // Carry input signal.CARRYINSEL(CARRYINSEL), // 2-bit carry input select.CEA(CEA), // A data clock enable input.CEB(CEB), // B data clock enable input.CEC(CEC), // C data clock enable input.CECARRYIN(CECARRYIN), // CARRYIN clock enable input.CECINSUB(CECINSUB), // CINSUB clock enable input.CECTRL(CECTRL), // Clock Enable input for CTRL regsiters.CEM(CEM), // Clock Enable input for multiplier regsiters.CEP(CEP), // Clock Enable input for P regsiters.CLK(CLK), // Clock input.OPMODE(OPMODE), // 7-bit operation mode input.PCIN(PCIN), // 48-bit PCIN input.RSTA(RSTA), // Reset input for A pipeline registers.RSTB(RSTB), // Reset input for B pipeline registers.RSTC(RSTC), // Reset input for C pipeline registers.RSTCARRYIN(RSTCARRYIN), // Reset input for CARRYIN registers.RSTCTRL(RSTCTRL), // Reset input for CTRL registers.RSTM(RSTM), // Reset input for multiplier registers.RSTP(RSTP), // Reset input for P pipeline registers.SUBTRACT(SUBTRACT) // SUBTRACT input);endmodule3.4.2 时钟组件时钟组件包括各种全局时钟缓冲器、全局时钟复用器、普通I/O本地的时钟缓冲器以及高级数字时钟管理模块,如表3-7所示。

表3-7 时钟组件的清单下面对几个常用时钟组件进行简单介绍,其余组件的使用方法是类似的。

1.BUFGBUFG是具有高扇出的全局时钟缓冲器,一般由综合器自动推断并使用,其和同类原语的RTL结构如图3-28所示。

全局时钟是具有高扇出驱动能力的缓冲器,可以将信号连到时钟抖动可以忽略不计的全局时钟网络,BUFG组件还可应用于典型的高扇出信号和网络,如复位信号和时钟使能信号。

如果要对全局时钟实现PLL或DCM等时钟管理,则需要手动例化该缓冲器。

其例化的代码模板如下所示:// BUFG: 全局时钟缓存(Global Clock Buffer),只能以内部信号驱动// Xilinx HDL库向导版本,ISE 9.1BUFG BUFG_inst (.O(O), //时钟缓存输出信号.I(I) // /时钟缓存输入信号);// 结束BUFG_ins模块的例化过程在综合结果分析中,其和同类原语的RTL结构如图3-32所示。

图3-32 全局时钟原语的RTL级结构示意图2. BUFMUXBUFMUX是全局时钟复用器,选择两个输入时钟I0或I1中的一个作为全局时钟,其和同类原语BUFMUX1的RTL级结构如图M所示。

当选择信号S 为低时,选择I0;否则输出I1,其真值表如表M所示。

BUFMUX原语和BUFMUX1原语的功能一样,只是选择逻辑不同,对于BUFMUX1,当选择信号S为低时,选择I1;否则输出I0。

BUFMUX原语的例化代码模板如下所示:// BUFGMUX: 全局时钟的2到1复用器(Global Clock Buffer 2-to-1 MUX)// 适用芯片:Virtex-II/II-Pro/4/5, Spartan-3/3E/3A// Xilinx HDL库向导版本,ISE 9.1BUFGMUX BUFGMUX_inst (.O(O), //时钟复用器的输出信号.I0(I0), // 0时钟输入信号.I1(I1), //1时钟输入信号.S(S) // 时钟选择信号);// 结束BUFGMUX_inst模块的例化过程需要注意的是:该原语只用用全局时钟处理,不能作为接口使用。

在综合结果分析时,它和同类原语BUFMUX1的RTL级结构如图3-33所示。

图3-33 全局时钟复用器的RTL级结构示意图3. BUFIOBUFIO是本地I/O时钟缓冲器,其RTL结构如图M所示,只有一个输入与输出,非常简单。

相关文档
最新文档