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

闲庭信步使用SV搭建图像测试平台:第九课——初步使用类

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH关注即送200GB学习资料,链接已置顶!)

我们都知道system verilog和verilog最大的区别就是system verilog支持面向对象的编程,也就是可以使用类(class),但是很多使用system verilog开发的人员应该都没有使用过类。因为在system verilog中,类只能在搭建仿真测试环境中用,而不能用在可综合的逻辑代码中。

众所周知,类用于封装数据成员(类属性)和方法(类方法),而在在system verilog中,类方法包括function和task,前面的章节,我们已经建立的几个task,那把这些task封装成类即可。

如下所示,我们将前期的几个task封装成image_class,但是注意一点,class必须要有一个new函数,虽然new函数可以不做任何的事情,其实new函数就是为后续class的例化动态的分配内存。

虽然定义了类,但是类并不占用任何的内存,定义类就像完成了大楼图纸的设计,并没有开始大楼的建造。只有例化了类,并且调用了new函数,才能为类动态的分配内存,同时调用类的构造函数完成类的初始化和构建,才可以使用类的成员和方法;也是在这个时候,大楼才能拔地而起,人们才能入住。

如下所示,先例化了image_class类为ims,在initail块中,先通过new函数完成ims类的内存分配和构造,然后直接调用类中的各种方法也就是task即可。

所以类的使用也就是这么简单,成工不会把很简单的事情故意说的很复杂,如果大家想对类进行更深入的学习,可以找相关的资料自学一下。

双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

打开img文件夹就可以看到生成的测试图案。

http://www.dtcms.com/a/258738.html

相关文章:

  • 开疆智能CCLinkIE转ModbusTCP网关连接施耐德TCP从站配置案例
  • NEO4j的安装部署
  • P0/P1级重大故障根因分析:技术挑战与无指责复盘文化
  • From Tranformer to Decoder ONLY
  • SPSS再次使用
  • Linux零基础快速入门到精通
  • 使用Bash脚本RSA公钥加密算法对密码进行加密解密方法
  • vscode中vue自定义组件的标签失去特殊颜色高亮
  • 清华大学联合IDEA推出GUAVA:单幅图像生成实时可动画3D上半身,渲染速度突破0.1秒,可实现实时表情与动作同步。
  • [附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的超市库存商品管理系统,推荐!
  • 基于Qt和GDAL的多线程影像重采样工具
  • QT 学习笔记摘要(一)
  • 电动汽车定速巡航模式控制设计方法
  • Flask(六) 数据库操作SQLAlchemy
  • 【LUT技术专题】1D和3DLUT的高效组合-SepLUT
  • Java 线程池技术深度解析与代码实战
  • Petrel导入well数据
  • Nginx性能优化配置指南
  • 【C/C++】C++ 编程规范:101条规则准则与最佳实践
  • [ruby on rails] ActiveJob中 discard_on,retry_on和 rescue_from的应用
  • Python Polars库详解:高性能数据处理的新标杆
  • 使用markRaw实例化echarts对象
  • Python中class对象/属性/方法/封装/继承/多态/魔法方法详解
  • Python案例练习:字典专题(分析文章的文字与次数、设计星座字典、凯撒密码、摩尔斯密码)
  • 利用folium实现全国高校分布地图显示
  • 验证 TCP 连接在异常情况下的断开机制之进程(客户端)被 kill 掉
  • 如何将适用于 Docker 的 ONLYOFFICE 文档更新到 v9.0
  • React性能优化精髓之一:频繁setState导致滚动卡顿的解决方案
  • Verilog基础:编译指令`default_nettype
  • 图像融合中损失函数【3】--梯度强度损失