资源描述:
《Xilinx原语的使用方法1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Xilinx原语的使用方法13.4Xilinx公司原语的使用方法原语,其英文名字为Primitive,是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的库函数,类似于C++中的“cout”等关键字,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语言。在实现过程中的翻译步骤时,要将所有的设计单元都转译为目标器件中的基本元件,否则就是不可实现的。原语在设计中可以直接例化使用,是最直接的代码输入方式,其和HDL语言的关系,类似于汇编语言和C语言的关系。Xil
2、inx公司提供的原语,涵盖了FPGA开发的常用领域,但只有相应配置的硬件才能执行相应的原语,并不是所有的原语都可以在任何一款芯片上运行。在Verilog中使用原语非常简单,将其作为模块名直接例化即可。本节以Virtex-4平台介绍各类原语,因为该系列的原语类型是最全面的。其它系列芯片原语的使用方法是类似的。Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及G比特收发器组件。下面分别对其进行详细介绍。3.4.1计算组件计算组件指
3、的就是DSP48核,也有人将其称为硬件乘法器,功能描述如表3-6所示。表3-6计算组件清单DSP48其结构为一个18*18比特的有符号乘法器,且在后面还级联了一个带有可配置流水线的3输入加法器DSP48核由一个18比特的乘法后面级联一个48比特的加法器,乘法器和加法器的应用位宽分别可以在18、48比特内任意调整。其在乘加模块中有广泛应用,特别是各类滤波器系统中,不仅可以提高系统稳定性,还能够节省逻辑资源且工作在高速模式下。其在Verilog中的例化模版为:modulefpga_v4_dsp48(BCOUT,P,PCOUT,A,B,BCIN,C,CARRYIN,
4、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;inputBCIN,CARRYIN,CEA,CEB,CEC,CECARRYIN,CECINSUB,CE
5、CTRL,CEM,CEP,CLK,RSTA,RSTB,RSTC,RSTCARRYIN,RSTM,RSTP,SUBTRACT;//对DSP48原语的功能进行配置。DSP48#(.AREG(1),//NumberofpipelineregistersontheAinput,0,1or2.BREG(1),//NumberofpipelineregistersontheBinput,0,1or2.B_INPUT("DIRECT"),//BinputDIRECTfromfabricorCASCADEfromanotherDSP48.CARRYINREG(1),//Num
6、berofpipelineregistersfortheCARRYINinput,0or1.CARRYINSELREG(1),//NumberofpipelineregistersfortheCARRYINSEL,0or1.CREG(1),//NumberofpipelineregistersontheCinput,0or1.LEGACY_MODE("MULT18X18S"),//Backwardcompatibility,NONE,MULT18X18orMULT18X18S.MREG(1),//Numberofmultiplierpipelineregist
7、ers,0or1.OPMODEREG(1),//NumberofpipelineregsitersonOPMODEinput,0or1.PREG(1),//NumberofpipelineregistersonthePoutput,0or1.SUBTRACTREG(1)//NumberofpipelineregistersontheSUBTRACTinput,0or1)fpga_v4_dsp48(.BCOUT(BCOUT),//18-bitBcascadeoutput.P(P),//48-bitproductoutput.PCOUT(PCOUT),//48-b
8、itcascadeoutput.A(A