自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(428)
  • 资源 (11)
  • 收藏
  • 关注

原创 【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明

感觉第一个项目其实设计的难度不太大(当然我写出来的bug也不少哈),验证环境搭建也比较简单,整个项目更加侧重于熟悉流程和设计验证的入门。而且包传输协议更多应用在网络芯片架构中,和现在比较火的处理器方向距离比较远。所以呢第二个虚拟项目就显得挺有必要了。

2023-12-02 18:24:47 1040 3

原创 【IC萌新虚拟项目】Package Process Unit项目全流程目录

Package Process Unit虚拟项目是芯片设计与验证新员工的培训项目,一般会分配6~10周的时间独立开发该项目并完成验收。在整个项目中,新员工需要熟悉工作站、项目流程、公共环境与代码等,并根据方案文档独立设计ppu模块,之后进行功能验证与综合等芯片交付流程。

2023-06-03 23:10:55 3505 12

原创 【读书笔记·VLSI电路设计方法解密】问题60:什么是可测试电路

图4.22展示了四种已知的不可测试故障类型:未使用故障、固定故障、阻塞故障和冗余故障。除了不可测试的故障外,还有一组不可检测的故障。这些故障包括可能检测到的故障、振荡故障、过度增长故障、未初始化故障和未检测到的故障。与不可测试的故障不同,不可检测的故障在计算芯片的故障覆盖率时必须被考虑,因为它们可能对功能产生影响。可测试电路的定义是:其内部关注的节点可以被设置为0或1,并且由于故障导致的关注节点上的期望逻辑值(即安全故障电路与非安全故障电路之间的逻辑值差异)的任何变化都可以在外部观察到。

2025-03-18 00:28:54 14

原创 【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。

2025-03-18 00:09:16 271

原创 【芯片验证】verificationguide上的36道UVM面试题

在UVM中,port用于组件之间的连接,允许数据从一个组件传递到另一个组件。uvm_sequencer是一个具体的组件,负责管理和调度序列项的执行,通常与驱动器配合工作,将序列项转换为实际的信号激励。uvm_virtual_sequencer是一个虚拟组件,可以包含多个实际的sequencer,允许在一个地方控制多个不同的sequencer,在复杂的验证环境中非常有用,因为它简化了多sequencer的管理和协调。然而,更常见的方式是使用uvm_config_db,因为它提供了更强大的功能和更大的灵活性。

2025-03-09 22:56:44 185

原创 【芯片验证】verificationguide上的74道SystemVerilog面试题

诧异啊,像我这种没事在网上各处捡东西吃的人为什么之前一直没有用过verificationguide这个网站呢?总不能是大家都已经看过就留下我不知道吧。前几天在论坛上和朋友谈论验证面试题时才搜到这个网站的,感觉挺有意思

2025-03-09 22:54:29 277

原创 【读书笔记·VLSI电路设计方法解密】问题59:数字电路中的可控性和可观测性是什么

对于一个具有三个输入(A、B和C)和两个输出(Y和Z)的电路模块,当节点B的电势能够通过B的输入逻辑锥从芯片的主输入被拉高或拉低时,它是可控的。当这种切换的结果能够通过Y和Z的输出逻辑锥被芯片的主输出感知时,它是可观测的。在组合逻辑电路中,如果电路的所有输入都已知,内部节点的逻辑状态可以被确定。被定义为该节点的逻辑状态能够通过电路的主输出被观察到的能力。如果该节点的逻辑状态能够可靠地被观察到,则认为该节点是可观测的。如问题58所述,测试数字电路最常见的方法是切换电路内部的每个节点并观察相应的效果。

2025-03-07 00:13:42 65

原创 【芯片设计】处理器芯片大厂前端设计工程师面试记录·20250307

128bit数据流,连接前后处理模块(如ReLU、Pooling)。

2025-03-07 00:07:25 702

原创 【读书笔记·VLSI电路设计方法解密】问题58:VLSI电路测试中最常用的模型是什么

