自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 数字IC设计验证-秋招指南

前言现在距离正式九月正式秋招还有4个月,距离八月提前批还有3个月,相信不少粉丝都在盘算着为工作做准备。今天,我以一个过来者的身份跟大家分享分享,关于秋招如何准备以及一些注意事项,希望大家能够有所收获。同时也感谢在求职过程中给予我帮助的同学们。整体概述我将对秋招的准备分为两个部分,就像一个系统一样,总是划分为软件和硬件的,软硬协同才能发挥最好。这硬件的意思就是,打铁还需自身硬,面试官、笔试题...

2021-05-10 21:52:00 4817

原创 2021芯片秋招总结

背景为找工作做的准备其实从研一一入学就在做了,本来想往FPGA方向走,但是后来综合实验室的水平以及我个人非常不想接触硬件调试,还是放弃了,选择IC方向。IC究竟是设计还是验证,其实我一开始也没什么想法,做两手准备,毕竟就算是走验证方向,设计的经验也是不可或缺的,所以刚开始还是按部就班的来,学学verilog,用用fpga。研一上学期的时候一直在看绿皮书,看完了以后去看白皮书,但是真的...

2021-01-08 19:35:00 1671 2

原创 关于UVM driver的幕后

关于UVM driver的幕后我们都知道,driver要和sequencer相连,然后通过seq_item_port接口的get_next_item方法和sequence之间进行交互。但是,你有没有去查过get_next_item这个方法究竟是哪个类提供的呢?让我们打开网页https://verificationacademy.com/verification-methodology-...

2021-12-11 13:59:00 402

原创 【VCS版】【mentor公司的例子】基于UVM的UART验证环境

之前偶然在群里看到有人分享了Mentor Graphics提供的一个UART的UVM验证环境代码,包含了UVM的基本使用以及进阶的UVM寄存器模型。这里也分享给大家。文件说明agents/apb_agent - APB agent used in the UVM testbenchagents/uart_agent - UART agent user in the UVM testbenc...

2021-10-10 17:54:00 1513 2

原创 UVM_COOKBOOK学习【DUT-Testbench Connections】

关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本 PDF度盘链接将testbench连接到DUT概述本节,我们主要讨论将UVM testbench连接到RTL DUT的问题。UVM testbench对象不能直接连接到DUT信号来驱动或采样。driver和monitor组件对象与DUT之间的连接是通过一个或多个具有静态信号端口的BFM组件间接实现的。这些B...

2021-08-23 23:20:00 1175

原创 UVM_COOKBOOK学习【Testbench Architecture】

关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本 PDF度盘链接Testbench ArchitectureUVM Testbench ArchitectureUVM testbench 是使用SystemVerilog(动态)类对象与SystemVerilog(静态)接口和结构化层次结构中的模块交互构建的。层次结构由功能层组成,testbench 的中心是...

2021-08-17 20:07:00 803

原创 UVM_COOKBOOK学习【UVM基础】

这一部分主要介绍一些UVM的基础知识,其实《UVM实战》中已经有了足够的涉猎。所以这一章着重加注一些UVM的使用哲学探讨。Testbench基础UVM采用分层的、面向对象的方法进行testbench开发,允许在不同的团队成员之间进行“关注点分离”。UVM testbench中的每个组件都有特定的用途,以及和testbench其余部分的接口,以提高生产力并促进重用。把这些组件加入到test...

2021-08-07 23:26:00 1714

原创 UVM实用技巧【二】

等待硬件事件虽然通常driver会负责正常的硬件同步,但sequence运行过程中可能需要与硬件事件同步,例如边界信号的转换或复位事件的结束。 不应该去修改driver然后为sequence_item添加一个新的字段,而是建议在包含指向virtual interface的指针的配置对象中实现 wait_for_hardware_event 方法。举个例子,可以利用一个配置类,内含虚接口,传递...

2021-08-04 22:40:00 401

原创 UVM实用技巧【一】

