verdi merge fsdb出现信号冲突的解决办法

Verdi 使用教程(持续更新中) Verdi 基础教程 技术背景 在Design Flow中,有各种各样的Debug情景,我们也会花费大量的时间去Debug。但是在这个过程中会遇到各种各样的瓶颈,这会对Debug的效率造成影响。最直观的例子就是复杂的设计。无论是对设计的直观理解,还是设计多样化behavior所造成的Increase condition、design cause和effect scenarios,以及多Team的环... 阅读详情

历史内容合集

前段时间介绍了verdi用 Edit Virtual File的方式把几个fsdb文件merge起来的方法

由于当时实验的时候只用了两个小的fsdb文件,每个fsdb文件中包含的信号量也比较少,所以并没有发现问题

我是用 Edit Virtual FIle把dump不同hier的fsdb文件merge到一起,当在实际项目中,每个fsdb文件中的信号都比较多,于是拉信号时就出现了下面这个问题

原因是在实际项目中,难以避免有些信号是同名的,而且在我的使用方式下,dump的时间范围又都是一致的,于是verdi就认为这是有问题的

(PS:如果每个fsdb文件的时间范围不一样,不会出现这个问题)

猜测verdi既然推出这个功能,便应该考虑到这个问题,于是去官网翻看user guide,发现了这句话

verdi给生成的virtual file提供了两种 FileType

  • stitch:相同的信号会merge起来
  • split:即便信号名一样也不会merge

打开生成的Virtual File,默认的FileType是stitch(第6行),而且文档有说明FileType是可以修改的

于是抱着试试的想法,把FileType改成split,其他暂时不动,修改成如下的样子(第6行的stitch改成split)

在verdi中重新load这份virtual file,可以成功拉出波形,效果如下

至此,merge相同时间段,但hier不同的fsdb问题算是解决了

插两段题外话

  1. 文档有说还可以修改filelist,也就是virtual file文档中的 File1、File2,那么如果有后续的fsdb文件,应该不需要在通过verdi的 Edit Virtual File窗口重新生成的,直接在后面累加File2、File3。。。就可以,当然要注意格式(大小写、空格等)
  2. 既然virtual file的格式如此统一,是不是可以直接仿照这个内容自己写出virtual file呢?这个问题还没有试过,猜测是可行的
[TOOLS] 解决Verdi 无法打开部分波形 使用Verdi dump waveform经常会遇到部分信号无法打开,可尝试一下办法: 1. 查看filelist中是否加入-v ,如果加入-v 则把他删除; 2. 如果去掉-v 后仍然无法打开信号, 编译选项加入 -debug_access,-debug_region=cell+lib; 也可以把-debug_access+all换成-debug_all试试,两者的区别如下: 查看是否存在+nocelldefinepli+,如果有则删除; +nocelld... 阅读详情

相关推荐

Cadence Xrun仿真调试与波形查看全攻略:从Makefile集成Verdi到Indago

本文详细介绍了Cadence Xrun仿真调试与波形查看的全流程,包括Makefile集成Verdi和Indago的配置与使用技巧。通过UVM验证环境下的实战案例,帮助工程师掌握波形查看、覆盖率分析和交互式调试的核心方法,提升数字芯片验证效率。

awxj68104的博客 476

【原】fsdb merge

https://solvnet.synopsys.com/dow_retrieve/P-2019.09/verdi/verdi_olh/index.htm#page/Verdi_CR/Utilities.27.40.htm

Weixin20210210 4139

基于Makefile的ncverilog与finesim混合仿真流程及fsdb波形调试

数字模拟混合仿真涉及两种异构仿真器的协同工作:数字逻辑用ncverilog这类事件驱动引擎高效编译,模拟网表靠finesim做矩阵求解与瞬态分析,二者各自擅长不同领域,却需要统一的数据通道才能联合调试。Makefile作为流程编排工具,可清晰管理编译、仿真、波形导出与清理,让复杂环境一键可复现。fsdb作为一种高压缩、带层次信号的波形格式,能将数字侧PLI导出和模拟侧原生输出汇聚到Verdi中统一分析,大幅提升调试效率。在ADC、DAC、上电复位等数模混合验证场景中,合理设计目录结构、依赖关系和参数覆盖机制

weixin_33937499的博客 386

怎样合并fsdb波形文件

合并FSDB(Fast Signal DataBase)波形文件通常使用`fsdbmerge`工具,这是Verdi调试环境的一部分,由SpringSoft(现在是Cadence的一部分)提供。4. **执行命令后**,`fsdbmerge`将会读取所有指定的输入文件,并将它们合并到一个输出文件中。- `input1.fsdb`, `input2.fsdb`, ... 是你想要合并的所有输入FSDB文件。2. **定位到包含FSDB文件的目录**,或者准备好所有需要合并的FSDB文件的完整路径。

weixin_42452042的博客 2348

Cadence Xrun仿真环境搭建避坑指南:从UVM路径配置到覆盖率合并的完整流程