虽然它不是DFT中唯一的模型,但它是最简单且应用最广泛的模型,尤其是在数字设计中,因为这些电路只关注0和1两种状态。例如,节点与地节点之间由于异物导致的金属短路,或者内部晶体管的故障,都可能引起SA0。SAF模型假设硅芯片内的任何节点(网表中的网络)都有可能因各种制造缺陷而永久连接到电源(固定为1,SA1)或地(固定为0,SA0)。在此过程中,假设电路中的每个节点都有可能固定为0或1。一组好的测试模式的目标是以最少的资源(例如CPU时间、内存、磁盘空间和测试仪时间)检测出电路中所有存在故障的节点。

2025-03-05 21:00:28 36

原创 【SoC设计的简单艺术】第十章:在RTL以上提升抽象层次

该项目的整体验证工作量估计为手工编写等效RTL设计验证工作量的一半。这显著提高了生产效率,并缩短了整体项目周期时间。生成无时序模型的成本较高设计师通常需要付出大量努力,才能生成在面积上与手工编写设计竞争的无时序模型。RTL级别的验证需求仍然较大用户发现,仍然需要在RTL级别进行大量的验证工作。尽管上述成功案例实现了整体效率2倍的提升,但我们仍需要找到实现更大收益的途径。控制密集型设计的支持不足大多数用户认为当前工具在处理以控制为主的设计时表现不佳。

2025-03-05 16:11:10 41

原创 【芯片设计】AI偏车载芯片前端设计工程师面试记录·20250304

1.选取一个复杂的接口(比如网络芯片中的报文接口),简单介绍一下接口的功能,时序以及实现中遇到的问题2.根据这些经验,你一般如何进行模块的接口划分3.网络报文数据结构中,包头和包尾一般有哪些信息4.向量译码模块里,是如何处理指令依赖的5.多个核间是如何处理指令依赖和任务依赖的6.典型的simt指令有哪些,简单介绍一下7.Simt在内部是如何处理的,有哪些优化方法8.为什么一些NPU需要一个复杂指令的译码模块9.3d tensor在内存中有哪些常见的缓存方式。

2025-03-04 00:38:53 249

原创 【芯片设计】AI芯片前端设计工程师面试记录·20250303

以上方案需结合具体总线协议(如AXI/CHI)和SoC架构实现,重点保证ID唯一性和请求-响应正确匹配。

2025-03-04 00:28:44 225

原创 【读书笔记·VLSI电路设计方法解密】问题57:逻辑合成过程中插入测试的目的是什么

如果这些测试电路在后期阶段(例如布局布线阶段之后)才添加,而不是在逻辑综合阶段插入,那么整个物理设计过程可能会受到影响。因此,测试电路应尽可能早地在芯片实现过程中添加。为了实现DFT功能,使设计能够检测制造缺陷,需要在设计中添加额外的测试电路,而这些额外的测试电路通常在逻辑综合过程中插入。测试电路插入过程中涉及的一些细节包括:替换为可扫描的触发器、划分扫描链、连接扫描链、构建内置自测试(Built-In Self-Test, BIST)、构建存储器BIST、分析故障覆盖率以及生成测试模式。

2025-02-27 20:20:25 44

原创 【读书笔记·VLSI电路设计方法解密】问题56:一种设计的门数是多少

在ASIC库中,不同的单元具有不同的物理尺寸。网表的规模,或者说设计的规模,是其所有组成元件尺寸的总和。为了方便描述数字设计的规模,库单元、存储器单元和宏单元的物理尺寸会被归一化到一个基础单元,通常是一个具有最小1倍驱动能力的两输入NAND门(这里称为NAND2)。因此,任何网表的规模都是通过参考这个基础单元的尺寸来衡量的。例如,如果一个设计被称为“10万门设计”,其物理尺寸相当于10万个NAND2单元的尺寸。在前面的例子中,设计中实际元件的数量不一定是10万,因为不同单元的尺寸不同。

2025-02-27 19:42:51 42

