最近开始毕设返工了,也没法专心预习找工作的事儿,正好也到了瓶颈,感觉自己什么都好像听过一点,但实际操作起来什么都不会,手撕代码不会,八股文不会,项目没有。借此机会沉淀一下,顺便认清一下自己,每天记录记录今日所学,聊以自慰,秋招安天命吧。
目录
2.牛客的一道题 正确答案应为A。枚举类型默认从0开始,若中间有初始化,后续值根据此值+1,此题a、b、c应该分别为0,2,3
1.来自群友的图![](https://img-blog.csdnimg.cn/312e27fb5d9a4437933030664f797395.jpeg)
个人感觉根据之前所学的逆否命题,应该是B了。
2.牛客的一道题
正确答案应为A。枚举类型默认从0开始,若中间有初始化,后续值根据此值+1,此题a、b、c应该分别为0,2,3
3.模块级验证和系统级验证的区别
个人看法,按照验证应该是按照以下顺序执行的
-
模块级(block level/unit level)
-
子系统级(sub-system level)
-
芯片系统级(chip level)
-
硅后系统级(post-silicon system level)
对于一个系统/子系统来说,首先要把它细分为更小的独立的子系统/模块,然后分别验证。
对于一个模块来说,重要的可能是完成模块的功能。更需要侧重考虑功能覆盖,时序逻辑。以覆盖率收集为导向,保证这些功能模块正常工作。
对于soc验证,验证对象为整个芯片的设计,是保证整颗芯片功能正常运行的重要工作岗位。SOC的验证更侧重于系统级连线,电源管理,多个模块(核)协同工作以及系统级的性能测试等。主要是通过编写C/asm软件代码来完成一系列测试用例,然后通过调用工具链将C/asm代码编译成二进制的文件放在RAM/flash里面,通过CPU读取RAM/flash里面的资料执行相关指令去驱动对外设内存等控制。
4.复习项目
框图
DUT的三个功能,对应时序变化;
数据流:sqr-driver;两个agt的monitor;DPI;scoreboard;
三个test以及对应sequence;
覆盖率收集;