Vivado综合属性系列之五 USE_DSP

目录

一、前言

二、USE_DSP

2.1 工程代码

2.2 结果

2.3 参考资料

一、前言

        ​对于逻辑运算,加、减、乘、除等可以使用逻辑资源LUT实现,也可以使用专用的运算资源DSP来实现。在一些计算量较大时,使用DSP可以节省许多逻辑资源,占用的面积更小。

二、USE_DSP

    ​    属性USE_DSP可以指定逻辑运算实现方式,属性可以直接加入到代码或约束文件XDC中。

格式样例:(* USE_DSP=value*) moduel dsp_test(in,out); 

可设置的值为:logic,simd,yes,no

logic:使用DSP的异或结构实现,此时属性只能放置到模块级别

simd:通过综合工具将SIMD(单命令多数据)放入DSP中

yes/no:设置为yes时,综合工具将逻辑单元放入DSP中,属性可以设置到信号或模块上,信号的优先级高于模块。

2.1 工程代码

(* USE_DSP="yes" *)module USE_DSP(num1,num2,multi );

input [3:0] num1,num2;

output reg [7:0] multi;

reg [7:0] temp0;

reg [7:0] temp1;

integer i;

always@(*)

begin

    temp0=8'b0;

    temp1={4'b0,num1};

    for(i=0;i<=3;i=i+1)

        begin

        if(num2[i]==1)

            temp0=temp0+temp1;

            temp1={temp1[6:0],1'b0};

         end

     multi=temp0;

   end

endmodule

2.2 结果

结果如下图,根据网表图和RTL图可知,使用DSP来实现乘法运算

将USE_DSP设为no,此时使用LUT来实现

2.3 参考资料

用户手册:《ug901-vivado-synthesis.pdf》

​    ​    ​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值