原创 【芯片设计】NPU芯片前端设计工程师面试记录·20250227

某NPU/CPU方向芯片设计公司

2025-02-27 19:37:06 595

原创 【读书笔记·VLSI电路设计方法解密】问题55:什么是原理图或网表

不包含实例的定义称为原始单元或叶单元,而包含实例的定义则是层次化的。层次化方法的优势在于它减少了网表中的冗余,节省了磁盘或内存空间,并生成了更容易被机器和人类阅读的设计。在这种环境中,原理图是设计者可以在图形用户界面(GUI)中看到和感受到的东西,如图4.16所示,其中的原始单元是晶体管。从结构上看,网表包含或引用了其所使用的组件(如逻辑门、特殊宏单元等)或器件(如晶体管、电容、电阻等)的描述。与仅描述设计者设计意图的RTL描述或设计规范相比,原理图或网表是更接近实际硅实现的电路表示。

2025-02-24 17:39:42 48

原创 【SoC设计的简单艺术】第九章:芯片级的复杂性

圈复杂度(Cyclomatic Complexity)是一种用于衡量软件代码复杂性的方法。它由托马斯·麦凯布(Thomas McCabe)在其1976年发表的论文《复杂性度量》[17]中提出。圈复杂度是一种基于图的度量标准。它将一段软件(如函数、方法、类等)视为图,并根据节点和边的数量计算度量值。该度量标准的目的是衡量代码中线性独立路径的数量。具体来说,图中的节点是始终作为一个单元执行的语句块,即不包含条件语句(如if、case、for等)的语句块。图中的边是有向边;

2025-02-24 17:32:41 150

原创 【读书笔记·VLSI电路设计方法解密】问题54:逻辑综合的优化目标是什么

如今,随着越来越多的IC设计面向移动应用,芯片的功耗已成为一个非常敏感的问题。换句话说,一方面需要越来越低的功耗,另一方面功耗管理却变得越来越困难。逻辑综合任务的优化目标是速度、面积和功耗。为了成功实现为实际电路或逻辑门,通过HDL综合生成的电路必须满足由时钟频率定义的特定速度要求。逻辑综合的另一个明显目标是生成的电路应尽可能占用更小的硅片面积,以最大化利润空间。例如,为了实现更高的电路速度,可能需要更多的硅片面积和更高的功耗。为了实现更好的功耗控制,可能需要更多的门控电路,而这反过来又需要更多的面积。

2025-02-22 19:15:49 126

原创 【读书笔记·VLSI电路设计方法解密】问题53:什么是逻辑综合

在逻辑综合的过程中,从设计的RTL描述开始,综合工具首先构建一个对应的多级布尔网络。在技术无关优化中,典型的成本函数是逻辑函数的因式分解表示的总文字数,这与实际电路面积密切相关。最后,技术相关的优化将技术无关的电路转换为给定技术(库)中的门级网络。逻辑综合是将期望的电路行为的抽象形式(通常以RTL表示)转换为基于逻辑门(标准单元)的设计实现的过程。逻辑综合是电子设计自动化的一个重要方面。逻辑综合任务的质量高度依赖于所使用的ASIC库、嵌入在综合工具和CPU中的算法,以及执行综合任务的计算机的内存配置。

2025-02-22 19:07:17 237

原创 【读书笔记·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 38

原创 【SoC设计的简单艺术】第八章:简化接口

在前几章中,我们展示了精心设计的控制主导型和数据路径主导型代码可以显著简化设计。在本章中,我们展示了同样的原则也适用于接口设计。像FIFO接口这样的接口,能够解耦两个模块,从而大大降低整体设计的复杂性。在紧密耦合的设计中,设计的复杂性是各个模块复杂性的笛卡尔积。而在解耦的设计中,复杂性则体现在接口上。通过良好结构的接口,这种复杂性可以降低几个数量级。一个结构良好的接口使用结构体将信号分组为字段,并将这些字段分为数据字和控制字。因此,我们从关注信号和比特转向关注控制、数据和事务。

