概述

利用 4 个 dsp48e1 模块,实现四路加法器,dsp48e1 模块在手册中表示比较复杂,找了两个图,可以大致看懂他的基本功能。

 

图 1 dsp48e1 端口说明

 

图 2 简化的 DSP48E1 结构

 

软件环境

 Matlab 2014 a

 Vivado 2014.4

 System generator 2014.4

 

实现步骤

1、 模型搭建与仿真

在 simulink 环境下工程搭建如下

 

图 3 四路加法器原理图

 

模型搭建完毕后,双击 system generator ,按照 a7 试用板的型号设置如下

 

图 4 system generator

 

2、vivado 仿真

找到输出目录,打开 xpr 文件,可得完整的 vivado 工程

 

图 5 工程结构

 

直接运行仿真

 

图 6 仿真

 

仿真结果

设置 4 路输入,分别输入: 1,2,3,4(fix_18_0),可得 48bit 的输出 1010b

 

图 7 仿真结果

 

分析

还没有用到 SIMD 功能,不知道为什么,一旦勾选 SIMD 功能将 48bit 拆分成 4 个 12bit 就会出现报错,可能是我的参数设置有问题,这一步还得继续看一下官方的手册,希望下次能够将这个问题解决。