【SystemVerilog 之 过程块和方法】~ 域、always过程块、initial过程块、函数 function、任务 task、生命周期
方法 函数 过程 任务 Function 生命周期 Task SystemVerilog
2023-09-14 09:10:01 时间
1. 过程块
1.1 什么是 域?
在SV中,为了区分硬件设计和软件的世界,我们将定义的软件变量或者例化的硬件所在的空间称之为 “域”。
1.2 always过程块
always是为了描述硬件的行为,需要注意的是,它有两种使用方式===>
- 用于时序逻辑电路描述:敏感信号列表应该出现的是 时钟信号。
- 用于组合逻辑电路描述:敏感信号列表没有时钟信号。
always中的@(event)敏感列表是为了描述硬件信号的触发行为。
以下四项哪些是正确使用always的方式?
正确答案:ABC
解释:A,时序逻辑;B,组合逻辑或锁存器;C,并行执行;D,不可以初始化,初始化发生在initial或者定义变量的时候。
1.3 initial过程块
initial是软件执行的方式,只执行一次。
2. 方法
2.1 函数 function
2.2 任务 task
2.2.1 练习
上边是自定义一个结构体,之后使用函数实现了一个拷贝的功能。
上边是进行初始化,首先声明结构体变量s,t;之后对内的变量赋值;调用函数实现s向t的拷贝;最后修改t中cmd参数的值。
问题:变量t中三个成员的最后值为多少?
到这里,我相信对于小白来说,肯定这么认为:s赋初值,复制给t,t就改变了cmd参数,最后肯定为{‘h2,’h10,‘h100},完事,简简单单!!!
仔细想想对吗?这里遗漏了一个重要的知识点,那就是对于函数function中参数定义是输出呢?还是输入呢?这里没有写,默认都是输入,所以,函数拷贝完之后根本没有返回值,所以最后失去了拷贝的功能,则t就是{0,0,0},有效操作就是t.cmd = 'h2,所以,最后答案是{'h2,'h0,'h0}。
2.3 对于function和task使用建议
3. 生命周期
3.1 例证
3.2 面试高频题
答案:ABCD
学习 设计例化和连接 等相关的知识。
希望我可以坚持下去,不断学习!如果觉得有用,希望关注点赞评论,不迷路!!!
声明:仅供学习参考,侵删!!!
参考文献
网络资源ppt
相关文章
- 使用JDBCTemplate实现与Spring结合,方法公用 ——接口(BaseDao)
- Java实现 LeetCode 762 二进制表示中质数个计算置位(位运算+JDK的方法)
- Docker退出容器不关闭容器的方法
- Debian下配置SSH服务器的方法
- Python中针对函数处理的特殊方法
- python使用threading获取线程函数返回值的实现方法
- python禁止函数修改列表的实现方法
- Tools - 笔记记录方法Markdown
- python中的嵌套类(内部类调用外部类中的方法函数)
- SQL注入9种绕过WAF方法
- 打乱数组顺序的三种方法
- Deepin 20关机提示Unattended Upgrades Shutdown的解决方法
- scala隐式函数:通过隐式转换为 Int 类型增加方法myMax和myMin
- titit 切入一个领域的方法总结 attilax这里,机器学习为例子
- Atitit paip.对象方法的实现原理与本质.txt
- Atitit.研发管理--提升效率--软件开发方法DSM总结o99
- toFixed() 方法:js四舍五入为指定小数位数的数字(把保留小数点后几位并变成百分数)
- Linux异步信号处理函数引发的死锁及解决方法
- 例3.2 计算存款利息。有1000元,想存一年。有3种方法可选:。。。
- Qt pro工程文件区分debug和release、32位和64位的方法
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 动态拦截函数 | 动态获取 MetaClass 中的方法 | evaluate 方法执行Groovy脚本 )
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法实现函数拦截 | 实现函数调用转发 )
- setsockopt()使用方法(參数具体说明)
- VC++ CopyFile函数使用方法
- Java - split()函数和trim()函数的使用方法
- php用魔术方法__call实现类函数重载
- 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw
- 有道云笔记取广告的方法
- 【Leetcode刷题Python】高效求递归中函数的调用次数(动态规划方法,顺丰笔试题)
- Altium designer 19 转 candengce 16.6的方法
- 【.Net实用方法总结】 整理并总结System.IO中Directory类及其方法介绍