【前端验证】对uvm_info宏的进一步封装尝试

简介: 【前端验证】对uvm_info宏的进一步封装尝试


前言

没有公共环境和组件作为依托,徒手写验证环境真的是太难了。所以最近我一直在写环境的同时补充公共环境,这次的内容就是封装`uvm_info。


关于systemverilog中宏的使用规则,请参考前文:system verilog环境中使用宏的学习笔记_尼德兰的喵的博客-CSDN博客_systemverilog 宏


场景

每次使用uvm_info时,都需要写下这样一串:

`uvm_info(get_full_name(), $sformatf("xx='h%0h, yy='h%0h", xx, yy), UVM_LOW)


这行代码对我来说实在是有些难以记下,因此我希望能简化$display的语法,就是这样:

`prj_note("xx='h%0h, yy='h%0h, zz='h%0h", xx, yy, zz)


这是我的终极目标,但是没能实现,我是这样做的宏:

`define prj_note(note0,note1,id=get_full_name()) \
    `uvm_info(id, $sformatf(note0, note1), UVM_LOW)


这个宏可以实现传进去两个参数:"xx='h%0h"和xx,但是不能支持更多的传参,因为","会天然把传参分割。而终极目标里宏的传参个数是不确定的,这个暂时我没有想到太好的办法。


退而求其次,再做几个简化度低一些的宏:

`define prj_low(str,id=get_full_name()) \
    `uvm_info(id, str, UVM_LOW)
`define prj_mid(str,id=get_full_name()) \
    `uvm_info(id, str, UVM_MEDIUM)
`define prj_high(str,id=get_full_name()) \
    `uvm_info(id, str, UVM_HIGH)


这样多少还是能省点字的,虽然$sformatf这个函数就省不掉了:

`prj_low($sformatf("xx='h%0h, yy='h%0h, zz='h%0h", xx, yy, zz))
相关文章
|
8月前
|
前端开发
前端通过input标签封装Upload组件实现文件上传
前端通过input标签封装Upload组件实现文件上传
267 0
|
3月前
|
前端开发 数据安全/隐私保护
angular前端基本页面验证
angular前端基本页面验证
37 1
|
3月前
|
存储 前端开发 Java
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
本文介绍了使用Kaptcha插件在SpringBoot项目中实现验证码的生成和验证,包括后端生成验证码、前端展示以及通过session进行验证码校验的完整前后端代码和配置过程。
421 0
验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码)
|
8月前
|
前端开发 JavaScript
前端项目公共组件封装思想
该文介绍了如何封装通用组件,如表单搜索、表格展示和分页器。首先,通过抽离出公共部分,创建`TableContainer`组件,利用具名插槽插入`navbar`和`table`,并通过props传递标题。然后在父组件中使用具名插槽和子组件实现具体功能。文中还展示了更复杂的组件封装示例,通过props实现数据双向绑定,以`el-pagination`为例,利用`sync`修饰符和`computed`属性监听并更新父组件状态,实现分页功能。文章最后提到了内容来源于哪。
134 0
|
5月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
5月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
34 1
|
5月前
|
前端开发 开发者 UED
数据校验的艺术:揭秘JSF如何将前端与后端验证合二为一,打造无缝用户体验
【8月更文挑战第31天】JavaServer Faces(JSF)是构建企业级Web应用的Java规范,提供了丰富的组件和API,便于快速搭建用户界面。JSF验证框架基于JavaBean验证API(JSR 303/JSR 380),利用注解如`@NotNull`、`@Size`等在模型类上定义验证规则,结合前端的`<h:inputText>`和`<h:message>`标签展示错误信息。
57 0
|
6月前
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(13)--- 前端API接口的封装处理
循序渐进VUE+Element 前端应用开发(13)--- 前端API接口的封装处理
|
5月前
|
前端开发 数据库 Python
中后台前端开发问题之验证用户提供的uid和token的有效性如何解决
中后台前端开发问题之验证用户提供的uid和token的有效性如何解决
31 0
|
7月前
|
存储 前端开发 搜索推荐
Web前端网站(一) - 登录页面及账号密码验证
页面背景动态是烟花和文字特效与缓缓下落的雪花相结合,在登录表单的旁边还有五个白色光圈以不规则的方式环绕,当鼠标靠近时,会发出彩色的光芒~~~
114 1
Web前端网站(一) - 登录页面及账号密码验证