网站大量收购独家精品文档,联系QQ:2885784924

xilinx原语使用方法.pdfVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
xilinx原语使用方法.pdf

Xilinx 原语的使用方法1 3.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 DS

您可能关注的文档

文档评论(0)

nuvem + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档