Xilinx FPGA原语的使用方法pdf\Xilinx原语的使用方法1.pdf

### Xilinx FPGA原语概述与使用方法 #### 一、Xilinx FPGA原语的基本概念 Xilinx FPGA原语,即Primitive,是指Xilinx为适应其特定器件特性而开发的一系列基本模块。这些原语可以被视为Xilinx为用户提供的库函数,类似于C++中的“cout”等关键字。它们是芯片中的基础构建单元,代表了FPGA内部实际存在的硬件逻辑单元,例如查找表(LUT)、D触发器、RAM等。在设计过程中,所有设计单元必须转换为目标器件中的这些基础元件,否则设计将无法实现。 原语在设计中可以直接实例化使用,是最直接的代码输入方式。它们与硬件描述语言(HDL)之间的关系类似于汇编语言与C语言之间的关系。Xilinx提供的原语覆盖了FPGA开发中的常见领域,但是这些原语只能在具备相应硬件配置的芯片上执行,并非所有原语都能在任何一款芯片上运行。 #### 二、Xilinx FPGA原语的分类 Xilinx公司的原语按照功能被分为以下十类: 1. **计算组件** 2. **I/O端口组件** 3. **寄存器和锁存器** 4. **时钟组件** 5. **处理器组件** 6. **移位寄存器** 7. **配置和检测组件** 8. **RAM/ROM组件** 9. **Slice/CLB组件** 10. **G比特收发器组件** 下面以Virtex-4平台为例,详细介绍其中一类——计算组件(DSP48核)。 #### 三、计算组件(DSP48核) 计算组件主要是指DSP48核,也被称作硬件乘法器。它是一种18×18比特的有符号乘法器,并在其后级联了一个带有可配置流水线的3输入加法器。DSP48核由一个18比特的乘法器后级联一个48比特的加法器组成,乘法器和加法器的应用位宽分别可以在18、48比特内任意调整。这种结构在乘加模块中有着广泛的应用,特别是在各种滤波器系统中,不仅能够提高系统的稳定性,还能够节省逻辑资源,并支持高速操作。 ##### DSP48核的结构与功能 DSP48核的主要结构如下: - **乘法器**:18比特的有符号乘法器。 - **加法器**:48比特的3输入加法器,支持可配置的流水线结构。 - **其他特性**: - 支持多种输入配置,如直接输入(DIRECT)或从另一个DSP48核级联输入(CASCADE)。 - 提供了多种配置选项,例如输入寄存器的数量、输出寄存器的数量等。 ##### Verilog中的DSP48核例化模板 在Verilog中使用DSP48核的例化模板如下: ```verilog module fpga_v4_dsp48( 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 registers 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 carry out .P(P), // 48-bit product output .PCOUT(PCOUT), // 48-bit product with carry input .A(A), .B(B), .C(C), .PCIN(PCIN), .CARRYINSEL(CARRYINSEL), .OPMODE(OPMODE), .BCIN(BCIN), .CARRYIN(CARRYIN), .CEA(CEA), .CEB(CEB), .CEC(CEC), .CECARRYIN(CECARRYIN), .CECINSUB(CECINSUB), .CECTRL(CECTRL), .CEM(CEM), .CEP(CEP), .CLK(CLK), .RSTA(RSTA), .RSTB(RSTB), .RSTC(RSTC), .RSTCARRYIN(RSTCARRYIN), .RSTM(RSTM), .RSTP(RSTP), .SUBTRACT(SUBTRACT) ); ``` 通过上述例化模板,我们可以看到如何在Verilog中配置和使用DSP48核的各种特性。例如,通过`.AREG(1)`设置A输入端的寄存器数量,或者通过`.B_INPUT("DIRECT")`指定B输入的方式等。这些配置选项使得DSP48核能够灵活地应用于不同的应用场景中,从而满足不同设计的需求。 Xilinx FPGA原语为开发者提供了强大的工具,使他们能够在FPGA设计中高效地利用硬件资源。通过对这些原语的深入了解和熟练掌握,可以显著提高设计的性能和资源利用率。


















剩余16页未读,继续阅读

- qq_356367402019-05-11资料详细,可供学习
- lupy112014-02-26很详细,可以指导原语的使用
- 瘾身2012-07-06这个好,可以解决一些问题。

- 粉丝: 11
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 环境监测的物联网应用分析(1).pptx
- 基于大数据时代的企业市场营销策略分析(1).docx
- 软件开发代码规范(Java).doc
- 计算机网络技术试题及答案(1)(1).doc
- 精品课程网站学位论文(1).doc
- 基于S7-200PLC的焙砂气力输送控制系统设计(1).docx
- 软件开发计划模板.doc
- 大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究(1).doc
- 软件开发项目全套文档.doc
- 软件开发中南院监理管理信息系统开发本科学位论文.doc
- 使用Photoshop-CS2处理图像第5讲(1).pptx
- 软件生存期模型特点及优缺点ppt课件.ppt
- 软件系统项目解决方案模板.doc
- 办公用品网站项目节能评估报告模板(1).docx
- 软件系统项目监理报告.doc
- 基于PLC控制的局部通风机变频调速系统的研究(1).docx