本文详细介绍了Cadence Xrun与UVM协同验证环境的搭建流程,涵盖UVM路径配置、编译选项优化、仿真运行技巧、覆盖率收集合并等关键环节。通过实战经验分享,帮助工程师避开常见陷阱,构建稳定高效的验证环境,特别适合数字芯片验证领域的开发者参考。

akpaul6677的博客 356

Cadence Xrun仿真环境配置避坑指南:从UVM路径设置到覆盖率合并的完整流程

本文详细介绍了Cadence Xrun仿真环境配置的关键步骤与常见问题解决方案,涵盖UVM路径设置、覆盖率合并及波形生成等核心环节。通过实用的Makefile配置示例和调试技巧,帮助工程师高效搭建稳定的验证环境,避免常见配置陷阱。特别针对UVM版本兼容性和覆盖率数据合并等难点提供专业指导。

akpaul6677的博客 383

verdi bin工具

verdi安装目录下会有很多小的工具:   1)波形类型转换类:fsdb2saif,fsdb2vcd,     log2fsdb(只能增加某些周期性信号,从log txt直接产生fsdb波形,适合于siloti的某些分析)     xml2fsdb     vpd2fsdb,vcd2fsdb;   2)fsdb的波形合并与抽取:fsdbextract,fsdbmerge;  ...

ahr7882的博客 1111

VCS与Modelsim仿真差异排查:从原理到一致性的工程实践

数字芯片仿真验证是确保电路设计功能正确的关键环节,其核心原理基于事件驱动模型和四值逻辑系统。不同仿真器对Verilog标准的实现差异可能导致同一RTL代码产生不同结果,这种不一致性会直接影响芯片设计的可靠性。在工程实践中,通过分析仿真精度、事件调度机制和条件编译等底层原理,可以定位VCS与Modelsim的差异根源。针对仿真器差异问题,需要建立统一的编译脚本、目录结构和参数配置体系,并利用波形对比工具进行自动化验证。本文通过实际案例,详细解析了仿真差异的排查方法论,并提供了从单次验证到回归测试的完整解决方案

weixin_34189116的博客 419

fsdb文件过大如何优化?数字IC验证波形存储精准Dump策略

在数字IC验证中,波形存储是调试的关键环节,但fsdb文件常因全量dump而急剧膨胀。其原理基于信号数量、仿真时长、翻转活动率和时间粒度,通过精准控制dump范围与时机,可大幅降低存储开销。技术价值在于提升仿真效率与磁盘利用率,应用场景涵盖模块级到系统级验证。本文分享从代码模板到Verdi配合的优化实践,帮助工程师实现高效波形记录。

weixin_34209851的博客 318

fsdb-开源

Fsdb通过跟踪更改目录来加速slocate数据库文件的创建,因此在更新数据库时执行的工作量要少得多。 更新速度大约是updatedb的60倍。

相机图像质量研究(22)常见问题总结:CMOS期间对成像的影响--光学串扰

光学串扰是一个比较难以理解的光学现象,实际影响往往不大。一、光学串扰产生的原因通常是入射角度太大,光线在不同通道之间产生了混叠二、光学串扰产生的现象光学串扰容易导致迷宫纹。总结本节讲了光学串扰产生的原因,现象。

xiaoshixiu的专栏 1573

VCS覆盖率分析全攻略:类型、命令、合并与收敛实战

芯片验证中,覆盖率是衡量验证充分性的核心指标,也是流片前质量评估的重要依据。覆盖率通常分为代码覆盖率、功能覆盖率与断言覆盖率三类:代码覆盖率反映RTL代码被执行的程度,功能覆盖率通过covergroup等结构验证设计意图,断言覆盖率则检查时序协议的触发情况,三者结合才能形成立体的验证闭环。在数字IC前端验证流程中,VCS作为主流仿真器,提供了从编译选项、仿真收集到报告生成与回归合并的完整工具链,配合Verdi可视化标注未覆盖代码,可显著提升覆盖率分析和调试效率。实际项目中,合理规划覆盖类型、统一回归脚本、善

weixin_34269583的博客 413

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

VCS覆盖率完全指南:从插桩到收敛的实战方法

覆盖率是数字IC验证中衡量测试完备性的核心量化指标,它通过统计代码执行、分支跳转、信号翻转及功能场景触发情况,帮助验证工程师定位激励盲区并驱动回归收敛。在EDA验证流程中,VCS作为主流仿真工具,提供行覆盖率、条件覆盖率、状态机覆盖率及功能覆盖率等多维度的采集能力,其配套的urg报告与Verdi联合调试分析,构成了覆盖率驱动验证(CDV)的关键技术闭环。实际工程中,工程师需要掌握编译插桩选项、仿真数据管理、多批次回归结果合并,以及通过covergroup和SVA断言构造功能覆盖点的技巧。面对不可达代码排除、

weixin_34082695的博客 373

Paddle账户与支付宝功能快速开通指南:全球化支付解决方案

本文为开发者提供了Paddle账户与支付宝功能集成的详细开通与配置指南。通过Paddle这一全球化支付与销售平台,开发者可一站式管理全球支付与税务合规,而集成支付宝则能无缝覆盖中国用户,实现“一个平台,覆盖全球主流支付方式”,有效提升支付转化率与收款效率。