2025-02-21 17:01:22 158

原创 【读书笔记·VLSI电路设计方法解密】问题51:什么是标准单元?标准单元、门阵列和门海方法之间的区别是什么

在某些情况下,相同的逻辑单元可能有不同的布局版本:例如,紧凑设计的小布局占位和高性能且昂贵项目的大布局占位。随着工艺技术的不断缩小,标准单元的尺寸也随之减小,因此可以在相同的硅面积内容纳越来越多的逻辑门。在这个预先制造的硅片中,晶体管和其他有源器件以规则的、预定义的位置放置,并在晶圆上制造,称为母片。通常,底层(阱、扩散和多晶硅)是固定的和预先制造的。标准单元方法与门阵列和门海方法的最大区别在于,使用标准单元方法构建芯片需要所有层次的掩模,而在门阵列或门海方法中只需要金属层(底层是预先制造的)。

2025-02-18 15:38:06 59

原创 【SoC设计的简单艺术】第七章:降低数据主导设计的复杂性

正如在以控制为主的设计中所发现的,我们发现结构化的编码和设计风格可以减少设计中的复杂性和代码行数。特别是,我们可以将顺序过程的数量减到最少。使用函数和任务为代码添加结构,可以生成数据路径模块的规范设计,并促进分析和验证。如同第3章的例子所示,我们能够使每个模块只有一个顺序过程。因此,每个模块都有一个相当于main的入口点,可以从这里开始系统地分析模块。我们还展示了使用这些技术——以及SystemVerilog可综合子集中的特性——可以在不负面影响仿真时间或综合结果的情况下,显著减少代码量。

2025-02-18 15:05:36 135

原创 【读书笔记·VLSI电路设计方法解密】问题50:什么是硬件的寄存器传输级(RTL)描述

与门级描述相比,RTL级描述在更高的抽象层次上描述设计。它鼓励设计者关注设计的功能而不是其实现,同时让自动综合工具实现并优化所指定的功能。然而,RTL代码不会进一步指定具体的实现细节,例如用于数据存储的顺序单元或用于数据处理的逻辑单元。门级描述以纯粹的结构方式描述系统,通过将系统分解为功能明确且结构固定的基元构建块。门级描述主要用于IC实现的最后阶段,以精确描述设计的物理结构,几乎不关注其功能。它仅通过使用更高层次的抽象来描述设计的行为或功能,而不提供关于如何实现该设计的信息或指导。

2025-02-14 14:41:08 259

原创 【读书笔记·VLSI电路设计方法解密】问题49:什么是硬件描述语言(hdl)

第三,系统设计可以在制造之前进行仿真,使设计者能够快速比较不同方案并测试其正确性,而无需硬件原型的延迟和费用。第四,它允许从更抽象的规范中综合出设计的详细结构,使设计者能够更专注于战略设计决策。在半个世纪的IC发展过程中,人们逐渐意识到需要一种计算机语言来描述集成电路的结构和功能,或者描述整个电子系统。因此,两种HDL语言——Verilog和VHDL——被标准化,并成为IC设计的工具。总体而言,HDL的使用可以在以下几个方面使IC设计过程受益:记录设计、仿真设计行为以及直接将设计综合为实际硬件。

2025-02-14 14:33:56 46

原创 【读书笔记·VLSI电路设计方法解密】问题48:什么是硬宏单元(Hard Macro)和软宏单元(Soft Macro)

通常,含有大量模拟内容的IP以硬宏形式交付,因为模拟IP对工艺和布局非常敏感。网表IP可以用于相同的工艺或库,也可以用于移植,从而映射到不同的工艺或库。硬宏方法的最大优势在于优化。相比之下,软宏IP具有出色的可移植性。硬宏和软宏方法是两种交付IP的方式。硬宏方法用于传输不仅包含逻辑实现还包含物理实现的IP块。换句话说,硬宏IP的物理布局已经在特定工艺技术中完成并固定。与此同时,软宏IP仅包含逻辑实现而不包含布局。显然,软宏方法的缺点是需要额外进行物理实现或布局工作。与硬宏相比,软宏的验证也需要更多的关注。

