RISCV(以PULP为例)

ARM BASE MOBILE SOC

万变不离其宗!


万变不离其宗!
| 题号 | 题目名称 | 注意点 |
| 72 | Bcdadd4 | 这道题目主要是在要了解BCD码以及理解题目的要求,其实就是4位BCD码的加法器,且1位BCD码加法器模块已提供,只需例化,实现起来非常简单 |
| 73-80 | 卡诺图相关题 | 这些题目其实重点不在写代码,还是做题前先整明白题目的卡诺图表达的真值 |
| 105 | countbcd | 和72题相比,需要自己实现1位BCD码加法器,主要难点是计数和进位的条件 |
| 106 | count clock | 这道题主要难点同105,但是更复杂,时间是60进位和12进位的,同时还要注意pm12:59:59的下一个时刻是am00:00:00。 |
| 119-158 | 状态机题目 | 在开始写代码之前最好都先画个状态图,整理思路。写状态机代码的时候要有一个合理的代码结构,尽量一个always块只实现一个功能,增加代码的可读性。 |
| 159-163 | 代码改错题 | 这些题目中的问题其实也是自己写代码的时候容易犯的错误,比如不同位数的数据相与,导致高位数据丢失;例化时参数顺序未对应;wire位宽定义错误。 |
| 174-178 | testbench题 | 要对tb有一个基础的了解,比如时钟信号怎么生成,怎么延时等。 |
芯片开发流程
数字芯片验证的基本概念
| 概念 | 芯片验证就是采用相应的验证语言,验证工具,验证方法,在芯片生产之前确认芯片的设计: 1)是否符合客户的原始需求, 2)是否符合芯片定义的规格, 3)是否发现并更正了所有的缺陷。 |
| 目标 | 是缺陷零,不是跑完所有的用例或者覆盖到所有测试点: (1)BT无缺陷遗漏至IT, (2)IT无缺陷遗漏至ST, (3)ST无缺陷遗漏至FPGA/EMU, (4)整体无缺陷遗漏至Tapeout。 |
| 核心 | 是测试点分解,不是跑用例: SPEC —> TEST FEATURE —> TEST POINT 测试点分为场景类、功能类、性能类、白盒测试点(设计人员提供)、接口类、异常类等维度。 全面、明确、细致,无歧义的将所有验证特性细化为一个个不可分割的小点,每个点明确激励策略、检查策略,采用directtest还是coverage还是assertion确保覆盖。 功能覆盖需要细化覆盖范围,比如典型值、边界值、异常值、cross。测试点也不是一次分解完成,在整个验证过程中会进行多次分解和review,直至完善。 |
数字芯片验证流程





