- 博客(4)
- 收藏
- 关注
原创 白皮书《UVM实战》 学习摘要(二)---第三章~第四章
uvm_component的一些特性,uvm_object则不一定具有;uvm_sequence_item添加了很多实用的成员变量和函数/任务,从uvm_sequence_item直接派生,就可以使用这些新增加的成员变量和函数/任务;所有的agent要派生自uvm_agent,agent的使用主要是从可重用性的角度来考虑的,uvm_agent的最大改动是引入了一个变量is_active;等component类外,几乎所有的类本质上都是uvm_object,如sequence、sequence_item、
2023-07-25 14:56:59 143
原创 白皮书《UVM实战》学习摘要(一) ---第一章~第二章
之后,在env的connect_phase中将fifo分别与my_monitor中的analysis_port和my_model中的blocking_get_port相连即可。■ 在JF的用例中,seq_cfg的例化是在new函数中完成的,在build_phase中完成的是configure_sequence和config_db的set操作;◆ uvm_analysis_port是一个参数化的类,其参数就是这个analysis_port需要传递的数据的类型,在本节中是my_transaction;
2023-07-18 16:49:26 242
原创 绿皮书学习摘要(二) 第6章~12章
■ 在使用randomize()with语句时,常犯的错误是使用()括号内嵌的约束,而没有使用{},即,约束快应该使用{},所以内嵌的约束块也应该使用。■ 测试DUT的一个重要工作是测试DUT内部设置和环绕DUT的系统配置,测试应该随机化环境,这样才能保证尽可能测试足够多的模式;■ 如果需要在同一时刻发送多个通告,则就不应该使用事件,而应该使用其他内嵌排队机制的线程通信(IPC)方法,如旗语和信箱;,用于查询某个事件是否已被触发,包括当前时刻,线程可以在等待这个函数的结果,而不用在@操作符上阻塞;
2023-07-12 09:06:04 114
原创 绿皮书学习摘要(一) ---第二章~第五章
第一次求和(total)是先把元素值与7进行比较,比较表达是返回1(为真)或0(为假),然后再把返回结果与对应元素相乘,所以{9,0,8,0,0,0}的元素和是17.,时间值的单位是 10^(-9)秒,时间值保留到小数点后第2位,时间值字符串的后面加上一个" ns"字符串,时间值和" ns"合起来的字符串长度如果不足14个字符的话,就在这部分字符串的前面。◆ 例3.10 使用const修饰符的结果是,虽然数组变量a指向了调用程序中的数组,但子程序不能修改数组的值,如果试图改变数组的值,编译器将报错;
2023-07-10 09:43:14 225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人