- 博客(432)
- 资源 (11)
- 收藏
- 关注

原创 【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明
感觉第一个项目其实设计的难度不太大(当然我写出来的bug也不少哈),验证环境搭建也比较简单,整个项目更加侧重于熟悉流程和设计验证的入门。而且包传输协议更多应用在网络芯片架构中,和现在比较火的处理器方向距离比较远。所以呢第二个虚拟项目就显得挺有必要了。
2023-12-02 18:24:47
1083
3

原创 【IC萌新虚拟项目】Package Process Unit项目全流程目录
Package Process Unit虚拟项目是芯片设计与验证新员工的培训项目,一般会分配6~10周的时间独立开发该项目并完成验收。在整个项目中,新员工需要熟悉工作站、项目流程、公共环境与代码等,并根据方案文档独立设计ppu模块,之后进行功能验证与综合等芯片交付流程。
2023-06-03 23:10:55
3605
12
原创 【读书笔记·VLSI电路设计方法解密】问题64:什么是芯片的功耗分析
理论上,应采用SPICE等晶体管级仿真器进行精确分析,但受限于仿真器容量,实际设计中通常采用专用功耗分析工具。这些工具基于标准单元和宏模块的功耗模型进行运算,要获得可靠结果,用户必须提供精确的工作频率和节点开关活动数据。随着工艺尺寸微缩,单颗芯片可集成更多元件,导致功耗相应增长。更严峻的是,现代芯片工作频率较二十年前大幅提升,而功耗与频率呈正比关系。因此,芯片功耗突破数十瓦甚至上百瓦已成为常态,由此产生的散热问题构成重大挑战。当前面临的关键挑战在于:如何在显著降低芯片功耗的同时,不明显牺牲其性能表现。
2025-04-20 23:16:39
79
原创 【读书笔记·VLSI电路设计方法解密】问题63:为什么可测试性设计对产品的财务成功至关重要
例如,假设半导体公司XYZ生产10万颗芯片,以每颗10美元的价格出售给系统公司ABC。ABC公司用这些芯片制造单价200美元的电路板,最终组装成单价5000美元的整机系统。若设计中未嵌入可测试性设计(DFT),区分良品与不良品的唯一方法就是由应用工程师或客户在实际应用环境中测试芯片。若在此阶段发现芯片故障,可能意味着整机报废,其成本远高于单独报废故障芯片。因此,在芯片中嵌入DFT功能并利用其检测制造缺陷,对产品的财务健康至关重要。如表4.1所示,问题发现阶段越晚、不良率越高,经济损失就呈指数级增长。
2025-04-20 23:07:40
172
原创 【读书笔记·VLSI电路设计方法解密】问题62:什么是故障覆盖率,什么是百万缺陷率
因为几乎没有设计能真正达到100%故障覆盖率,更重要的是,固定故障模型(SAF)只是理论模型,并不能涵盖所有物理缺陷机制。需要特别说明的是,故障覆盖率的计算仅包含"可检测节点"与"可测试节点"的比值。这是因为故障覆盖率越高,意味着芯片在交付客户前经过更全面的测试,客户收到不良品的概率自然降低。如图4.25所示,即使产品具有高故障覆盖率(设计相关),但若良率(主要与制造相关)较低,其缺陷等级仍会维持在较高水平。故障覆盖率的定义是:通过主输入端测试向量检测到的节点数量与电路内部可测试节点总数的比值。
2025-04-04 22:53:44
114
原创 【读书笔记·VLSI电路设计方法解密】问题61:扫描插入的目的是什么
扫描插入任务包含三重工作:用可扫描触发器替换原有触发器、根据特定标准将扫描触发器划分至不同扫描链、采用专门方法缝合同属一条链的可扫描触发器。如问题60所述,要构建可测试电路,必须确保电路中每个节点都具有可控性和可观测性。图4.23展示了扫描链的部分结构。如图所示,标准D触发器(具有D输入端、CLK时钟端和Q输出端)被替换为可扫描触发器,后者额外增加了SD输入引脚。这些可扫描触发器以链式结构连接,使得受控数值能通过该链从芯片主输入端传输至每个触发器。综上所述,扫描插入的核心目标是提升电路的可控性与可观测性。
2025-04-04 22:48:15
193
原创 【读书笔记·VLSI电路设计方法解密】问题60:什么是可测试电路
图4.22展示了四种已知的不可测试故障类型:未使用故障、固定故障、阻塞故障和冗余故障。除了不可测试的故障外,还有一组不可检测的故障。这些故障包括可能检测到的故障、振荡故障、过度增长故障、未初始化故障和未检测到的故障。与不可测试的故障不同,不可检测的故障在计算芯片的故障覆盖率时必须被考虑,因为它们可能对功能产生影响。可测试电路的定义是:其内部关注的节点可以被设置为0或1,并且由于故障导致的关注节点上的期望逻辑值(即安全故障电路与非安全故障电路之间的逻辑值差异)的任何变化都可以在外部观察到。
2025-03-18 00:28:54
46
原创 【芯片验证】verificationguide上的36道UVM面试题
在UVM中,port用于组件之间的连接,允许数据从一个组件传递到另一个组件。uvm_sequencer是一个具体的组件,负责管理和调度序列项的执行,通常与驱动器配合工作,将序列项转换为实际的信号激励。uvm_virtual_sequencer是一个虚拟组件,可以包含多个实际的sequencer,允许在一个地方控制多个不同的sequencer,在复杂的验证环境中非常有用,因为它简化了多sequencer的管理和协调。然而,更常见的方式是使用uvm_config_db,因为它提供了更强大的功能和更大的灵活性。
2025-03-09 22:56:44
241
原创 【芯片验证】verificationguide上的74道SystemVerilog面试题
诧异啊,像我这种没事在网上各处捡东西吃的人为什么之前一直没有用过verificationguide这个网站呢?总不能是大家都已经看过就留下我不知道吧。前几天在论坛上和朋友谈论验证面试题时才搜到这个网站的,感觉挺有意思
2025-03-09 22:54:29
314
原创 【读书笔记·VLSI电路设计方法解密】问题59:数字电路中的可控性和可观测性是什么
对于一个具有三个输入(A、B和C)和两个输出(Y和Z)的电路模块,当节点B的电势能够通过B的输入逻辑锥从芯片的主输入被拉高或拉低时,它是可控的。当这种切换的结果能够通过Y和Z的输出逻辑锥被芯片的主输出感知时,它是可观测的。在组合逻辑电路中,如果电路的所有输入都已知,内部节点的逻辑状态可以被确定。被定义为该节点的逻辑状态能够通过电路的主输出被观察到的能力。如果该节点的逻辑状态能够可靠地被观察到,则认为该节点是可观测的。如问题58所述,测试数字电路最常见的方法是切换电路内部的每个节点并观察相应的效果。
2025-03-07 00:13:42
80
原创 【读书笔记·VLSI电路设计方法解密】问题58:VLSI电路测试中最常用的模型是什么
虽然它不是DFT中唯一的模型,但它是最简单且应用最广泛的模型,尤其是在数字设计中,因为这些电路只关注0和1两种状态。例如,节点与地节点之间由于异物导致的金属短路,或者内部晶体管的故障,都可能引起SA0。SAF模型假设硅芯片内的任何节点(网表中的网络)都有可能因各种制造缺陷而永久连接到电源(固定为1,SA1)或地(固定为0,SA0)。在此过程中,假设电路中的每个节点都有可能固定为0或1。一组好的测试模式的目标是以最少的资源(例如CPU时间、内存、磁盘空间和测试仪时间)检测出电路中所有存在故障的节点。
2025-03-05 21:00:28
58
原创 【SoC设计的简单艺术】第十章:在RTL以上提升抽象层次
该项目的整体验证工作量估计为手工编写等效RTL设计验证工作量的一半。这显著提高了生产效率,并缩短了整体项目周期时间。生成无时序模型的成本较高设计师通常需要付出大量努力,才能生成在面积上与手工编写设计竞争的无时序模型。RTL级别的验证需求仍然较大用户发现,仍然需要在RTL级别进行大量的验证工作。尽管上述成功案例实现了整体效率2倍的提升,但我们仍需要找到实现更大收益的途径。控制密集型设计的支持不足大多数用户认为当前工具在处理以控制为主的设计时表现不佳。
2025-03-05 16:11:10
63
原创 【芯片设计】AI偏车载芯片前端设计工程师面试记录·20250304
1.选取一个复杂的接口(比如网络芯片中的报文接口),简单介绍一下接口的功能,时序以及实现中遇到的问题2.根据这些经验,你一般如何进行模块的接口划分3.网络报文数据结构中,包头和包尾一般有哪些信息4.向量译码模块里,是如何处理指令依赖的5.多个核间是如何处理指令依赖和任务依赖的6.典型的simt指令有哪些,简单介绍一下7.Simt在内部是如何处理的,有哪些优化方法8.为什么一些NPU需要一个复杂指令的译码模块9.3d tensor在内存中有哪些常见的缓存方式。
2025-03-04 00:38:53
285
原创 【芯片设计】AI芯片前端设计工程师面试记录·20250303
以上方案需结合具体总线协议(如AXI/CHI)和SoC架构实现,重点保证ID唯一性和请求-响应正确匹配。
2025-03-04 00:28:44
257
原创 【读书笔记·VLSI电路设计方法解密】问题57:逻辑合成过程中插入测试的目的是什么
如果这些测试电路在后期阶段(例如布局布线阶段之后)才添加,而不是在逻辑综合阶段插入,那么整个物理设计过程可能会受到影响。因此,测试电路应尽可能早地在芯片实现过程中添加。为了实现DFT功能,使设计能够检测制造缺陷,需要在设计中添加额外的测试电路,而这些额外的测试电路通常在逻辑综合过程中插入。测试电路插入过程中涉及的一些细节包括:替换为可扫描的触发器、划分扫描链、连接扫描链、构建内置自测试(Built-In Self-Test, BIST)、构建存储器BIST、分析故障覆盖率以及生成测试模式。
2025-02-27 20:20:25
63
原创 【读书笔记·VLSI电路设计方法解密】问题56:一种设计的门数是多少
在ASIC库中,不同的单元具有不同的物理尺寸。网表的规模,或者说设计的规模,是其所有组成元件尺寸的总和。为了方便描述数字设计的规模,库单元、存储器单元和宏单元的物理尺寸会被归一化到一个基础单元,通常是一个具有最小1倍驱动能力的两输入NAND门(这里称为NAND2)。因此,任何网表的规模都是通过参考这个基础单元的尺寸来衡量的。例如,如果一个设计被称为“10万门设计”,其物理尺寸相当于10万个NAND2单元的尺寸。在前面的例子中,设计中实际元件的数量不一定是10万,因为不同单元的尺寸不同。
2025-02-27 19:42:51
60
原创 【读书笔记·VLSI电路设计方法解密】问题55:什么是原理图或网表
不包含实例的定义称为原始单元或叶单元,而包含实例的定义则是层次化的。层次化方法的优势在于它减少了网表中的冗余,节省了磁盘或内存空间,并生成了更容易被机器和人类阅读的设计。在这种环境中,原理图是设计者可以在图形用户界面(GUI)中看到和感受到的东西,如图4.16所示,其中的原始单元是晶体管。从结构上看,网表包含或引用了其所使用的组件(如逻辑门、特殊宏单元等)或器件(如晶体管、电容、电阻等)的描述。与仅描述设计者设计意图的RTL描述或设计规范相比,原理图或网表是更接近实际硅实现的电路表示。
2025-02-24 17:39:42
91
原创 【SoC设计的简单艺术】第九章:芯片级的复杂性
圈复杂度(Cyclomatic Complexity)是一种用于衡量软件代码复杂性的方法。它由托马斯·麦凯布(Thomas McCabe)在其1976年发表的论文《复杂性度量》[17]中提出。圈复杂度是一种基于图的度量标准。它将一段软件(如函数、方法、类等)视为图,并根据节点和边的数量计算度量值。该度量标准的目的是衡量代码中线性独立路径的数量。具体来说,图中的节点是始终作为一个单元执行的语句块,即不包含条件语句(如if、case、for等)的语句块。图中的边是有向边;
2025-02-24 17:32:41
174
原创 【读书笔记·VLSI电路设计方法解密】问题54:逻辑综合的优化目标是什么
如今,随着越来越多的IC设计面向移动应用,芯片的功耗已成为一个非常敏感的问题。换句话说,一方面需要越来越低的功耗,另一方面功耗管理却变得越来越困难。逻辑综合任务的优化目标是速度、面积和功耗。为了成功实现为实际电路或逻辑门,通过HDL综合生成的电路必须满足由时钟频率定义的特定速度要求。逻辑综合的另一个明显目标是生成的电路应尽可能占用更小的硅片面积,以最大化利润空间。例如,为了实现更高的电路速度,可能需要更多的硅片面积和更高的功耗。为了实现更好的功耗控制,可能需要更多的门控电路,而这反过来又需要更多的面积。
2025-02-22 19:15:49
151
原创 【读书笔记·VLSI电路设计方法解密】问题53:什么是逻辑综合
在逻辑综合的过程中,从设计的RTL描述开始,综合工具首先构建一个对应的多级布尔网络。在技术无关优化中,典型的成本函数是逻辑函数的因式分解表示的总文字数,这与实际电路面积密切相关。最后,技术相关的优化将技术无关的电路转换为给定技术(库)中的门级网络。逻辑综合是将期望的电路行为的抽象形式(通常以RTL表示)转换为基于逻辑门(标准单元)的设计实现的过程。逻辑综合是电子设计自动化的一个重要方面。逻辑综合任务的质量高度依赖于所使用的ASIC库、嵌入在综合工具和CPU中的算法,以及执行综合任务的计算机的内存配置。
2025-02-22 19:07:17
260
原创 【读书笔记·VLSI电路设计方法解密】问题52:什么是ASIC Library
这些单元按其功能分类,例如反相器(INV)、缓冲器(BUF)、与非门(NAND)、或非门(NOR)、与门(AND)、或门(OR)、异或门(XOR)、布尔函数、触发器(flip-flop)和扫描触发器(scan flip-flop)。例如,在反相器组(INV)中,通常有1倍驱动单元INV1、3倍驱动单元INV3,以及INV5、INV7和INV9单元。一个完整的ASIC库应为每个单元提供以下信息(称为视图),供自动设计工具在各个设计阶段使用:逻辑视图、时序视图、物理视图、功耗视图和电气视图。
2025-02-21 17:31:32
64
原创 【SoC设计的简单艺术】第八章:简化接口
在前几章中,我们展示了精心设计的控制主导型和数据路径主导型代码可以显著简化设计。在本章中,我们展示了同样的原则也适用于接口设计。像FIFO接口这样的接口,能够解耦两个模块,从而大大降低整体设计的复杂性。在紧密耦合的设计中,设计的复杂性是各个模块复杂性的笛卡尔积。而在解耦的设计中,复杂性则体现在接口上。通过良好结构的接口,这种复杂性可以降低几个数量级。一个结构良好的接口使用结构体将信号分组为字段,并将这些字段分为数据字和控制字。因此,我们从关注信号和比特转向关注控制、数据和事务。
2025-02-21 17:01:22
170
原创 【读书笔记·VLSI电路设计方法解密】问题51:什么是标准单元?标准单元、门阵列和门海方法之间的区别是什么
在某些情况下,相同的逻辑单元可能有不同的布局版本:例如,紧凑设计的小布局占位和高性能且昂贵项目的大布局占位。随着工艺技术的不断缩小,标准单元的尺寸也随之减小,因此可以在相同的硅面积内容纳越来越多的逻辑门。在这个预先制造的硅片中,晶体管和其他有源器件以规则的、预定义的位置放置,并在晶圆上制造,称为母片。通常,底层(阱、扩散和多晶硅)是固定的和预先制造的。标准单元方法与门阵列和门海方法的最大区别在于,使用标准单元方法构建芯片需要所有层次的掩模,而在门阵列或门海方法中只需要金属层(底层是预先制造的)。
2025-02-18 15:38:06
88
原创 【SoC设计的简单艺术】第七章:降低数据主导设计的复杂性
正如在以控制为主的设计中所发现的,我们发现结构化的编码和设计风格可以减少设计中的复杂性和代码行数。特别是,我们可以将顺序过程的数量减到最少。使用函数和任务为代码添加结构,可以生成数据路径模块的规范设计,并促进分析和验证。如同第3章的例子所示,我们能够使每个模块只有一个顺序过程。因此,每个模块都有一个相当于main的入口点,可以从这里开始系统地分析模块。我们还展示了使用这些技术——以及SystemVerilog可综合子集中的特性——可以在不负面影响仿真时间或综合结果的情况下,显著减少代码量。
2025-02-18 15:05:36
150
原创 【读书笔记·VLSI电路设计方法解密】问题50:什么是硬件的寄存器传输级(RTL)描述
与门级描述相比,RTL级描述在更高的抽象层次上描述设计。它鼓励设计者关注设计的功能而不是其实现,同时让自动综合工具实现并优化所指定的功能。然而,RTL代码不会进一步指定具体的实现细节,例如用于数据存储的顺序单元或用于数据处理的逻辑单元。门级描述以纯粹的结构方式描述系统,通过将系统分解为功能明确且结构固定的基元构建块。门级描述主要用于IC实现的最后阶段,以精确描述设计的物理结构,几乎不关注其功能。它仅通过使用更高层次的抽象来描述设计的行为或功能,而不提供关于如何实现该设计的信息或指导。
2025-02-14 14:41:08
285
原创 【读书笔记·VLSI电路设计方法解密】问题49:什么是硬件描述语言(hdl)
第三,系统设计可以在制造之前进行仿真,使设计者能够快速比较不同方案并测试其正确性,而无需硬件原型的延迟和费用。第四,它允许从更抽象的规范中综合出设计的详细结构,使设计者能够更专注于战略设计决策。在半个世纪的IC发展过程中,人们逐渐意识到需要一种计算机语言来描述集成电路的结构和功能,或者描述整个电子系统。因此,两种HDL语言——Verilog和VHDL——被标准化,并成为IC设计的工具。总体而言,HDL的使用可以在以下几个方面使IC设计过程受益:记录设计、仿真设计行为以及直接将设计综合为实际硬件。
2025-02-14 14:33:56
53
原创 【读书笔记·VLSI电路设计方法解密】问题48:什么是硬宏单元(Hard Macro)和软宏单元(Soft Macro)
通常,含有大量模拟内容的IP以硬宏形式交付,因为模拟IP对工艺和布局非常敏感。网表IP可以用于相同的工艺或库,也可以用于移植,从而映射到不同的工艺或库。硬宏方法的最大优势在于优化。相比之下,软宏IP具有出色的可移植性。硬宏和软宏方法是两种交付IP的方式。硬宏方法用于传输不仅包含逻辑实现还包含物理实现的IP块。换句话说,硬宏IP的物理布局已经在特定工艺技术中完成并固定。与此同时,软宏IP仅包含逻辑实现而不包含布局。显然,软宏方法的缺点是需要额外进行物理实现或布局工作。与硬宏相比,软宏的验证也需要更多的关注。
2025-02-13 16:32:33
114
原创 【SoC设计的简单艺术】第六章:验证
最终,验证和设计都是人类的活动。在设计中,人类将某种形式的规范转化为详细的设计。无论设计工具或方法多么强大,设计中的关键角色始终是人类设计师。设计的基本意图必须由理解目标应用及其试图解决的问题的人来定义。在验证中,我们检查这个人的工作。另一双眼睛从不同的角度处理相同的任务。RTL设计师从内到外描述设计的详细行为,而验证工程师则通过编写测试平台来从外到内定义设计的行为,测试平台模拟设计将要运行的环境。但最终,这只是两个人查看同一规范并开发该规范的两种表示形式,并进行比较的过程。
2025-02-13 16:27:41
205
原创 【读书笔记·VLSI电路设计方法解密】问题47:什么是设计规划
当前实现过程中使用的所有工具,特别是综合工具,由于CPU处理能力和内存容量的限制,都有组件限制。:根据工艺速度、价格、IP可用性、代工厂可用性等选择适当的技术节点。对于选定的技术,根据设计要求(如高速或低功耗)选择适当的ASIC库。对于具有高门数的大规模设计,必须将设计划分为子芯片或分层模块,并以分而治之的方式实现。:根据速度、驱动能力、功耗、电压接口和特殊I/O功能(如DDR、SERDES和USB)选择I/O。:进行初步布局规划并确定设计是否受I/O限制、核心限制、大型模块限制或封装限制。
2025-02-10 16:37:16
53
原创 【SoC设计的简单艺术】第五章:测量和最小化状态空间
摘要 - 计算状态空间输入状态空间检查输入声明,移除那些数据——即那些值不影响设计操作的变量。对于每个剩余的输入变量,确定该变量的状态空间:a. 如果是枚举类型,取其值的数量。b. 如果不是枚举类型,取2的N次方,其中N是输入变量的位数。将所有输入(控制)变量的状态空间大小相乘以获得完整的输入控制状态空间。输出状态空间检查输出声明,移除那些数据——即那些值不受控制路径操作影响的变量。对于每个剩余的输出变量,确定该变量的状态空间:a. 如果是枚举类型,取其值的数量。
2025-02-10 16:34:00
125
原创 【读书笔记·VLSI电路设计方法解密】问题46:什么是bug覆盖率
在前两个阶段,漏洞很容易被检测到,因此发现漏洞的速率相对较高。然后,随着设计逐渐成熟并进入边界情况测试,漏洞变得越来越难以发现,这一速率相应地减慢,如图4.5所示。最终,当验证几乎完成时,漏洞的发现率几乎为零。在IC设计项目的验证过程中,功能测试(通过使用测试平台)有助于定位设计错误或漏洞。这个验证过程有三个阶段:构建和启动测试平台、验证基本测试用例以及验证边界情况。漏洞检测频率、最后一次发现漏洞后的仿真时间长度以及总的仿真周期数是衡量整个验证过程信心水平最常用的方法。
2025-02-08 18:37:06
292
原创 【SoC设计的简单艺术】第四章:层次化状态机
在前一章中,我们对BCU进行了多项改进,并为代码开发了一个整体结构。在本章中,我们将重新设计有限状态机,使其成为一个层次化状态机(HFSM)。我们将从HFSM的一般模型开始,然后继续重新编码BCU的状态机。有限状态机是BCU结构的核心:它定义了设计随着时间如何运作。它就像C代码中的main函数:是我们开始任何代码分析的地方。使状态机结构良好且易于理解至关重要。
2025-02-08 18:34:27
266
原创 【读书笔记·VLSI电路设计方法解密】问题45:什么是功能覆盖率
与代码覆盖率相对的功能覆盖率,则是将测试平台的行为与产品规范进行比较。结构化测试考虑源代码的工作方式,包括结构和逻辑中的潜在缺陷。代码覆盖率分析可以被视为玻璃盒或白盒测试,而功能覆盖率分析则可以被视为黑盒测试。功能覆盖率的目标是最大化模拟和检测功能故障或错误的概率。然而,根据对许多SoC项目的观察和实验,功能覆盖率度量能够提高检测错误的概率这一点似乎是经验上正确的。这种基于观察和实验的经验性证据表明,尽管难以严格证明功能覆盖率度量的有效性,但在实践中,它确实有助于提高检测功能缺陷的能力。
2025-02-07 17:07:59
69
原创 【SoC设计的简单艺术】第三章:降低控制主导设计的复杂性
将代码划分为多个文件消除代码中的一些语法冗余重构时序代码使用函数封装组合逻辑代码将状态机转换为单个时序进程将状态机转换为层次化状态机使用SystemVerilog的结构体(struct)构造来封装重要结构我们将设计的状态空间从大约256个减少到约24个。这些状态被封装在一个层次化状态机中(将在下一章展示)。我们提供了时序和组合逻辑代码的系统化封装,允许简化且系统化的审查过程。我们将设计中声明的对象数量减少了67%。我们将代码行数减少了大约30%。
2025-02-07 17:03:14
308
原创 【SoC设计的简单艺术】第一章:第三次革命
第二章简要介绍了简化设计的技术。第三章详细举例说明如何重构RTL设计,使其显著减少复杂性。本章使用一个控制主导的设计作为示例。第四章继续第三章的例子,重点讨论分层状态机的设计。第五章更详细地讨论状态空间的概念以及如何最小化它。第六章描述了前几章中提到的技术如何简化和改进验证过程。第七章提供了另一个详细的简化代码示例,这次是一个数据路径密集型设计。第八章描述模块接口的设计如何影响整体设计的复杂性。第九章继续第七章的讨论,并将其扩展到IP和系统级别;描述如何测量和最小化完整设计的复杂性。第十章。
2025-02-06 11:22:20
88
原创 【读书笔记·VLSI电路设计方法解密】问题44:什么是代码覆盖率
代码覆盖率分析是一种结构性测试技术,它将测试平台的行为与源代码的显式意图进行比较。它确保的是测试平台的质量,而不是实际源代码或实际模块的质量。代码覆盖率分析是发现测试平台中一组测试用例未覆盖的源代码区域的过程。通过使用特定的测试平台,对以HDL(或其他高级语言)构建的模块进行代码覆盖率分析,可以记录RTL源代码中哪些行被执行,哪些行未被执行。其前提是,如果某一行代码从未被测试平台执行过,那么就不可能发现其中潜藏的任何错误。最终,对特定设计的代码覆盖率分析结果将影响设计者对其RTL代码的信心水平。
2025-01-24 17:41:19
108
ieee system verilog standard 1800-2017.pdf
2020-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人