《FPGA底层硬件开发》PPT课件.ppt_第1页
《FPGA底层硬件开发》PPT课件.ppt_第2页
《FPGA底层硬件开发》PPT课件.ppt_第3页
《FPGA底层硬件开发》PPT课件.ppt_第4页
《FPGA底层硬件开发》PPT课件.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPGA应用,Xilinx FPGA底层硬件开发,底层硬件种类,全局时钟网络 PLL模块 DCM模块 块RAM资源 硬核乘法器 高速收发器 嵌入式处理器,底层硬件使用,硬件原语:Device Primitive 菜单Edit-Language Templates Verilog-Device Primitive Instantation-FPGA IP Core New Source 选择IP Coregen BUFG CLK_BUFG_INST( .I(CLKIN_IBUFG), O(CLK_OUT);,BUFGP方法,IBUFG/IBUFGDS+BUFG IBUFGDS后组合BUFG IB

2、UFGDS CLKIN_IBUFG_INST( .I(CLKIN_P_IN), .IB(CLKIN_N_IN), .O(CLKIN_IBUFGDS); BUFG CLK_BUFG_INST( .I(CLKIN_IBUFGDS), .O(CLK_OUT);,LOGIC+BUFG方法,BUFG驱动普通信号 当某个信号需要扇出非常大,且要求抖动延迟最小 信号进入全局时钟布线层需要一个固有的延迟(10ns),但BUFG到其它所有单元的延时忽略不计 BUFG CLK_BUFG_INST( .I(CLK_IN), .O(CLK_OUT);,IBUFG/IBUFGDS+DCM+BUFG方法,通过DCM模块,

3、对时钟进行同步、移相、分频、倍频等变换,并使全局时钟输出无抖动延迟; IBUFG CLK_BUFG_INST(.I(CLK_IN),O(CLK_IBUFG); DCM_ADV DCM_ADV_INST(.CLKFB(CLKFB_IN), .CLKIN(CLKIN_IBUFG),.DADDR(GND16:0),.DCLK(GND3), .DEN(GND3),.DI(GND215:0,.DWE(GND3),.PSCLK(GND3), .PSEN(GND3),.PSINCDEC(GND3),.RST(RST_IN), .CLKFX(CLKFX_BUF),.CLK0(CLK0_BUF), .LOCKE

4、D(LOCKED_OUT); BUFG CLKFX_BUFG_INST(.I(CLKFX_BUF),.O(CLKFX_OUT);,LOGIC+DCM+BUFG方法,内部信号同步、移相、分频、倍频等变换,并使输出无抖动延迟; DCM_ADV DCM_ADV_INST(.CLKFB(CLKFB_IN), .CLKIN(CLKIN_IN),.DADDR(GND16:0),.DCLK(GND3), .DEN(GND3),.DI(GND215:0,.DWE(GND3),.PSCLK(GND3), .PSEN(GND3),.PSINCDEC(GND3),.RST(RST_IN), .CLKFX(CLKFX

5、_BUF),.CLK0(CLK0_BUF), .LOCKED(LOCKED_OUT); BUFG CLKFX_BUFG_INST(.I(CLKFX_BUF),.O(CLKFX_OUT);,第二全局时钟,长线资源,驱动性能、抖动、延时指标仅次于全局时钟; 可驱动片内任一逻辑信号,一般用于高频、高扇出的时钟使能信号及高速路径上的关键信号 全局时钟不占用逻辑资源,也不影响其它布线资源;但第二全局时钟资源要占用 使用方法:定义线网约束属性 NET “s1”USELOWSKEWLINES; NET “s2”USELOWSKEWLINES; NET “s3”USELOWSKEWLINES;,DCM模块,强

6、大的DLL模块,功能包括: 消除时钟延时 频率合成 时钟相位调整 优点: 实现零时钟偏移(Skew),消除时钟分配延迟,时钟闭环控制; 时钟可映射到PCB上,用于同步外部芯片,将内外时钟一体化;,DCM模块,DCM模块IP Core的使用,DCM模块IP Core的使用,DCM模块IP Core的使用,DCM模块IP Core的使用,DCM模块IP Core的使用,实例化生成的DCM模块; 实例化中的CLK_IN不能直接来自管脚,而必须是内部信号,一般为时钟缓冲输出; module dcm_top(); mydcm dcm1(); endmodule;,DCM模块IP Core的使用,内嵌块存

7、储器的使用,分类: 块存储器:独立的硬件存储器,不占用逻辑资源;用于大数据量存储; 分布式存储器:查找表和触发器逻辑形成;用于小数据量环境; 16位移位存储器:查找表和触发器逻辑形成;用于小数据量环境; 可生成: 单端口RAM 简单双端口RAM 真双端口RAM ROM FIFO,内嵌块存储器的使用,内嵌块存储器的使用,ROM应用示例,步骤: 建立ROM存储文件.coe 调用IP Generator-Memories”结束 memory_initialization_radix=16; memory_initialization_vector= 3f8,5,8,7,3f1,1b, 114,243

8、, 2ba,1a7,132,;,硬核乘法器,功能: 乘法器,乘法器累加器,乘法器加法器/减法器,三输入加法器,桶刑移位器,宽总线多路复用器,宽计数器 特点 1818位,补码乘法器具有完整36位结果,符号可扩展到48位; 三输入,灵活的48位加法器/减法器,具有可选的寄存器累加反馈; 动态用户控制操作方式; 级联的18位总线,支持输入取样传递; 级联的48位P总线,支持部分结果的输出传递; 多精度乘法器和算法支持,17位操作数右移位; 对称智能舍入; 提供更高性能流水线选项; 独立的复位和时钟,实现控制和数据寄存器,硬核乘法器接口,A:乘法器操作数,位宽可定义,支持有符号/无符号; B:乘法器操

9、作数,位宽可与A不同;可导入常数 接收A口输入信号,与一个常数相乘;常数可固定,或重导入; CLK:工作时钟,上升沿有效; CE:片选,指示时钟是否有效; ND:握手信号 ACLR:异步清零信号 SCLR:同步清零信号 LOADB:当RCCM时有效;高电平时,B端口新的输入可重新输入写入; SWAPB:当RCCM时有效;高电平时,在计算模块的存储单元已存有多个常数中选择; RDY:输出有效指示; RFD:输出数据有效指示,边沿有效; O:异步输出信号; Q:同步输出信号; LOAD_DONE:当RCCM时有效,指示重新导入数据过程完成;,硬核乘法器使用步骤,添加IP Core文件 FPGA F

10、eatures and Design-XTremeDSP Slice- Multiplier v9.1i 配置IP Code参数 完成配置后,实例化模块,硬核乘法器使用,硬核乘法器使用,硬核乘法器使用,硬核乘法器实例化,module multiply1(sclr,rfd,rdy,nd,clk,a,b,q); input sclr,nd,clk; output rfd,rdy; input 17:0 a,b; output 35:0 q; multiply multiply(.sclr(sclr),.rfd(rfd), .rdy(rdy),.nd(nd),.clk(clk),.a(a),.b(b

11、), .q(q); endmodule,硬核乘法器实例化,module multiply1(sclr,rfd,rdy,nd,clk,a,b,q); input sclr,nd,clk; output rfd,rdy; input 17:0 a,b; output 35:0 q; multiply multiply(.sclr(sclr),.rfd(rfd), .rdy(rdy),.nd(nd),.clk(clk),.a(a),.b(b), .q(q); endmodule,设计实例:块RAM实现函数发生器,相位累加器对频率控制字线性累加,得到相位码对波形存储器寻址,输出相应幅度字,经DA得到阶

12、梯波,最后利用滤波器平滑化,设计实例:块RAM实现函数发生器,相位累加器由N位加法器与N位累加寄存器构成:每来一个时钟脉冲,加法器将频率控制字K与累加寄存器相加,将结果送至累加寄存器输入端 累加寄存器将加法器在上一时钟脉冲产生的新相位数据反馈到加法器输入端,使加法器在下一时钟脉冲继续与频率控制器相加,累加寄存器输出数据即合成信号的相位,设计实例:块RAM实现函数发生器,用上述相位数据作为地址查波形存储器(ROM)表,得到信号幅值 波形存储器存储余弦信号波形;实际应用时,利用对称性,只需存储/2周期波形 DA转换器将数字量波形值转换成模拟量 低通滤波器滤除不需要的取样分量,将DA后阶梯信号平滑化

13、,设计实例:块RAM实现函数发生器,timescale 1ns/1ps module mydds(DATA, /频率控制字WE_F, /频率控制字写使能CLKP, /时钟CE, /DDS使能ACLR, /复位SINE, /正弦信号输出COSINE /余弦信号输出); input 31 : 0 DATA;input WE_F;input CLKP;input CE;input ACLR;output 15 : 0 SINE;output 15 : 0 COSINE; parameter DATA_DEF=32H51EB851; reg 31:0 ADD_A;reg 31:0 ADD_B;wire

14、 31:0 DATA;,/ADD_A always (posedge CLKP or posedge ACLR) if(ACLR) ADD_A=DATA_DEF; else if(WE_F) ADD_A=DATA; /ADD_B always (posedge CLKP or posedge ACLR) /OLD CLKN if(ACLR)ADD_B=0; else if(CE)ADD_B=ADD_B+ADD_A;,设计实例:块RAM实现函数发生器,/COS wire 10:0 ROM_A; assign ROM_A=ADD_B31:21; wire 15:0 COS_D; rom_cos cos( /余弦信号ROM.addr(ROM_A),.clk(CLKP),.dout(COS_D),.en(CE); reg 15:0 COS_DR; always (posedge CLKP or posedge ACLR) /OLD CLKN if(ACLR) COS_DR=0; else if(CE) COS_DR=COS_D; assign COSINE=COS_DR;,/SINE wire 15:0 SIN_D; rom_sin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论