matlab中hdl coder 的使用
今天摸索了一下hdl coder的使用方法,各个步骤主要是照猫画虎,有些地方还是不理解,先总结一下:
1.要想调用quartus或者Xilinx综合布局布线需要先设置,设置的方法有两种,命令窗口输入
hdlsetuptoolpath('ToolName', 'Altera Quartus II', ...
'ToolPath', 'D:\altera\10.1\quartus\bin\quartus.exe');或者在matlab安装目录下找到toolbox\local新建一个startup.m把这条命令写进去,如果用的是quartus只需要把路径改一下,赛灵思的话就把工具名路径都改一下(startup.m也可以加其他命令,matlab会在启动时执行,比如把默认路径给改成经常使用的地址,等等)。
2.目录切换到工程目录下后,在命令行输入hdlcoder就会启动,输入工程名,工程路径,保存就建好工程了,这时候在matlab的右边会有一个提示框,分成两部分,function和test bench 把两个文件分别添加进来。
3.点击workflow advisor 就进入转换界面,我认为转换主要有3大块,1.浮点转定点。2.生成hdl文件。3.仿真文件生成。至于综合布局布线还是用quartus或者xilinx比较好,更顺手。分点来说,1.浮点转定点,转之前先执行第一步 define input types, 如果文件没问题的话运行一下就自动捕获到输入数据类型了。在定点转化之前,先固定一个长度,设置建议长度,有两个长度,一个是小数长度,一个是数据位宽,也就是生成Verilog后寄存器型数据的长度。毫无疑问肯定是固定小数长度选建议数据位宽了,看数据手册貌似有4%的余量,没有深究,之后点simulation就会仿真,仿真过程软件自动捕获数据范围并给出合理的位宽,当然如果觉得不合适还可以手动修改只需要在建议位宽处点击便会出现对话框更改。之后就是生成定点数表示的matlab程序,然后就是检查定点化的设计跟浮点设计相比的误差,会有相应的报告。当然选的位宽越大那误差相应就越小了。
4.转完定点就是hdl生成了,hdl生成有很多选项,其中我认为最主要的就是优化选项,包括pipeline的设置,资源共享,循环的展开等等,但是看了个视频人家可以用streaming减少乘法器和加法器的数量,但是我找不到streaming选项,不知道是版本的问题?(我用的2014a,视频用的2012a)还是其他问题,用user guide里的例子发现不是太复杂的例子就消耗了fpga25个乘法器,如果能找到优化办法就比较好了。算法设计中资源和速度的瓶颈就在于加法器乘法器,能够提高的话系统的速度就会上去。
5.仿真文件不仅包含hdl文件,还可以生成cosimulation文件matlab和modelsim同时仿真用得到,还有fpga-in-the-loop仿真文件,是matlab和fpga硬件的协同仿真需要的文件,暂时还用不到,不去深究。
6.把整个流程走了一遍,但是问题还有,需要下面进一步研究。
matlab中hdl coder 的使用的更多相关文章
- MatLab之HDL coder
1 Workflow The workflow for applying HDL code generation to the hardware design process requires the ...
- 基于Hdl Coder实现卡尔曼滤波算法
总所周知,FPGA极其不擅长复杂算法的运算,但是如果项目中又涉及一些高级算法的实现,在没有可封装IP核调用的形式下,我们应该如何进行程序开发呢?今夕已经是2020年,我们一味依赖于用verilog写代 ...
- matlab中fspecial Create predefined 2-D filter以及中值滤波均值滤波以及高斯滤波
来源: 1.https://ww2.mathworks.cn/help/images/ref/fspecial.html?searchHighlight=fspecial&s_tid=doc_ ...
- matlab中floor 朝负无穷大四舍五入
来源:https://ww2.mathworks.cn/help/matlab/ref/floor.html?searchHighlight=floor&s_tid=doc_srchtitle ...
- matlab中num2str 将数字转换为字符数组
参考:https://ww2.mathworks.cn/help/matlab/ref/num2str.html?searchHighlight=num2str&s_tid=doc_srcht ...
- matlab中imread 从图形文件读取图像
来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtit ...
- matlab中bitshift 将位移动指定位数
来源:https://ww2.mathworks.cn/help/matlab/ref/bitshift.html?searchHighlight=bitshift&s_tid=doc_src ...
- matlab中reshape 重构数组
来源:https://ww2.mathworks.cn/help/matlab/ref/reshape.html?searchHighlight=reshape&s_tid=doc_srcht ...
- matlab中find 查找非零元素的索引和值
来源:https://ww2.mathworks.cn/help/matlab/ref/find.html?searchHighlight=find&s_tid=doc_srchtitle f ...
随机推荐
- Apache 浏览器访问限制配置
浏览器访问限制配置 user_agent收入的浏览器中,我们通过百度,谷歌很容易就可以查到相关的一些资料,方便了我们对知识的查找,但在某些特定情况下,我们并不希望有人可以通过某写搜索引擎直接访问到我们 ...
- 20145217《网络对抗》 MAL_简单后门学习总结
20145217<网络对抗> MAL_简单后门学习总结 实践内容: 1.netcat的应用 2.socat的应用 3.meterpreter的应用 知识点学习总结 后门程序一般是指那些绕过 ...
- 如何自定义echarts 线性图的选择事件
最近在做公司的数据大盘,要用到图表显示,echarts研二的时候有用过,我就决定用它了. 这里用到一个可以同时显示多条曲线的line-charts,基本样子如下: 看到这个画红色圈圈的地方了吗??? ...
- Latex排版全解【转载】
Latex排版全解 https://www.cnblogs.com/jingwhale/p/4250296.html
- resultMap结果集映射
resultMap结果集是用来定义sql查询的结果与java对象的映射关系.它主要解决2大问题: 1)可以解决POJO属性名和表结构的字段名不一致问题(甚至是 不是标准的驼峰命名法) 2)可以完成高级 ...
- Rancher+K8S部署手册
目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等. Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没 ...
- Ambari Views的自定义
下载ambari源码, ambari-views/examples/ 下面有很多例子,直接编译是不会成功的, 因为每一个例子项目都需要一个依赖 <dependency> <group ...
- 摘录:MINA 框架简介
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),Mi ...
- 远程桌面.【转】Win10 家庭(home)版启用远程桌面(Remote Desktop)功能
ZC:YeJun的台式机是 Win10家庭版,默认我们想连上她的电脑是连不上的,用下面的方式,我的笔记本可以连上了 ZC:我的下载资料,存放于 "E:\BaiduYunDownload\Wi ...
- mybatis学习(2)
select元素. 自定义resultMap,自定义返回. 建表语句如下所示: create table tbl_dept( id ) primary key auto_increment, dept ...