乘加macc_FIR调用DSP48E_05

作者:桂。

时间:2018-02-06  17:52:38

前言

到目前为止,本文没有对滤波器实现进行梳理,FIR仿真验证的平台(基于FPGA实现)包括HLS、Systemgenerator,至于*.v 与*.sv可通过程序(如python实现)完成转化,FIR的零散记录到本篇告一段落,本文重点记录DSP48E的使用

一、DSP48E

A-基本结构

主要参考UG479.pdf,DSP48E1结构:

56efbca7d053cbca85cfea99f183d8d53f4.jpg

可以看出主要功能为:P = (A±D)×B±C。具体功能可参考IP核:

29b92453855c65929042cd8f9d255046ea5.jpg

slice结构及位宽关系:

f8c80849e6dff53ff8ac2362125b89fe575.jpg

DSP48E在Xilinx内部的布局:

1fefa866c3bfa30f99c71a06d768d309896.jpg

常用器件DSP48E资源:

ca37dce2eff8e098acad25aa2a885d4fe44.jpg

B-原语调用

原语类似C语言的汇编,直接关联器件的底层结构,因此通常时序可以做的更好。

DSP48E支持原语调用,记录两个例子:

Ex1:

`timescale 1ns / 1ps

// m = b * (a + d)

// p = c+m or p+m

module dsp48_wrap_f

(

input clock,

input ce1,

input ce2,

input cem,

input cep,

input signed [24:0] a,

input signed [17:0] b,

input signed [47:0] c,

input signed [24:0] d, // this has two fewer pipe stages

// X+Y is usually the multiplier output (M)

// Z is either P, PCIN or C

// bit 1:0: 0: Z+X+Y 3:Z-(X+Y) 1: -Z + (X+Y) 2: -1*(Z+X+Y+1)

// bits 3:2, 0: Z=0, 1: Z=PCIN, 2: Z=P, 3: Z = C

// bit 4: sub in pre add

input [4:0] mode,

input signed [47:0] pcin,

output signed [47:0] pcout,

output signed [47-S:0] p);

parameter S = 0;

parameter USE_DPORT = "FALSE"; // enabling adds 1 reg to A path

parameter AREG = 1;

parameter BREG = 1; // 0 - 2

wire signed [47:0] dsp_p;

assign p = dsp_p[47:S];

DSP48E1

#(

.A_INPUT("DIRECT"), // "DIRECT" "CASCADE"

.B_INPUT("DIRECT"), // "DIRECT" "CASCADE"

.USE_DPORT(USE_DPORT),

.USE_MULT("MULTIPLY"),// "MULTIPLY" "DYNAMIC" "NONE"

.USE_SIMD("ONE48"), // "ONE48" "TWO24" "FOUR12"

// pattern detector - not used

.AUTORESET_PATDET("NO_RESET"), .MASK(48'h3fffffffffff),

.PATTERN(48'h000000000000), .SEL_MASK("MASK"),

.SEL_PATTERN("PATTERN"), .USE_PATTERN_DETECT("NO_PATDET"),

// register enables

.ACASCREG(1), // pipeline s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值