文章目录
-
- 1、数组类型?填充数组与非填充数组的区别?队列和数组的区别与用法?
- 2、 task与function有什么区别?
- 3、区别值传递(input/output)与引用传递(ref)?
- 4、OOP的基本思想?virtual函数/任务理解?OOP优势?
- 5、并发线程fork…join/join_any/join_none的区别?
- 6、SV的线程间通信方式?
- 7、对比UVM的线程通信方式(uvm_event与event比较)。
- 8、关于uvm_barrier的认识。
- 9、a[*3]、a[->3]和a[=3]区别
- 10、你写过assertion嘛,assertion分几种?简述一下assertion的用法
- 11、队列的使用方法,以及push back和pop front的区别
- 12、 Rand 和randc的区别
- 13、如何关闭约束
- 14、 Find 队列和find index队列
- 15、 动态数组和联合数组的区别?
- 16、SV中的interface的clock blocking的功能
1、数组类型?填充数组与非填充数组的区别?队列和数组的区别与用法?
详细可参考:
数组类型可分为:固定数组、动态数组、队列、稀疏数组。
- 固定数组编译时元素个数就确定了;动态数组需要使用new来指定数组个数,编译时数组个数
本文详细介绍了SystemVerilog中的核心概念,包括数组类型、队列与task/function的区别、值传递与引用传递、OOP思想、并发线程控制以及线程间通信方式。此外,还讨论了UVM中的uvm_event、uvm_barrier及其与常规event的对比。通过对sequence操作符、assertion的分类和用法的解析,帮助读者深入理解SystemVerilog的高级特性。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



