项目实训
文章平均质量分 91
IC小白在修炼
22年3月接触IC领域,7月开始正式全身心投入学习,依次学习了数电,verilog,SystemVerilog,UVM,约三个月完成。随后接触一些小IP项目AHBRAM。11月底在成都一家IP设计公司实习,设计了TIMER,Watchdog等IP,考量了PPA进行代码优化。验证GPIO等小IP。目前还在学习中,后续会学习python和perl脚本,用于辅助开发。还需学习PCIe,I2C协议等等
展开
-
Makefile使用教程
实际上这是按照VCS实际运行过程来划分步骤的,VCS运行的过程是将编译通过的文件临时存储,然后通过细化成为可执行的文件.simv,最后通过执行.simv文件即可完成文件的编译与仿真。注意:incdir文件的时候,只能包含文件夹下的文件,而不包括下级文件夹的内容(如果要包含下级文件夹的内容,需要写+incdir+uvm/{test,test/basic_test},这样就包括了uvm下test文件中的文件,同时包含了uvm下test下basic_test中的文件)Makefile中的=,:=,+=的用法。原创 2023-01-02 11:39:03 · 2344 阅读 · 4 评论 -
小白练习跑覆盖率从0到100%
字不对齐测试后,代码覆盖率增长比较快,主要是在这个case中首次将data的高16位赋值了,前面三个case的赋值主要在低16位,于是data高位的代码toggle覆盖到了。可以看到多次随机但仍然没有随机到addr_end,边界地址难以覆盖到,所以应该写一个定向激励去覆盖边界地址,同时发现非法地址没有覆盖,因为我们本身并没有写非法地址的激励,所以我们另外写一个seq,里面去覆盖这三个点。在重新跑完定向的激励后,导入之前exclude的文件,最后发现功能覆盖率和代码覆盖率均达到100%原创 2022-11-16 11:26:48 · 1861 阅读 · 4 评论