今天介绍几个UVM中较为实用的函数,在能够辅助大家调试环境。打印环境拓扑结构有时候,我们可能由于某些原因,组件可能层次安排不对,或者组件没有create,但是自己却没有注意到。或者我们想要看看环境的整体结构,那么就能用方法uvm_top.print_topology()打印整个拓扑结构。它的函数原型是function void print_topology ( uvm_prin...

2021-08-01 18:16:00 1772

原创 【摸鱼范式】【一】UVM入门教程【文字版】

视频版:https://www.bilibili.com/video/av839767912课程前准备建议准备仿真软件,熟悉VCS的同学可以直接使用VCS,不熟悉的同学建议直接再win平台的Questa就行了。使用Questa前期不用打开GUI,不需要看波形,questa的图形界面还是有点卡的。首先来看第一节课的代码module lab1 (); import uvm_pkg::...

2021-04-27 22:13:00 2151 1

原创 第一次运行svlib

第一次运行svlibsvlib是一个开源systemverilog的库,拓展了字符串和正则特性,链接是https://github.com/recogni/svlib最近在翻译它的文档svlib_test.sv:module svlib_test ();import svlib_pkg::*;Str str_test;initial begin str_test=Str...

2021-04-22 19:18:00 251

原创 svlib文档翻译(第五章)

中文版由空白的贝塔君整理发布第五章 字符串处理SystemVerilog语言本身提供了许多字符串操作。然而,经验表明,内置方法不足以满足工作中的字符串处理任务,svlib提供了进一步的操作集来帮助满足这些需求。在大多数情况下,字符串操作有两种不同的形式,用户可以自由选择更适合自己需要的形式。第一种形式是关于字符串变量的简单函数,通常(但不总是)返回字符串结果。这些函数在svlib包...

2021-04-22 19:17:00 236

原创 svlib文档翻译(第一至四章)

中文版首发由空白的贝塔君整理发布第一章 关于本文档1.1 概要本文档是对systemverilog使用库svlib的说明和编程指导。1.2 版本信息版本号日期作者说明0.02014.02.10J BromleyInitial release for discussion0.12014.02.23J BromleyWorking towards...

2021-04-22 19:15:00 251

原创 【三】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

【三】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

2021-03-02 10:32:00 134

原创 【二】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

【二】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

2021-03-02 10:01:00 132

原创 【一】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

【一】基于Montgomery算法的高速、可配置RSA密码IP核硬件设计系列

2021-02-28 14:55:00 132

原创 【PDF】静态时序分析圣经翻译计划

完结撒花独立文章请点击下面链接静态时序分析圣经翻译计划关注微信公众号摸鱼范式,后台回复STA获取【汉化】Static Timing Analysis for Nanometer Designs A Practical Approach PDF度盘链接...

2021-01-27 12:16:00 1028

原创 【附录C SPEF】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本附录将介绍标准寄生参数提取格式(SPEF),它是IEEE Std 1481标准的一部分。C.1 基础SPEF允许以ASCII交换格式描述设计的寄生信息(R,L和C)。用户可以读取和检查SPEF文件中的值,尽管用户永远不会手动创建此文件。它主要用于将寄...

2021-01-24 21:04:00 693

原创 【附录B:SDF 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19B.4 映射示例以下是将SDF结构映射到VHDL泛型(generic)和Verilog HDL声明(declaration)的示例。传播延迟从输入端口A到输出端口Y的传播延迟:上升时间为0.406,下降时间为0.339:从输入端口OE到输出端口...

2021-01-22 17:09:00 264

原创 【附录B:SDF 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本附录将介绍标准延迟标注格式,并说明了如何在仿真中执行反标。延迟格式描述了设计网表的单元延迟和互连走线延迟,无论设计是用两种主要硬件描述语言(VHDL或Verilog HDL)中的哪一种所描述的。本章还会介绍仿真的反标(backannotation),...

2021-01-20 15:53:00 1438 2

原创 【附录A SDC】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本附录将介绍1.7版本的SDC格式,此格式主要用于指定设计的时序约束。它不包含任何特定工具的命令,例如链接(link)和编译(compile)。它是一个文本文件,可以手写或由程序创建,并由程序读取。某些SDC命令仅适用于实现(implementation)或...

2021-01-19 21:20:00 1221

原创 【第十章 鲁棒性检查 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-1910.9 统计静态时序分析到目前为止介绍的静态时序分析技术是确定性的,因为分析基于的是设计中所有时序弧的固定延迟。每个时序弧的延迟都是根据工作条件以及工艺和互连模型计算得出的,尽管可能存在多个模式和多个角,但给定情况下的时序路径延迟是可以明确获得的。实际上...

2021-01-18 10:35:00 383

原创 【第十章 鲁棒性检查 中】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-1910.5 时钟门控检查当一个门控信号(gating signal)可以控制逻辑单元中时钟信号(clock signal)的路径时,将会执行时钟门控检查(clock gating check),一个示例如图10-10所示。逻辑单元与时钟相连的引脚称为时钟引脚(...

2021-01-17 15:45:00 700

原创 【第十章 鲁棒性检查 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节将介绍特殊的STA分析,例如时间借用(time borrowing)、时钟门控(clock gating)和非时序(non-sequential)检查。此外,还介绍了高级STA概念,例如片上变化(on-chip variation)、统计时序(stat...

2021-01-15 20:26:00 802

原创 【第九章 接口分析 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-199.3 DDR SDRAM接口DDR SDRAM接口可以看作是上一节中所介绍的SRAM接口的一种扩展。就像SRAM接口一样,有两条主要的总线,图9-9说明了DUA和SDRAM之间的总线及其方向。由命令、地址和控制引脚(通常称为CAC)组成的第一条总线将使用以...

2021-01-14 15:37:00 398

原创 【第九章 接口分析 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节将介绍各种类型输入和输出路径的时序分析过程以及几种常用的接口,还介绍了特殊接口(例如SRAM)的时序分析和源同步接口(例如DDR SDRAM)的时序分析。9.1 IO接口本小节中的示例说明了该如何定义DUA输入和输出接口的约束。后面的小节介绍了S...

2021-01-12 21:12:00 406

原创 【第八章 时序检查 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-198.9 举例在本节中,我们将介绍发起和捕获时钟的不同情况,并分别说明如何执行建立时间和保持时间检查。图8-28为所举例子的示意图:半周期路径——情况1在此示例中,两个时钟具有相同的周期,但相位相反。以下是时钟定义,其波形如图8-29所示。crea...

2021-01-11 15:41:00 340

原创 【第八章 时序检查 中】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-198.3 多周期路径在某些情况下,两个触发器之间的数据路径可能需要一个以上的时钟周期才能传播通过逻辑。在这种情况下,这条组合逻辑路径会被定义为多周期路径(multicycle path)。虽然数据还是会在每个时钟沿上都被捕获触发器捕获,但我们需要告知STA在指...

2021-01-11 15:18:00 826

原创 【第八章 时序检查 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节将介绍静态时序分析所执行的一部分检查,这些检查旨在详尽地验证待分析设计的时序。两项主要的检查是建立时间和保持时间检查。一旦在触发器的时钟引脚上定义了时钟,便会自动推断出该触发器的建立时间和保持时间检查。时序检查通常会在多个条件下执行,包括最差情...

2020-12-30 14:26:00 1744

原创 【第七章 配置STA环境 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-197.8 设计规则检查STA中两个常用的设计规则是最大过渡时间-max_transition和最大电容-max_capacitance。这些规则将会检查设计中的所有端口和引脚是否满足过渡时间和电容的规定约束。这些规则可以使用以下命令指定:set_max_...

2020-12-30 14:23:00 1204

原创 【第七章 配置STA环境 中】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-197.4 约束输入路径本节将介绍输入路径的约束。这里需要注意的一点是,STA无法检查不受约束的路径上的任何时序,因此需要约束所有路径以进行时序分析。在后面的章节中会介绍一些示例,其中一些示例可能并不关心某些逻辑,因而这些输入路径可能可以不用约束。例如,设计人员...

2020-12-18 16:14:00 702 1

原创 【第七章 配置STA环境 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍了如何为静态时序分析配置环境。正确的约束对于分析STA结果很重要,只有准确指定设计环境,STA分析才能够识别出设计中的所有时序问题。STA的准备工作包括设置时钟、指定IO时序特性以及指定伪路径和多周期路径。在继续学习下一章的时序验证之前,请务...

2020-12-14 10:31:00 807

原创 【第六章:串扰噪声 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-196.3 串扰延迟分析6.3.1 基础纳米设计中典型网络的电容提取包括许多相邻网络的影响,其中一些是接地电容,而其它一些则来自其它信号网络的一部分走线。接地电容和信号间电容如图6-1所示。在基本延迟计算时(不考虑任何串扰),所有这些电容均被视为网络总电容的一...

2020-12-11 15:24:00 768

原创 【第六章:串扰噪声 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍了纳米技术中ASIC的信号完整性(signal integrity)。在深亚微米(submicron)技术中,串扰(crosstalk)在设计的信号完整性中起着重要作用,串扰噪声是指两个或多个信号之间无意间的耦合。相关的噪声和串扰分析技术,即...

2020-11-29 19:09:00 1068

原创 【第五章: 延迟计算 下】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-195.4 压摆合并当多个压摆到达一个公共点时(例如在多输入单元的情况下)会发生什么呢?这种公共点称为压摆合并点(slew merge point)。 选择哪个压摆在压摆合并点处继续向下传播呢?考虑图5-10所示的2输入单元:由于引脚A上的信号改变,引脚Z上...

2020-11-28 16:36:00 698

原创 【第五章: 延迟计算 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍了用于布局前后时序验证的基于单元(cell-based)的设计的延迟计算(delay calculation)。前几章重点介绍了对互连线和单元库的建模,单元和互连线建模技术可用于获得设计的时序信息。5.1 概述5.1.1 延迟计算基础...

2020-11-27 16:25:00 1306

原创 (今日迷惑)systemverilog定义数组时,定义方法不一致导致的错误

今日迷惑我定义了一个类class sdata; bit [255:0] data [2048]; rand int data_t [2048][32]; rand bit mask [2048][32]; bit flag; constraint c { foreach (data_t[i,j]) data_t[i][j]<...

2020-11-25 22:18:00 315 1

原创 【第四章:互联寄生 下】静态时序分析圣经翻译计划

4.3 提取所得寄生参数的表示方法从布局(layout)中提取的寄生参数可以用三种格式描述:详尽的寄生参数格式 :Detailed Standard Parasitic Format(DSPF)精简的寄生参数格式 :Reduced Standard Parasitic Format(RSPF)标准的寄生参数格式 :Standard Parasitic Extraction Fo...

2020-11-25 10:44:00 680

原创 通过字符串访问generate模块内部的变量

动机今天一个朋友问了这样一个问题失败原因首先介绍一下generate的用法,generate用于减少verilog的重复语句,批量进行操作。虽然0202年了,综合工具对于for的支持已经很好了,但是使用generate进行for循环,不仅可以实现普通的变量赋值,还可以批量生成assign或者always语句,它的作用实际上和宏定义是一样的,直接将代码展开举个例子,我有两个数组...

2020-11-20 22:44:00 402

原创 【第四章:互联寄生 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍用于处理和表示互连寄生(interconnect parasitics)现象的各种技术,以验证设计的时序。在数字设计中,将标准单元或块(block)的引脚连接在一起的线(wire)称为网络(net)。网络通常只有一个驱动,但它可以驱动多个扇出...

2020-11-15 21:58:00 582

空空如也

空空如也

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

TA关注的人

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