当前位置: 首页 > article >正文

执行matlab后进行RTL功能仿真check

1 背景简介

最近在做算法的RTL实现,算法是通过matlab来写的,但RTL设计做完了还需要进行多场景仿真,和算法进行一一比对,由于功能case较多,每跑一次仿真都要先手动跑一次算法,然后再跑一次功能仿真,效率很低,想着能不能一个命令算法和功能仿真一起执行了,因此就有了这个笔记整理,写记录一下,后续进步了再来修改。

2 整理思路

仿真命令是通过makefile来实现的,因此也想通过makefile来之行matlab,同时并将需要配置的参数传递给matlab,让matlab根据具体的配置来执行。

因此以前的RTL功能仿真的命令不变,只需要在makefile里加一个matlab的命令即可。下面记录一种方法,肯定还有其他更好的方法,以后找到了再补充修改吧……

3 脚本简记

makefile中的命令如下:

reg1 = 32
reg2 = 10
reg3 = crc_on
reg4 = 1


matlab:
    @matlab_test.csh "$(reg1)" "$(reg2)" "'$(reg3)'" "$(reg4)"

说明一下,matlab_test.csh是用shell写的一个脚本文件,用来执行matlab,reg1/reg2/'reg3'/reg4都是要传参给matlab的参数,传递的参数可能是纯数字,也可能是字符串,如果是字符或者字符串需要加上单引号,如'reg3'一样。

执行matlab时只需要把需要的参数通过make命令传递则可以,如下所示。

make matlab reg1=9+reg2=10+reg3=crc_off+reg4=0

matlab_test.csh这个文件比较关键,不仅要接收外面传进来的参数,还需要带参数运行matlab,该文件的大致内容如下:

#!/bin/csh

set v1 = “$1”
set v2 = “$2”
set v3 = “$3”
set v4 = “$4”

echo "===========config data============="
echo "           v1: $v1                 "
echo "           v2: $v2                 "
echo "           v3: $v3                 "
echo "           v4: $v4                 "
echo "==================================="

matlab -nojvm -noFigureWindows -nodisplay -nodesktop -nosplash -batch "matlab_main $v1 $v2 $v3 $v4;exit"

需要注意的是此处提到的matlab_main是一个matlab的函数,后面跟的$v1/$v2/$v3/$v4分别指的是参数reg1/reg2/'reg3'/reg4,都是需要传递给matlab的参数。把我们之前执行的matlab主函数改写成matlab函数即可,但需要注意的是在打印输出相关的数据文件时需要把打开文件、写入文件、关闭文件的都行在同一行,这是由shell语法决定的。

4 写在最后

简单整理到这里,后面有机会再做修改补充……


http://www.kler.cn/a/314151.html

相关文章:

  • JSON.stringify的应用说明
  • Qt 日志文件的滚动写入
  • QT_CONFIG宏使用
  • layui的table组件中,对某一列的文字设置颜色为浅蓝怎么设置
  • C# WPF FontDialog字体对话框,ColorDialog颜色对话框 引用
  • linux上海康SDK安装并设置环境变量
  • 基于开源鸿蒙(OpenHarmony)的【智能家居综合应用】系统
  • 代理模式---静态代理和动态代理
  • JVM内存学习
  • Lodash的特点和功能
  • WGAN算法
  • 信奥初赛解析:1-3-计算机软件系统
  • YOLOv5模型部署教程
  • 小阿轩yx-通过state模块定义主机状态
  • 【计网面试真题】If-Modified-Since和Etag有什么区别
  • WebServer
  • 6、等级保护政策内容
  • Go语言的垃圾回收(GC)机制的迭代和优化历史
  • Vision Based Navigation :针对航天领域的基于视觉导航机器学习应用生成训练数据集
  • Redis的AOF持久化、重写机制、RDB持久化、混合持久化
  • Springboot常见问题(bean找不到)
  • C#为任意组件开发登录功能的记录
  • android设置实现广告倒计时功能
  • [Python数据可视化]Plotly Express: 地图数据可视化的魅力
  • 第十九节:学习WebFlux与前端响应式-非阻塞-流式通讯(自学Spring boot 3.x的第四天)
  • Java操控Redis (面经之 使用Redis)