- 博客(263)
- 资源 (2)
- 收藏
- 关注
原创 时钟抖动,简单区分period jitter,long term jitter,ppm
这个网址讲得很好,包含了意义和测试方法:utm_id=0。
2023-07-22 10:54:38
3717
原创 verilog UDP原语描述。clkgate坑
clkgate.EN,如果clkgate是stdcell实现,跑rtl或者pregsim without sdf时,会有仿真异常。clkgate.EN为1,但是clkgate.Q没有时钟输出。– 解决办法:咨询stdcell vendor。比如加宏定义VIRL_functiononly等。– 原因:没有找到,看波形是不符合UDP原语描述的。
2023-04-08 17:09:31
894
原创 pt check_timing PTE-074,找不到需要的上升沿。一种是时钟没定义好,周期值没有;一种是时钟被门控了;还有一种是D端口是常值,导致没有正常的时序路径可以分析。
题目就是摘要
2022-12-03 11:43:36
1063
2
原创 dc综合报告wand,vc spyglass lint工具不报告W145多驱动。原因是什么?
解决方法:根据dc check_design,找到多驱动的点,比如LINK-67/LINT-4/LINT-54/LINT-31等,都是指定到了n1487常值信号线上。另外,dc工具,会在某层次,认为1’b0是n1487信号线;dc check_design报告里,会提醒多驱动,连接到了n1487信号线上。因为vc spyglass lint对unload的信号,会不报告W145多驱动。
2022-09-19 17:46:50
1232
原创 什么是fail safe IO
普通IO cell,内置二极管用作ESD保护。考虑一种应用场景,当芯片只有部分上电的时候。芯片部分IO,是断开电源。如果芯片IO外接设备,输入给芯片高电平,会导致二极管导通,使得芯片内电源异常升压;即芯片内电源不是0v,而是3.3-0.7(二极管压降)=2.6v。这种情况,会导致芯片所在PCB板,发生异常情况概率加大,因为PCB板电源不符合期望。方法一:IO采用fail safe,解决此类芯片部分断电导致的IO电源倒灌问题。方法二:如果IO不带fail safe,需要考虑PCB板做好IO相连设备的一起
2022-07-06 09:13:09
5354
原创 gvim创建菜单、创建快捷键、实现emacs verilog-mode三种常见命令
gvim下实现emacs verilog-mode indent/auto操作。
2022-05-15 13:54:59
1372
1
原创 AHB接口总线仲裁1主多从细节。关于hready in和hready out信号的理解
所有slaver,只要有1个hready_out等于0,表示slaver没有准备好执行此拍操作;这时,所有slaver都不能执行此拍操作。以防止1主多从的AHB接口协议问题。所有slaver的hreadyout,需要与之后,提供给所有slaver。作为总线,会负责AHB的hready_out仲裁。这应该是ahb总线的一个bug。后续解决方案,就这么流传下来了。但是arm自己不承认是bug,所以协议文档里介绍的不清不楚。记得是知乎里看到的说法。参考:https://blog.youkuaiyun.com..
2022-01-28 09:10:39
2458
转载 svn update冲突解决
第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用—accept参数作为冲突处理方式–accept ARG : specify automatic conflict resolution action(‘postpone’, ‘base’, ‘mine-conflict’,‘theirs-conflict’, ‘mine-full’, ‘theirs-full’,‘edit’, ‘launch’)§ postpone – ma
2022-01-04 09:32:41
5164
原创 upf模板,来自synopsys rm golden.upf
################################################################################################################################################################### Example 2: UPF using domain dependent supply nets.#######################################
2021-12-28 16:01:22
3895
1
转载 SSH 三步解决免密登录
SSH 三步解决免密登录1.客户端生成公私钥2.上传公钥到服务器3.测试免密登录1.客户端生成公私钥本地客户端生成公私钥:(一路回车默认即可)ssh-keygen1上面这个命令会在用户目录.ssh文件夹下创建公私钥cd ~/.ssh1ls1下创建两个密钥:id_rsa (私钥)id_rsa.pub (公钥)2.上传公钥到服务器这里测试用的服务器地址为:192.168.235.22用户为:rootssh-copy-id -i ~/.ssh/id_rsa.pub root@
2021-12-05 13:32:04
663
原创 手机搭建linux系统,ssh实现局域网访问等
termux简介Termux 是运行在 Android 上的 terminal。不需要root,运行于内部存储(不在SD卡上)。自带了一个包管理器,可以安装许多现代化的开发和系统维护工具。比如:neovimtmuxzshclanggccweechatirssi…官网下载,然后更换清华镜像源网站:https://mirrors.tuna.tsinghua.edu.cn/help/termux/官网下载termux app后,pkg install openssh提示error,更换
2021-12-05 10:16:58
3625
转载 无毛刺时钟切换电路
参考文件:防止毛刺的时钟切换电路的设计思想https://mp.weixin.qq.com/s/jKrfWzFnM5NWUbzJhFU2wA
2021-12-02 16:50:29
2656
1
原创 时钟分频的几个细节理解
时钟分频原理简单。但需要注意几个细节。计数器分频,是基于源时钟div2/4/8/16/32/64。如果基于分频器串联,那么需要定义很多分频时钟,提升sdc时钟定义的复杂性。计数器分频,要注意所有div2/4/8/16/32/64,需要保证同相位。这样才能方便sdc,正确定义分频时钟和源时钟的相位关系。遇到一些设计,采用门控EN,实现时钟分频。这是FPGA设计经验,“在FPGA的设计中,分频时钟和源时钟的skew不容易控制,难以保证分频时钟和源时钟同相。故此推荐采用使用时钟使能的方法”。在asi
2021-11-27 20:57:14
2527
原创 芯片跨时钟域同步,即异步处理的理解
网上有一套资料Clifford E. Cummings论文合集,还不错。以下是临时想到的亚稳态就是时序违反的后果,异步信号肯定有时序违反可能。单bit 源时钟域打一拍,目的时钟域打两拍或者更多拍多bit fifo方法,原理是格雷码指针判断空满,深入了解,可以分析一下源目的时钟分别是快或慢的情况。架构简单,设计review快,质量可靠。所有异步处理机制,都多想一下。源目的时钟分别是快或慢的情况下,相应同步机制是否靠谱。别出现丢失和多采情况。握手实现同步,不是一拍完成的,所以很影响数据传输效率。
2021-11-27 07:34:15
5500
1
原创 jitter概念理解
一般,PLL等时钟产生模块,都会有RMS jitter的描述,根据这个参数,可以计算出相关时钟的clock jitter,方便设置综合sdc的时钟约束。jitter,即周期值发生左右随机性的变化。满足正态分布图。正态分布有两个参数期望值(平均值μ)。决定了正态分布图的位置。均方差(标准方差σ),反映了每个样本偏离期望值(一般是平均值)的程度。决定了正态分布图的形状。RMS jitter;正态分布的均方差,即标准方差。峰峰值抖动(peak-to-peak jitter,统计样本里,最大周
2021-11-22 09:26:19
17670
1
原创 antlr4 Verilog2001.g4
➜ verilog which antlr4 antlr4: aliased to java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool➜ verilog which grungrun: aliased to java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.
2021-10-07 22:37:11
513
2
原创 set_disable_timing和set_data_check,相关一条efuse时序违反路径的梳理。
set_disable_timing一般是要求一个lib cell,例如set_disable_timing -from cell.输入 -to cell.输出。datacheck,类似AEN当时钟,RDEN当数据,两个数据信号检查setup路径时序。如果report_timing这条时序路径的时候,应该是-from AEN -to RDEN,类似-from clk_xx -to dff_cell.Dset_disable_timing要求必须有-from和-to,成对出现。如果只set_disab..
2021-10-06 10:20:46
3737
4
转载 时序约束之 set_max_delay / set_min_delay
下文参考xilinx ug903文档。set_max_delay 用于覆盖默认的setup(recovery)约束。set_min_delay 用于覆盖默认的hold(removal)约束。语法格式:set_max_delay [-datapath_only] [-from <node_list>][-to <node_list>] [-through <node_list>]set_min_delay [-from <node_list>]
2021-10-06 09:30:34
4995
原创 makefile的一些技巧总结
1. 运行目录存在相同名称文件或文件目录,比如log,则make log报错在makefile开头加入.PHONY : log2. 默认命令,需要遵循Makefile语法+/bin/sh语法2.1 /bin/sh语法,需要反斜杠,保证一行执行完成2.2 makefile和/bin/sh的变量定义方法不一样,临时变量推荐以shell变量定义方式举例,比如makefile的变量叫${run_path};/bin/sh的变量定义叫$$PASS_LOG2.3 makefile命令要求 必须以表格
2021-09-19 17:49:49
1012
转载 logical exclusive 与 physical exclusive 的区别
数字电路中一般会有多个clock,这些clock 相互之间有些是同步的,需要做 timing check 的,有些是异步的,不需要做 timing check 的,还有些是互斥的,需要 exclude 掉的,这些关系就需要在 sdc 中声明出来,告诉工具哪些需要 check, 哪些不需要。sdc 中的命令 set_clock_group 就是用来声明 clock 之间的关系,具体用法如下:异步时钟,不做 timing check比如在下图这个电路中,如果 C1 和 C2 这两个 clock 是异步
2021-08-27 19:30:53
6207
2
转载 set_false_path 与 set_disable_timing 的区别
在静态时序分析中, set_false_path 和 set_disable_timing 都可以用来设置 timing exceptions,告诉工具忽略某些特定的path,但是在使用过程中,这两个命令又有些细微的区别。set_false_path 是用来设置 timing path,表示不用 check 这些 path 的 timing,但是依然会去计算这些 path 上的delayset_disable_timing 是用来设置 timing arc,表示打断这条时序弧,不去计算这段时序弧的 de
2021-08-27 19:28:30
9862
原创 Mac os操作系统,git status中文文件名显示乱码的解决办法
git config --global core.quotepath false
2021-08-13 17:51:00
513
原创 芯片开发语言的简单区别介绍。Verilog、VHDL、System Verilog、SystemC、Matlab、C/C++等
芯片开发语言的简单区别介绍芯片设计前端的流程很长,和芯片前端相关的语言也很多,比如Verilog、VHDL、System Verilog、SystemC、Matlab、C/C++等等,但没有一个语言能够做到适合于整个前端流程;每种语言都有适合使用的领域,只有在整个前端流程的不同节点上选择最合适的语言工具,并加以整合,才能加速产品开发。注:本图引用自《SystemC: From the Groud Up》如上图所示,它显示了各种语言工具适合使用的场所,其中:Verilog、VHDL主要用于RTL建
2021-08-04 09:45:31
11779
原创 emmc,sd,tf,flash等各种存储卡的特点和区别
现在手机常用的,应该是emmc,即内部存储介质是nand flash。ufs比emmc,读写速度要快一倍;两者关系犹如固定硬盘相比机械硬盘。
2021-07-30 14:02:42
20402
转载 IPTV、DVB、OTT的区别
————————————————版权声明:本文为优快云博主「厦门-阮少茂-CDN」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/fhzm2010/article/details/21391793...
2021-07-28 11:16:47
1115
原创 mac os操作系统如何降级
降级方法哔哩哔哩视频有相关讲解方法。一种是U盘启动方法:去app store下载相应版本操作系统(速度快);或者百度云(速度慢)做U盘启动盘;重启,键盘按住option键,抹掉硬盘数据;然后执行安装系统;过半个小时以上,完成安装。还有一种是直接网络安装:5. 重启。键盘按住Command (⌘) + R重新安装您的 Mac 上装有的最新 macOS。【经试验,可行】Option + ⌘ + R升级到与您的 Mac 兼容的最新 macOS。Shift + Option + ⌘ + R
2021-07-14 15:46:29
6629
原创 word 项目符号(或称之为无序编号),默认,可以采用星号加空格方式实现。
项目符号和编号个人理解,项目符号是 无序编号;编号是 有序编号;设置方式文件–>选项–>校对–>自动更正选项–>看下图红框位置
2021-07-14 15:33:49
1581
转载 全数字锁相环的研究与设计
参考文档:http://www.doc88.com/p-4364928925689.html 一篇硕士学位论文《全数字锁相环的研究与设计》。https://www.docin.com/p-1390623327.html 《基于延迟锁定环的TDC的设计》注意点:数控振荡器,采用DCO方案。数字鉴相器,采用TDC结构。...
2021-07-02 18:02:18
1043
1
转载 PLL电路原理
转载来自:https://blog.youkuaiyun.com/leoufung/article/details/50268031注意点:fr和fo频率比较,fr相对频率较高,则产生正脉冲;fo相对频率较高,则产生负脉冲。
2021-07-02 17:47:41
783
转载 DDR SDRAM的内部结构Cell Structure(预充电+刷新)
以上图Cell0为例子读过程1—首先关闭所有字线,W0,W1…Wn。让所有FET均不导通。2—然后将位线B0通过预充电开关Precharge(图中未画出)拉到Vcc/2,即VB0=Vcc/2。(这个操作就是预充电Precharge)3—再断开预充电开关Precharge Switch,停止充电。4—将W0置为高电平Vcc,此时Cell0的FET导通。如果原来存储的是1,Cbit电压大于VB0,那么Cbit会对字线B0充电,使得VB0>Vcc/2,此时VB0经过放大器Sense AMP...
2021-04-09 10:42:03
5617
原创 DDR基础知识点汇总
参考文章:土老冒谈硬件 深度解析DDR3内存新特性SDRAM最开始是时钟下降沿采样,数据传输速率和频率是1:1关系,即一个周期可传输1bit数据;DDR1,采用时钟双边沿采样,即上升沿、下降沿都采样。一个时钟周期可传输2bit数据,这个时候,就叫预取2bit技术了(因为一拍需要预取2bit数据)。可知预取2bit技术的基础,就是双边沿采样。DDR2,预取4bit。DDR3,预取8bit。举例,DDR3-800内存的存储核心频率其实仅有100MHz,其输入/输出时钟频率为400MHz,利用双边沿采
2021-03-30 15:40:28
15371
3
转载 图解RAM结构与原理,系统内存的Channel、Chip与Bank
文章目录标题挥发性内存分2种,SRAM和DRAM主内存子系统channel 和 DIMMrank 和 chipbank、row、column内存的读写方式越多越好,加速读写能力bank、rank、channel这些关于内存的名词是否已困绕许久,疑似了解却又说不出个所以然来。 就让我们一步步拆解内存的面纱,从架构到读写方式逐步揭开内存的秘密。标题挥发性内存分2种,SRAM和DRAMRAM(Ramdom Access Memory)随机存取内存,之所以称作「随机存取」,是因为相较于早期的线性储存媒体(磁带
2021-03-30 09:58:16
18719
2
原创 usb2.0 ehci host controller 简单数据传输实例的步骤分析
慎入!!!理解不成熟,目的是简单了解usb2.0 ehci主控,其数据传输的执行过程。
2021-03-18 16:49:08
1133
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人