2025-02-13 16:32:33 53

原创 【SoC设计的简单艺术】第六章:验证

最终,验证和设计都是人类的活动。在设计中,人类将某种形式的规范转化为详细的设计。无论设计工具或方法多么强大,设计中的关键角色始终是人类设计师。设计的基本意图必须由理解目标应用及其试图解决的问题的人来定义。在验证中,我们检查这个人的工作。另一双眼睛从不同的角度处理相同的任务。RTL设计师从内到外描述设计的详细行为,而验证工程师则通过编写测试平台来从外到内定义设计的行为,测试平台模拟设计将要运行的环境。但最终,这只是两个人查看同一规范并开发该规范的两种表示形式,并进行比较的过程。

2025-02-13 16:27:41 195

原创 【读书笔记·VLSI电路设计方法解密】问题47:什么是设计规划

当前实现过程中使用的所有工具,特别是综合工具,由于CPU处理能力和内存容量的限制,都有组件限制。:根据工艺速度、价格、IP可用性、代工厂可用性等选择适当的技术节点。对于选定的技术,根据设计要求(如高速或低功耗)选择适当的ASIC库。对于具有高门数的大规模设计,必须将设计划分为子芯片或分层模块,并以分而治之的方式实现。:根据速度、驱动能力、功耗、电压接口和特殊I/O功能(如DDR、SERDES和USB)选择I/O。:进行初步布局规划并确定设计是否受I/O限制、核心限制、大型模块限制或封装限制。

2025-02-10 16:37:16 39

原创 【SoC设计的简单艺术】第五章:测量和最小化状态空间

摘要 - 计算状态空间输入状态空间检查输入声明,移除那些数据——即那些值不影响设计操作的变量。对于每个剩余的输入变量,确定该变量的状态空间:a. 如果是枚举类型,取其值的数量。b. 如果不是枚举类型,取2的N次方,其中N是输入变量的位数。将所有输入(控制)变量的状态空间大小相乘以获得完整的输入控制状态空间。输出状态空间检查输出声明,移除那些数据——即那些值不受控制路径操作影响的变量。对于每个剩余的输出变量,确定该变量的状态空间:a. 如果是枚举类型,取其值的数量。

2025-02-10 16:34:00 115

原创 【读书笔记·VLSI电路设计方法解密】问题46:什么是bug覆盖率

在前两个阶段,漏洞很容易被检测到,因此发现漏洞的速率相对较高。然后,随着设计逐渐成熟并进入边界情况测试,漏洞变得越来越难以发现,这一速率相应地减慢,如图4.5所示。最终,当验证几乎完成时,漏洞的发现率几乎为零。在IC设计项目的验证过程中,功能测试(通过使用测试平台)有助于定位设计错误或漏洞。这个验证过程有三个阶段:构建和启动测试平台、验证基本测试用例以及验证边界情况。漏洞检测频率、最后一次发现漏洞后的仿真时间长度以及总的仿真周期数是衡量整个验证过程信心水平最常用的方法。

2025-02-08 18:37:06 275

原创 【SoC设计的简单艺术】第四章:层次化状态机

在前一章中,我们对BCU进行了多项改进,并为代码开发了一个整体结构。在本章中,我们将重新设计有限状态机,使其成为一个层次化状态机(HFSM)。我们将从HFSM的一般模型开始,然后继续重新编码BCU的状态机。有限状态机是BCU结构的核心:它定义了设计随着时间如何运作。它就像C代码中的main函数:是我们开始任何代码分析的地方。使状态机结构良好且易于理解至关重要。

2025-02-08 18:34:27 253

原创 【读书笔记·VLSI电路设计方法解密】问题45:什么是功能覆盖率

