首页 > 其他分享 >SystemVerilog编码技巧

SystemVerilog编码技巧

时间:2023-07-05 20:55:05浏览次数:48  
标签:编码 rv 技巧 package typedef sv pkg import SystemVerilog

工程组织

可以将一些公用的变量定义成package,放到同一个sv文件中,然后在需要用到公用变量的文件中通过import来引用变量,创建filelist时,需要通过+incdir+(包含package的sv文件的路径)来指示,并将这些package的sv列在其他sv前面

package rv_param_pkg;
	parameter WITDH = 8;
endpackage

package rv_typedef_pkg;
import rv_param_pkg::*;
typedef struct packed {
	logic [WIDTH-1:0] data;
} rv_l1d_req_t;

typedef enum logic [1:0] {
	FETCH = 2’b00,
	FLUSH = 2’b01,
	FLUSH_ALL = 2’b10;
} rv_opcode_e;
endpackage

module test
import rv_param_pkg::*;
import rv_typedef_pkg::*;
(
	input clk,
    input rstn
);

endmodule

常用语法

将变量设置为全0:assign a = ‘0;
获取变量位宽:$bits(a)
将logic转为枚举类型:exe_type_e’(a[1:0])

标签:编码,rv,技巧,package,typedef,sv,pkg,import,SystemVerilog
From: https://www.cnblogs.com/wt-seu/p/17529768.html

相关文章

  • element-ui的el-dialog主体滚动的小技巧
    一.场景element-ui的el-dialog的主体内容变多的时候,应该需要滚动条,所以解决方式:局部/全局设置样式;el-dialog源码改造。注意:看完了解思路,掌握max-height和overflow:auto的联合使用,el-scroll的使用即可二.方案一仅针对el-dialog__body的部分做处理,max-height:可以让内容......
  • 数据库问题之“字符编码问题 Cause: java.sql.SQLException: Incorrect string value:
     1)表1和表2的产品名称[数据库字段]字符编译方式不一致①问题 org.springframework.jdbc.UncategorizedSQLException:Errorupdatingdatabase.Cause:java.sql.SQLException:Incorrectstringvalue:'\xF0\x9F\x8E\x81\xE7\x88...'forcolumn'product_name'atr......
  • PowerBuilder从入坑到放弃(二)编码规范
    前言上一篇我们从0到1用pb开发了一个helloworld程序,并成功将开发的程序编译打包并且制作了安装包。程序员最讨厌的莫过于写文档和别人不写注释。不知道大家会不会和我一样,在找bug时,有段代码,心中不知默默的骂了它多少遍。哪个sx写的这代码,研究了一段时间发现,原来那sx竟是自己......
  • rabbitmq在springboot中实战技巧
    一.简介rabbitmq是基于AMQP(AdvancedMessageQueuingProtocol:高级消息队列协议),采用Erlang语言编写的消息队列。二、mq能用来做什么异步处理:将非核心业务(比如日志、邮件、监控等)从主流程剥离,提升主流程的响应时效。削峰:当并发大的情况下,可以将消息暂存在消息队列中,消费者按照......
  • iframe编码为utf-8.嵌入页面为gb2312 ,word导出默认为gb2312 格式
    1、使用记事本打开html,另存为,保存类型选择:"所有文件"、编码选择:“UTF-8” 2、打开保存后文件编码类型改成utf-8<metacharset="utf-8"/>第一个步骤是为了把内容改成utf-8,然后直接执行第二步改编码可能会报乱码......
  • pycharm使用技巧
    pycharm使用技巧基础设置:代码补全自动排版功能Ctrl+鼠标滚轮更改字号代码补全:自动排版功能Ctrl+鼠标滚轮更改字号  快捷键1变量搜索:Ctrl+f变量替换:Ctrl+r自动排版:Ctrl+Shift+Alt+L向右缩进一个制表符:Tab向左缩进一个制表符:Tab+Shift批量注释:C......
  • 掌握ADO.NET的十个热门技巧
     .NET的数据访问编程模式需要一套新的技巧和最佳方法。ADO.NET提供了一个统一的编程模式和一组公用的类来进行任何类型的数据访问,而不管你用何种语言来开发代码。ADO.NET是全新的,但又与ADO尽可能保持一致,它使编程模式从一个客户端/服务器、基于连接的模式转变到了一个......
  • 初学者:8个JavaScript技巧
    有很多方法可以优化我们的JavaScript代码,本文总结了我在工作中经常使用的8个JavaScript技巧,希望它也能帮助你。减少使用if-else在编写两个以上的if...else时,是否有更好的优化方法?如下代码,我们需要根据一个汉堡包的名字来计算它的价格。constgetPriceByName=(na......
  • DevExpress 技巧
    LabelControl居中显示labelControl1.AutoSizeMode=DevExpress.XtraEditors.LabelAutoSizeMode.None;labelControl1.Dock=DockStyle.Fill;//垂直居中labelControl1.Appearance.TextOptions.VAlignment=DevExpress.Utils.VertAlignment.Center;//水平居中labelContro......
  • 组合框架:融合创新技术,实现一次编码多平台运行
    近年来,随着小程序技术及生态的发展,小程序应用已有超过App应用的势头。 根据Statista的数据,截至2021年底,全球移动应用商店上的应用数量约为6600万款。同期,据微信官方数据,截至2021年6月,微信小程序的月活跃用户超过13亿,并且在微信平台上有超过2000万个小程序。此外,除了微信小程......