qq_27496129的博客 1121

从注册到投稿:一步步教你完成KBS期刊的在线投稿流程(最新版)

本文详细介绍了如何完成KBS期刊的在线投稿流程,从账号注册到最终提交的全过程。特别针对初次使用Elsevier投稿系统的研究者,提供最新版系统的操作指南,包括投稿要求、文件格式、作者信息管理等关键步骤,帮助研究者顺利投稿至这一人工智能领域的知名期刊。

egg99的博客 1602

【转载】verdi方法fsdbreport将fsdb的某个信号值抽出为可读文件 及波形转换,合并,修改工具

1.fsdbreport可以将fsdb的某个信号值抽出 该功能在波形比较的时候有大用。举例: 这个命令是将psel==1&penable==1&pwrite==0&pready==1时对应的prdata数据写到tmp_prdata.txt文件中,可以不加-exp条件,直接写出prdata数据,注意这个数据只在跳变的时候写出 -w 32是指定prdata的位宽 -bt :begin time -et:end time 以上可以设置dump的开始结束时间,有时我们只需要某个时

如切如磋,如琢如磨。 6881

VHDL按键消抖(状态机版本)

检测下降沿:设置一个和,分别代表之前的之前和之前的信号状态,若两个信号key_in_d2=1,key_in_d1=0,他俩的not key_in_d2 and key_in_d1为1,则说明下降沿产生,把它设置为标志位key_flag。延时计数:50MHz的板子每次计数需要20ns,而抖动时间大约为5-10ms。所以取7ms,作为延时时间。可以看见当检测到下降沿时,开始计数计数计满再次检测,若为低电平则为按下按键,否则为抖动。通过检测下降沿来临,延时计数再次检测,如果为低电平则为按键按下。

qq_69639216的博客 1084

verdi方法fsdbreport将fsdb的某个信号值抽出为可读文件 及波形转换,合并,修改工具,Verdi培训整理笔记

目录 1.fsdbreport可以将fsdb的某个信号值抽出 2.fsdbreport manual 3.其他使用工具 0.Verdi培训整理笔记 文档记录在个人百度网盘 1.fsdbreport可以将fsdb的某个信号值抽出 该功能在波形比较的时候有大用。举例: 这个命令是将psel==1&penable==1&pwrite==0&pready==...

cy413026的博客 3万+

手把手教你用Pytorch代码实现Transformer模型(超详细的代码解读)

本文整理了非常清楚的Transformer模型结构图,建议大家在看代码的时候能结合这个结构图来理解,这样理解起来会比较容易! 用Pytorch实现Transformer的完整代码

捡起一束光的博客 7万+

Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4825

fsdb和vpd格式波形生成并查看

fsdb和vpd格式波形生成并查看fsdb格式 fsdb格式 tb文件里添加

qq_37960317的博客 8018

从零构建法律案例数据库:Python爬虫实战与法律文本挖掘全攻略

在当今数字化浪潮席卷全球的背景下,法律行业正经历着前所未有的变革。法律案例数据库作为法律大数据的重要组成部分,已经成为法律从业者、研究人员、法学院学生乃至企业法务部门的必备工具。然而,商业法律数据库如北大法宝、威科先行、LexisNexis等往往价格不菲,且数据访问受限。对于个人研究者或小型机构而言,构建一个定制化的法律案例数据库不仅能节省成本,更能根据特定研究需求灵活调整数据结构。

2201_76125261的博客 539

Verdi波形调试全功能详解

Verdi的波形查看与分析功能是其核心调试能力的重要组成部分,主要通过工具实现。它不仅能显示仿真产生的波形,还集成了强大的信号追踪、比较、测量与可视化功能。以下是对其全部功能的详细总结,并以表格和代码示例进行结构化展示。

qq_43108684的博客 764

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Verdi详细使用总结

目录 一、Verdi简介 二、Verdi 使用目标 1.生成fsdb波形 三个变量 三个命令 两大方法 三大EDA厂商 2.查看fsdb波形和追踪RTL代码debug 一、Verdi简介 Verdi是一个功能强大的debug工具,可以配合不同的仿真软件进行debug,很多企业常用的就是VCS+Verdi的方式就行代码的仿真与检查。Verdi使用情形主要是IC验证工程师(Debug),IC设计工程师(Review)。 二、Verdi 使用目标 ...

yh13572438258的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【个人笔记】如何使用Verdi

打开verdi;表示后台工作;直接选择code文件;直接选择波形文件(不限fsdb格式)文件,从而不需要进入verdi后手动选择;-simflow让verdi使用vcs仿真产生的kdb库(默认是手动指定kdb库文件名;chiron.vchiron.v打开波形文件(./run以后会自动生成,每生成说明./bld错了).fsdb文件;run文件里生成波形的要点代码因为 10000000 其实完全不够,看到的信号都是X,你还不知道为什么 (ㄒoㄒ) … 血与泪的教训啊家人们!若run里的。

Hide_in_Code 3460

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: verdi技巧分享--合并多个fsdb文件、统计信号边沿
下一篇: post sim下如何将timing信息反标到仿真工具
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值