MBD - DSPBuilder / HDL Coder 工具链

2016-12-12  本文已影响864人  锦穗

!本方案的系统环境与安装套件:
Win7 64bit, VS2012 enu MSDN,
Quartus13.0sp1 , DSPBuilder13.0sp1 64bit, Modelsim10.2c,
Matlab2013a 64bit, Matlab2016b.
安装以上这些软件最好都在分区内直接的目录下,如D:\MATLAB 以及C:\altera
最好不要在安装路径中出现空格与中文字符,不然也许会出现一些问题。

[TOC]

前言

本方案旨在初步搭建一个根据模型生成HDL代码,流程自动化,便于仿真调试的工具链。
DSP Builder/System Generator是FPGA厂商为Matlab制作的插件,Matlab用户可以根据这些模块包里给出的IP/元件方便的进行算法/数字系统设计,产生HDL源文件并观察仿真结果;
Matlab本身也提供了HDL Coder + HDL Verifier + Fixed Point这一套,将 m语言建立的模型/Simulink Library中元件建立的模型 生成HDL描述 并自动产生测试结果的工具箱;
这些工具极大的方便了Fixed-Pointed的算法设计和测试验证,将人从繁杂的劳动中解放出来,以更高效和简明的方式去处理解决问题。

版本选择/兼容性问题

Matlab2013a支持最完善的搭配版本是Quartus12.0,然而Quartus12.0的DSPbuilder12.0默认不支持Matlab2013a;
此外Quartus13sp1支持的最高版本为matlab2013a,和之后发布的matlab版本兼容性上可能会有问题。

安装破解

vs2012config.png

安装后检测64位的cl.exe是否适配可用,返回的是全英文的描述则可用。

vs2012chk.png

关于启动

hdlsetuptoolpath('ToolName' , 'Altera Quartus II' , 'ToolPath' , 'C:\altera\13.0sp1\quartus\bin64\quartus.exe');

若想在打开Matlab后,让其自动切换到工作目录,那么可以写一个startup.m脚本,将其放到matlab安装目录的bin/下和dspbuilder的安装目录下,如在:
D:\MATLAB\R2013a\bin
C:\altera\13.0sp1\quartus\dsp_builder
目录下,新建startup.m文件,内容可以写:

hdlsetuptoolpath('ToolName' , 'Altera Quartus II' , 'ToolPath' , 'C:\altera\13.0sp1\quartus\bin64\quartus.exe');
cd F:\matwork

matlab默认不会载入quartus编译器支持。另外,如果使用matlab安装目录bin下的exe文件启动matlab,那么开启时目录自动切换到bin/下,如果通过dspbuilder启动matlab,那么启动matlab后,工作目录默认切换到dspbuilder的安装目录下。推荐熟悉后在这两个路径下分别放一个startup.m文件,将quartus执行文件路径以及自己开启matlab时希望自动切换去的工作路径写上。

hdllib

返回的是simulink library中支持自动生成HDL代码的模块,可供快速查看。
2.可转换为HDL描述的M-function文件
执行命令:

eml_hdl_design_patterns

返回的是matlab自带提供的一些可以转换生成HDL代码的M-function模块。
有些情形需要VC++2012等外部编译器的辅助才可以执行转换;由于Matlab破解的不完善,Matlab自身的Bug,Matlab和VS的兼容性问题,32位软件和64位软件,系统的不匹配,软件冲突等原因;转换时经常会在这一点的相关步骤上出错。

详细的支持自动生成HDL的函数与模块说明见官方网站上的文档,虽然全英文,但是还是得看是吧。

在启动hdlcoder后,拖动源文件和测试文件到HDL Code Gen面板的相应位置上以导入;先不要点击面板下方的Wolkflow Advisor,此时先点击Autodefine types;

wa2.png

则会出现如下对话框,点击运行;

wa3.png

之后会出现如下对话框,这里是简单的按默认值直接勾选;使用者自己可根据实际情况修改此设置值;

wa4.png

此时可以点击Workflow Advisor正式进入生成HDL的流程了,如果一步一步的操作与设置无误,那么Fixed-Point Conversion这一步的Variables栏是有数据的,否则一片空白且HDL Coder Generation不成功。

wa5.png

检测安装

dspbdemo.png hdlcdemo.png

Workflow Advisor


参考文档

  1. Matlab需要额外的编译器(Compiler)支持才可以正常编译执行转换m文件。
    https://cn.mathworks.com/products/availability.html#ML
  2. Matlab常用函数
    https://cn.mathworks.com/help/matlab/functionlist.html
  3. Matlab在线help
    https://cn.mathworks.com/help/index.html?s_cid=doc_ftr

便车

VS2012MSDN_EN 链接:http://pan.baidu.com/s/1nuP9hX3 密码:ii8y
Matlab2013a 链接:http://pan.baidu.com/s/1hsPZ5ti 密码:y5c3
Matlab2016b 链接:http://pan.baidu.com/s/1bpKJXxX 密码:xzhl
Quartus13.0sp1+DSPBuilder 链接:http://pan.baidu.com/s/1hsA00ok 密码:qpek
ModelsimSE10.2c 链接:http://pan.baidu.com/s/1kVrx6gJ 密码:jwue

后记

若有疑问,可电邮shushu9090@126.com联系,简信很少看。

上一篇 下一篇

猜你喜欢

热点阅读