System Generator系列之Black Box使用(将HDL文件导入进行设计)

前言

折腾了下System Generator里头的黑盒(black box),该模块就能实现将硬件语言描述的设计导入到System Generator中进行使用,今天也是对该模块实现将HDL描述导入模型文件,然后用于数字信号处理的实现,其次对模块做好配置,使其可以通过仿真验证。

设计

打开软件和新建空白模型这些就不再多述了,直接上今天的主题,在模型文件中放置Black Box,路径是:Xilinx Blockset/Index/Black Box,然后在弹出的窗口选择需要链接到黑盒的HDL文件,我这边为让步骤简单些,就直接使用Xilinx官网提供的一个滤波器的文件(transpose_fir.vhd)进行设计,注意:这些文件都要放在一个路径下
在这里插入图片描述
然后会自动加载一个.m(transpose_fir_config.m)的代码,并在MATLAB中打开。
在这里插入图片描述
需要对里面的配置做下更改
dout_port.setType(‘UFix_26_0’);中的UFix_26_0改为Fix_26_12,代表有符号的定点数,26bit的位宽,二进制点在最左侧的位置,改好后如下:
在这里插入图片描述
在65行的即 this_block.addFile(‘transpose_fir.vhd’)的上方添加:this_block.addFile(‘mac.vhd’),使得可以加载滤波系数,改好后做保存,即可关闭此文件。
双击Block Box模块,打开配置界面;
Block configuration m-function就是配置所需的m函数,也就是刚刚自动生成的一个,也可以换成自己创建的。
Simulation mode:就是选择仿真模式,总共有三种;
Inactive:使用这种模式的话,会忽略黑盒的输入,直接生成零;当黑盒有单独的仿真模型可用,并且模型使用模拟多路复用器与黑盒并联时,通常使用此设置。
Vivado Simulator:该模式下,使用与黑盒关联的 HDL 上的协同仿真生成黑盒的仿真结果。
External co-simulator:使用该模式,需要向设计添加 ModelSim HDL 协同仿真模块,并在 HDL 共同模拟器中指定 ModelSim 模块的名称以使用字段。在此模式下,使用
HDL 协同仿真。


选择Inactive,看看该种模式下的效果,点击OK关闭。
在这里插入图片描述
不过在使用前,还需要添加测试模块所需的其他模块:
在这里插入图片描述
具体配置可获取本次设计的文件进行学习,模块的配置参考ug958
对设计做下简单说明:输入两个正弦信号叠加的信号再和一个30M的正弦混频所得的信号,然后再通过黑盒所加载的HDL文件,然后经过下采样再示波器做显示。
Step就是做提供一个复位信号,初始为0,之后一段时间都保持为1。
然后将Stop Time设置稍微大一点,本设计设置了500,然后点Run,观察示波器显示:
在这里插入图片描述
左边的是叠加后的信号,中间的是混频后的信号,最右边的就是经过黑盒后的信号,可以看到这时候的值一直保持为0,然后将黑盒配置的仿真模式再改为Vivado simulator,继续运行,这时的结果如下:
在这里插入图片描述
前两个代表的输入信号未变,经过黑盒输出的信号可以明显看到此时不再是零,而是是混频的信号的包络,也是黑盒所加载的滤波器的滤波效果。

设计文件已传至网盘



网盘链接
提取码:h4vu



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值