与代码覆盖率相对的功能覆盖率,则是将测试平台的行为与产品规范进行比较。结构化测试考虑源代码的工作方式,包括结构和逻辑中的潜在缺陷。代码覆盖率分析可以被视为玻璃盒或白盒测试,而功能覆盖率分析则可以被视为黑盒测试。功能覆盖率的目标是最大化模拟和检测功能故障或错误的概率。然而,根据对许多SoC项目的观察和实验,功能覆盖率度量能够提高检测错误的概率这一点似乎是经验上正确的。这种基于观察和实验的经验性证据表明,尽管难以严格证明功能覆盖率度量的有效性,但在实践中,它确实有助于提高检测功能缺陷的能力。

2025-02-07 17:07:59 46

原创 【SoC设计的简单艺术】第三章:降低控制主导设计的复杂性

将代码划分为多个文件消除代码中的一些语法冗余重构时序代码使用函数封装组合逻辑代码将状态机转换为单个时序进程将状态机转换为层次化状态机使用SystemVerilog的结构体(struct)构造来封装重要结构我们将设计的状态空间从大约256个减少到约24个。这些状态被封装在一个层次化状态机中(将在下一章展示)。我们提供了时序和组合逻辑代码的系统化封装,允许简化且系统化的审查过程。我们将设计中声明的对象数量减少了67%。我们将代码行数减少了大约30%。

2025-02-07 17:03:14 297

原创 【SoC设计的简单艺术】第二章:简化RTL设计

本章概述了RTL设计中的挑战,以及我们可以用来简化它们的一些基本技术。

2025-02-06 13:01:01 148

原创 【SoC设计的简单艺术】第一章:第三次革命

第二章简要介绍了简化设计的技术。第三章详细举例说明如何重构RTL设计,使其显著减少复杂性。本章使用一个控制主导的设计作为示例。第四章继续第三章的例子,重点讨论分层状态机的设计。第五章更详细地讨论状态空间的概念以及如何最小化它。第六章描述了前几章中提到的技术如何简化和改进验证过程。第七章提供了另一个详细的简化代码示例,这次是一个数据路径密集型设计。第八章描述模块接口的设计如何影响整体设计的复杂性。第九章继续第七章的讨论,并将其扩展到IP和系统级别;描述如何测量和最小化完整设计的复杂性。第十章。

2025-02-06 11:22:20 68

原创 【读书笔记·VLSI电路设计方法解密】问题44:什么是代码覆盖率

代码覆盖率分析是一种结构性测试技术,它将测试平台的行为与源代码的显式意图进行比较。它确保的是测试平台的质量,而不是实际源代码或实际模块的质量。代码覆盖率分析是发现测试平台中一组测试用例未覆盖的源代码区域的过程。通过使用特定的测试平台,对以HDL(或其他高级语言)构建的模块进行代码覆盖率分析,可以记录RTL源代码中哪些行被执行,哪些行未被执行。其前提是,如果某一行代码从未被测试平台执行过,那么就不可能发现其中潜藏的任何错误。最终,对特定设计的代码覆盖率分析结果将影响设计者对其RTL代码的信心水平。

2025-01-24 17:41:19 90

原创 【读书笔记·VLSI电路设计方法解密】问题43:什么是TestBench

它激励被测模块(设备)并观察其行为。在IC设计领域,“错误”(bug)一词用于描述设计过程中无意引入的设计错误。错误通常会导致系统行为异常,从而引发功能错误,甚至最坏的情况下导致芯片失效。验证的任务是发现系统中的所有错误。在这一任务中,首选的工具是为仿真设计而创建的测试平台(test bench)。功能验证是当今高度集成的IC芯片交付过程中的瓶颈之一。SoC集成水平的持续提升给当今的验证工程师带来了巨大的负担。测试平台创建过程中最具挑战性的部分是生成一组能够覆盖所有应用场景(或尽可能多)的测试平台。

2025-01-24 17:30:20 67

原创 【读书笔记·VLSI电路设计方法解密】问题42:在寄存器-传输级别验证设计的方法有哪些

