微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助:DSP48E1问题

求助:DSP48E1问题

时间:10-02 整理:3721RD 点击:
我想用它实现一个简单的16*16位的乘法功能,那么计算一次乘法运算需要几个时钟数,,能不能用ise来看,,谢谢各位

仿真一下,看看周期延时就知道了

DSP48的话,乘法运算最少一个时钟周期即可

要看你的时钟频率跑多少了,要最大化性能的最好用CORE GEN里推荐的流水级数

乘法是硬核,位宽不超过硬核的话 一个时钟周期就可以
如果用前后级加法器,才需要考虑加流水线
当然,加流水对性能肯定有帮助

DSP48E1在datasheet里面有框图的,可以实现预加,从输入到输出需要几个时钟,你可以自己配置的

谢谢各位了,
DSP48E1 #(
    .USE_DPORT ( "FALSE" ),
    .ADREG ( 0 ),
    .AREG ( 0 ),
    .ACASCREG ( 0 ),
    .BREG ( 0 ),
    .BCASCREG ( 0 ),
    .CREG ( 0 ),
    .MREG ( 0 ),
    .PREG ( 0 ),
    .CARRYINREG ( 0 ),
    .OPMODEREG ( 0 ),
    .ALUMODEREG ( 0 ),
    .CARRYINSELREG ( 0 ),
    .INMODEREG ( 0 ),
    .USE_MULT ( "MULTIPLY" ),
    .A_INPUT ( "DIRECT" ),
    .B_INPUT ( "DIRECT" ),
    .DREG ( 0 ),
    .SEL_PATTERN ( "PATTERN" ),
    .MASK ( 48'h3fffffffffff ),
这些寄存器都没有用,是不是就直接就输出了,不存入寄存器中
PS:我的程序中就只有一个assign out=a*b

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top