随着数字设计变得越来越复杂,传统的验证技术难以跟上,形式属性验证的重要性日益增加。对于定理证明,系统及其期望属性都表示为某种数学逻辑中的公式,定理证明器将根据为系统定义的公理找到证明。在这个框架内,与仿真方法相比,设计者可以采用坚实的设计抽象技术来管理复杂性。除了执行仿真外,大多数RTL仿真器还具有额外的功能,如lint检查、状态机分析、断言检查和代码覆盖率分析。仿真方法的主要缺点是它不是一个彻底的验证。这种FPGA原型的电路速度通常比最终的ASIC慢得多,但它可以提高设计者对RTL代码功能正确性的信心。

2025-01-21 14:36:09 300

原创 【读书笔记·VLSI电路设计方法解密】问题41:什么是寄存器传输级(rtl)系统级描述

如问题40所述,在我们从算法、模块和周期精确级别对系统进行研究之后,需要朝着硬件实现的方向推进。在寄存器传输级(RTL)描述系统将使我们离这一目标更近一步。RTL,即寄存器传输级,是一种使用硬件描述语言(HDL)在软件中描述硬件行为的方法。在任何硬件描述语言(Verilog或VHDL)中,有两种不同的方法来描述硬件模块。一种方法是仅通过其行为来描述,而不考虑如何在硬件中实现预期的行为。另一种方法是以结构化的方式描述系统,或使用功能已知且定义明确的基本构建块来实现预期功能。在这种方法中,当硬件工程师大致知道他

2025-01-21 14:32:45 84

原创 【读书笔记·VLSI电路设计方法解密】问题40:在系统层面验证设计的方法是什么

从RTL级到ESL的转变不会是突然的,它将更像是一个进化而非革命的过程。随着时间的推移,更复杂的编译器和综合算法,加上硬件功能的增强,将扩展这些ESL自动化技术的应用范围,直到只有极端性能驱动的设计才需要在RTL级实现。然而,随着设计规模越来越大,设计复杂性越来越高,使用电子系统语言(ESL)替代C/C++和RTL作为系统工具的新趋势正在慢慢兴起。在算法级研究中,仅指定设计的行为,而不涉及具体的实现细节;系统级研究所采用的方法大致可分为:算法级、模块级、周期精确级和寄存器传输级(RTL)。

2025-01-15 18:17:34 144

2023版本SystemVerilog标准

2023版本SystemVerilog标准

2024-03-20

前言技术-芯片-寄存器生成与uvm ral访问环境搭建全流程工程

寄存器生成与uvm ral访问环境搭建全流程工程 芯片设计与验证工程师必备!

2023-02-14

多功能进制转换器(包括IEEE754浮点进制转换)

数据类型囊括了:二进制/十进制/十六进制/补码/IEEE754 float! 强大的进制转换器,你值得拥有!

2023-02-09

内置自动添加axi总线宏的xlsm文档

内置自动添加axi总线宏的xlsm文档

2022-03-08

祝福语波形生成器,基于vcs

祝福语波形生成器,基于vcs

2022-02-02

match_rtl.rar

一个简单的uvm笔试题

2021-12-27

uvm_demo.tar

一个简单的uvm+makefile验证环境,解压之后可直接运行

2021-12-14

gen_link RTL定层自动互连工具

用于verilog RTL顶层集成的工具

2021-07-15

gen_dummy.py

给rtl生成dummy文件

2021-07-08

find_key.rar

针对word.docx文档的关键词索引器

2021-06-14

auto_assert.py

【快速断言体系】一步步搭建一个高效的快速断言体系

2021-06-10

RISC_SPM.rar

一个小型的RISC处理器,学习用的

2021-06-06

sv test.rar

【验证小白】只有SV+modelsim学验证 系列的最终代码,下载解压后即可运行

2021-05-23

ieee system verilog standard 1800-2017.pdf

system verilog IEEE标准,IEEE官网下载,供查阅system verilog相关语法规则

2020-02-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除