自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

竹海的博客

竹海和你在一起!

  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 (FE篇1)安卓button

本文研究对象主要为button。那么第一要创造button对象。如下所示:第二呢,就是我要看到啊,总不能是很抽象的玩意吧。那就是构造button图像实体。第三,要把这两者关联起来,才有用啊,要不你界面的实体按钮他就是摆设啊。关联方法如下:好了,关于button的构造过程结束了,现在我们需要让他动起来。说白了就是监听它要干啥。主要代码如下:上文你会觉得好像网上有很......

2018-03-11 17:47:58 252 1

原创 竹海设计:用systemverilog设计电路(杂谈)

以上是一个译码器,注意关键always_comb。

2018-02-28 23:44:33 1148

原创 lesson6------uvm基础索引

小编写本文就是为了方便查询UVM的基本组件。基本架构如下:利用uvm_top.print_topology()查看架构基本类框架如下:常用组件如下:verilog 想必做数字的工程师听起来不陌生吧。用verilog设计电路,效率相对较高,但是verilog 语言入门比较难。verilog语言仍有很多弊端。小编带领大家看一看verilog的变性人...

2018-02-25 17:22:12 821

原创 竹海杂谈2 ---------- 从零开始学电子

从离开时学电子,需要的的是工具,小编带领大家用multisim软件认识电子的基础。如下图为三极管最简单的电路,通过probe控件可以轻松的获取电流电压信息。比起来手算方便多了,但是这只是模拟,实际搭建电路需要认真思考。软件只能大致模拟,结果并不是非常准确的。深入学习BJT的电气特性,如下进行直流仿真。范围都是随便设计的。如果有问题,再去分析解决。好像完全不靠谱啊,我试着分析,是不是电压太大了,之前...

2018-02-17 12:47:59 471

原创 竹海码路(python篇6) 新手常见错误-

1ERRORS:app0.userModel.nameM: (fields.E120) CharFields must define a 'max_length' attribute.app0.userModel.passwordM: (fields.E120) CharFields must define a 'max_length' attribute.djiango模型必须有一些参数的定义...

2018-02-15 13:37:15 2616 1

原创 竹海杂谈:pspice的一个问题(新建库的问题)

有时候由于仿真的需要的,你必须新建库,建库你会遇到很多问题。小编带领大家看一下,常见问题!****************************************************************************************************************************1 假设你找了一个spice库,以mdl文件来说,...

2018-01-30 16:00:31 2732 2

原创 竹海码路(frontend篇3)---------- OOP跟我来

世界一切 归于尘土all is object两大杀手锏:对象 类三大武器:封装;继承;多态#!/usrself=Nonepython# -*- coding: utf-8 -*-# @File : people.py# @Author: wmy# @Date : 2018/1/21class Person: aera = '地球' def __i...

2018-01-21 23:14:41 219 1

原创 竹海设计:用黑金例子说如何快速分配引脚

如下图示;打开tool菜单选项,打开TCL Script 发现没法添加tcl引脚约束脚本,怎么办找到黑金开发板的自带约束脚本,添加路径到工程文件中,如下图所示:看到没 脚本可以看到,然后直接run就行了。我是以黑金举例子,实际来说,约束管脚最好写脚本,赛琳思可能扩展名不一样。脚本可以重复利用,便于移植。若有侵犯黑金,请海涵。这是提高开发效率的...

2017-12-15 12:55:08 749

原创 竹海杂谈3_2(文件系统系列) ---------- 从FAT16开始认识文件系统《专栏:寻找我的.doc》

go go go!step 1: 看看FAT是啥玩意先看天书,看不懂看以前关于DBR的文章今天要说的是FAT,因此我们要快点跑;先跑到0c00 地址,看一下有啥?哇字母好多啊!小编在此开始简介FAT。FAT : file allocation table。简单地说就是分配任务。举一个通俗的例子:现在要求做一顿饭,有人需要切菜,有人需要煮水

2017-12-05 19:37:43 301

原创 竹海杂谈5 ---------- ISE设计->(Gray与Binary的转换)

现代的数字设计中,考虑到实际应用要求,模块的时钟可能频率并不相同,跨时钟域这个比较令人痛疼的问题便油然而生了。为了满足建立时间和保持时间的要求,一种解决异步时钟域数据传送的时序违例方法出现了,采用FIFO来进行异步数据传送。FIFO中读写指针递增电路设计很重要,常规的利用二进制计数器的方法实现指针的递增会产生时序的违例。简单分析,若计数器从ff到00改变,时钟边沿在数据转换的中间时间区域内来到...

2017-12-01 17:17:53 1029

原创 HBM 读的那些事

那么问题来了,为什么HBM先规定RDQS和CK的关系,再去推到DQ和CK的关系,而HBM3,规定WDQS和RDQS的关系,作为出发点去推到DQ和CK的关系呢?原因,笔者认为,HBM的时候在RDQS和CK是同频,完全可以跳过研究WDQS和CK的关系,直接规定RDQS和CK的关系作为出发点,而HBM3时候,两者并不同频。当BL为4的时候,两笔读操作相差2T的时候,正好达到DQ的无缝连接,因为BL=4时候,DQ的传输需要2T。类推,那么如果是BL为2的时候,两笔读操作相差为T的时候,正好达到DQ的无缝连接。

2025-06-08 13:17:09 390

原创 HBM的那些事2 写操作

想一下这个地方为啥查了约1个tck,原因是在发送数据之前,一定要提前发送wdqs 2个周期,刚好wdqs的时钟是tck的2倍,因此约1个tck。如下图所示,规格中明确说了,可以通过训练的方式,让DQ的中心对其WDQS的边沿,那么这时候就没有这个tdqs2dq。WL : write latency,说的是命令到发送数据的WDQS的间隔,注意这里不包含twpre1的时间,通过配置MR1实现。关于写之后读操作,写之后precharge的操作,本篇不再赘述,感兴趣的可以阅读spec,笔者不才,若有错误,请纠正。

2025-06-02 11:23:48 230

原创 LPDDR的那些事1 (谈谈命令和数据的演进)

总结: LPDDR考虑到更多的是低功耗的原因,在命令的编码不是很直观。上文中仔细比较,发现LPDDR4代是采用的SDR的方式传输命令,为什么不采用DDR的方式呢?LPDDR4 引入了双通道独立的CA总线, 支持并行命令操作;LPDDR5 集成ODR, 减少外部电源噪声对DQ信号的干扰,提升高速传输的稳定性。LPDDR3 新增了CA training, 通过命令校准CA总线的时序偏移。如上图所示,本文谈谈LPDDR升级的过程中,在命令数据上的考量。LPDDR3引入了ODT, 减少了DQ信号的反射。

2025-05-10 15:14:28 189

原创 HBM的哪些事

本篇内容属于杂谈,关于HBM的奇淫技巧,随后出专题介绍。这也许是DDR往HBM演进的一些奇淫技巧。

2025-05-02 20:39:26 248

原创 DDR的那些事,lesson1

31 = 4+ 14 + 13 ,如果是X4,则13 = 2 +11, 列地址需要11bits,可以看到下面表格,将行地址14bits减一来实现。如果是X16的话,则13 = 4 + 9,因此需要列是9bits,看下表,发现列地址是10bits,那么行地址就不是原来的14bits,而是13bits。那么分析个问题,最大容量的问题,4 + 14 + 10 + 4 = 32 4G大小 ,再次看表格发现单个颗粒可以是16G,上面的计算是错误的。如果是X8的话,则13 = 3 +10,因此列需要10bits。

2025-04-27 17:42:36 370

原创 python 经典案例分析

如上图所示, 执行的结果如下。发现__init__方法,没有调用,翻阅资料,可知只有__new__返回实体的时候,才会调用__init__。分析可知__new__并没有返回实体,原因是装饰器info并没有返回函数func执行的结果。

2025-04-12 22:03:51 286

原创 纯module的方法实现测试思考

测试激励通过tester的module实现, 然后通过initial的方法启动起来。把两个东西链接起来,如图所示,通过module传参bfm的方式实现出来。激励要通过接口发送出去,并且实现不同的激励类型,这里就需要实现个bfm。第三步:建立个测试平台壳,通过run接口把测试调用起来。以上三步,一个简单的纯module实现测试。第一步:定义类,通过构造函数把bfm传进来。以上是两种不同的实现方式,具体思想是一样的。如果用类的方式如何实现呢。

2025-03-04 16:52:06 206

原创 覆盖率记录, 非cross bin

2. 如下图所示为条件bin. 比如说我要统计复位之后某些出现的情况,就需要用到=>1. 如下所示,最简单的bin,只需要按照中括号的范围进行展开即可。3. 如下图所示为多次bin,比如说我要统计连续出现3的情况。

2025-03-03 18:00:53 146

原创 uvm错误记录4

仔细定位发现,39行用的是vif中的penable, 问题是都是赋值,却出现同时赋值多次,这是因为nonblocking和blocking同时触发导致的,因此,这个一定要代码规范,用nonblocking1一定都用这个,这样避免这些神奇的问题。如下所示,奇怪的是penable莫名其妙的出X。可问题,我发送激励了。

2025-02-14 17:42:59 206

原创 uvm错误记录3

这种直接报出来那个component的,直接顺着错误找就行了,定位可知是sequence对应的sequencer,不匹配,因此coding完底层代码后,一定要检查匹配关系,还有analysis port,driver, monitor等,需要匹配uvm_sequence_item的。如下所示,为常见的uvm错误。

2025-02-14 17:36:38 173

原创 uvm错误记录

如下图所示,为常见的random fail的错误。原因是非rand的类型,是不能random的。

2025-02-13 18:57:00 108

原创 UVM 错误记录2

如下所示为seq_item_port 和seq_item_export的定义。分析,是driver和seqencer的类型不匹配。

2025-02-11 15:47:05 161

原创 uvm timeout的哪些事

如下图所示,设置timeout并未生效,原因多了一个空格,坑。是否加括号呢,如下所示,这两个造型都可以,中间有空格也行。进一步分析,默认是overidable的。那么,我加上单位可以吗,答案是。

2025-01-26 21:05:50 231

原创 system c fetch单元

1. SC_THREAD类型while1之前只会执行一次。2. 需要通过wait来挂起,要不会卡死。图位简单的不带分支跳转的fetch单元。

2025-01-22 15:06:14 206

原创 踩坑记录 systemc 2

如下所示,报register port异常,开始怀疑port的链接不对,后还发现是,是sc_signal定义在sc_ctor里面所致。

2025-01-22 13:39:57 129

原创 踩坑记录systemc-1

如下图所示,这是因为,在sc_method的方法,里面用了wait方法,应该用sc_thread()

2025-01-22 10:23:38 197

原创 TS1 order set分析

常见的symbol有,PAD和COM等。K是symbol的类型,注意symbol是编码过的数据。K可以理解为关键的意思,为了实现DC的平衡,需要对原有的byte进行各种编码,本文只设计8/10编码,不涉及128b/130b编码。合起来二进制计数为0XBC,值得注意0xBC为未进行8b/10b编码的数据。返回第一幅图片,可以看到最后结束时4a,显然是TS1 order序列。由8b/10b的编码表可知,4a不会属于K编码。但是具体是在polling的那个阶段,是无法从这个TS1序列看出来的,这个需要算。

2024-10-06 15:02:15 509

原创 MIPI包分析

分析可知,第一byte就知道包的类型,姑且记作VC2+DT6。显而易见总共定义了64中类型,规范中定义了一些,用户可以在reserved的空间去扩展包的类型。仔细观察,发现包先传了类型标志,这样解析的时候,就可以根据DT6快速的分辨是短包还是长包,如果是短包,直接有效数据只有2BYTE。反之,再去挨着解析两BYTE,就可以知道有效传输数据多少BYTE,这个封包思想分析下来看,比较简单。如下图所示,长方形圈出来的是数据包的规定区域,注意SOT不在packet的定义区间。最后附上MIPI包的例子。

2024-09-25 08:35:01 322

原创 PCIe configuration 包分析

本文分析默认以EP为几点,不讨论关于RC的内容。本文的重点是配置包(cfgwr,cfgrd)包的分析,分析包的组成,包的作用域以及包的路由方式。开始分析之前,先给出以上的基础知识。

2024-09-24 11:37:34 642

原创 关于c语言的const 指针

如上所示,运行结果如下,分析可知,value和data紧密绑定,修改了data,间接就修改了value。如上所示,运行结果如下,通过解引用的方式,改变了data的值。例如 const int * value,可以采用分解记忆法。指针不能修改,数据也不能通过指针修改。value是一个指向常量整形指针变量。value是一个指向整形指针变量。指针是个常量,指向的值可以改变。value是一个指针变量。位置是常量,不能修改。

2024-08-06 09:48:02 227

原创 AMBA - ATB

trace是顾名思义是跟踪的意思ATB是ARM提出的trace数据的BUS,类比AHB/APB,只不过传输的信息是trace。

2024-07-24 13:44:57 263

原创 走进USB

所有的controller都是通过RX termination的来控制训练的开始,都是套路而已。当USB升级到3以上,采用了PIPE共用接口,说到底就是一套规则。这段时间可以做一些事情,上电以及复位PHY等。

2023-08-31 15:12:04 159

原创 走进USB的U1模式

U1状态小结

2023-07-12 14:14:31 800

原创 M3 architecure

M3的安全性很一般,架构只是采用一个MPU实现对个别空间的访问权限管理。对于复杂的应用,需要多个工作模式,安全模式也有很多,M3在安全上只能算凑合水平。所有的处理器,大体上是一样的,只是在功耗,性能,安全,数据吞吐量直接进行各种折中而已。压缩指令的好处,节省空间,相对来说兼容压缩指令,硬件会设计多一些工作量。采用三级流水线,为了简单,常见的流水线5级,对于带有OOOB的12级较为常见,足可见M3的架构简化了很多。M3只支持AHB或者APB,不支持AXI ,显然不是为了大的数据吞吐量设计的。

2023-07-03 11:46:24 232

原创 USB descriptor

如下为oneplus的插入MIDI模式。

2023-05-10 13:18:19 644

原创 验证arbiter的思考

arbiter的思考

2022-08-02 09:34:07 331

原创 竹海码路(uvm)objections analysis

objections机制的看法

2022-06-18 10:34:21 1394 2

原创 竹海杂谈:DFT step by ZHUHAI

为什么要做DFT ?随着集成电路制造技术和复杂度的提高,集成电路设计工程师可以将一个系统集成在一个芯片中,其中可能包括逻辑部分、存储器、模拟部分、模数混合部分等等,这样的系统称为片上系统,也称为系统芯片(SoC)。相对于板上系统,系统芯片极大地缩小了系统体积,减少了板级系统中芯片与芯片之间的互连延迟,从而极大地提高了系统的性能。为了缩短上市时间和节约开发成本,系统芯片越来越多的采用嵌入式核进行设计,这些嵌入式核被称为IP(Intellectual Property)核,这种基于库资源的IP复用设计方式将

2021-07-25 14:28:21 792

原创 竹海码路 :struct

C中当开发内核驱动或者系统建模的时候,常常用到结构体,那么小编通过一篇文章漫谈一下结构体。导入实际的使用场景,假如现在需要对一个miao'sh

2021-06-12 16:43:57 131

原创 竹海码路 (驱动篇1)---------- USB认知

建立唯一标识usb_device_id是给USB core看,来确定设备需要哪个程序,对于热插拔设备来说,当插入设备时候应该自动加载那个驱动程序structusb_device_id-identifiesUSBdevicesforprobingandhotpluggingMODULE_DEVICE_TABLE是允许用户空间的工具判断驱动程序可以控制怎么的设备告诉老东家用户和USBcore有很大的交互structusb_driver-iden...

2021-04-10 10:53:36 149

basic CMOS analog ic design Lecture 9 feedback.ppt

basic CMOS analog ic design Lecture 9 feedback

2025-03-03

basic CMOS analog ic design Lecture 1 background.pdf

basic CMOS analog ic design Lecture 1 background

2025-03-03

basic CMOS analog ic design Lecture 3 single transistor amplifier.ppt

basic CMOS analog ic design Lecture 3 single transistor amplifier

2025-03-03

basic CMOS analog ic design Lecture 7 Output stage.ppt

basic CMOS analog ic design Lecture 7 Output stage

2025-03-03

basic CMOS analog ic design Lecture 1;2 CMOS technology.ppt

basic CMOS analog ic design Lecture 1;2 CMOS technology

2025-03-03

basic CMOS analog ic design Lecture 2 CMOS technology.pdf

basic CMOS analog ic design Lecture 2 CMOS technology

2025-03-03

basic CMOS analog ic design Lecture 4 Differential gain stage.pdf

basic CMOS analog ic design Lecture 4 Differential gain stage

2025-03-03

basic CMOS analog ic design Lecture 6 voltage and current reference.ppt

basic CMOS analog ic design Lecture 6 voltage and current reference

2025-03-03

basic CMOS analog ic design Lecture 5 CMOS current sink and current mirror.ppt

basic CMOS analog ic design Lecture 5 CMOS current sink and current mirror

2025-03-03

basic CMOS analog ic design Lecture 7 Output stage.pdf

basic CMOS analog ic design Lecture 7 Output stage

2025-03-03

basic CMOS analog ic design Lecture 10 CMOS amplifier design.ppt

basic CMOS analog ic design Lecture 10 CMOS amplifier design

2025-03-03

basic CMOS analog ic design Lecture 4 Differential gain stage.ppt

basic CMOS analog ic design Lecture 4 Differential gain stage

2025-03-03

basic CMOS analog ic design Lecture 13 design of Op-amps .ppt

basic CMOS analog ic design Lecture 13 design of Op-amps

2025-03-03

basic CMOS analog ic design Lecture 5 CMOS current sink and current mirror.pdf

basic CMOS analog ic design Lecture 5 CMOS current sink and current mirror

2025-03-03

basic CMOS analog ic design Lecture 2 CMOS technology.ppt

basic CMOS analog ic design Lecture 2 CMOS technology

2025-03-03

basic CMOS analog ic design Lecture 8 noise modeling and analysis.ppt

basic CMOS analog ic design Lecture 8 noise modeling and analysis

2025-03-03

basic CMOS analog ic design Lecture 6 voltage and current reference.pdf

basic CMOS analog ic design Lecture 6 voltage and current reference

2025-03-03

basic CMOS analog ic design Lecture 11 Frequency Response of Amplifiers.ppt

basic CMOS analog ic design Lecture 11 Frequency Response of Amplifiers

2025-03-03

basic CMOS analog ic design Lecture 12 Op-Amps characteristics and frequency compensation.ppt

basic CMOS analog ic design Lecture 12 Op-Amps characteristics and frequency compensation

2025-03-03

basic CMOS analog ic design Lecture 1 background.ppt

basic CMOS analog ic design Lecture 1 background

2025-03-03

SPICE语法基础.ppt

SPICE语法基础

2025-03-03

guard_ring.pdf

guard_ring

2025-03-03

7.8天线效应与ESD.ppt

7.8天线效应与ESD

2025-03-03

7.8 静电保护.ppt

7.8 静电保护

2025-03-03

版图设计讲座报告.ppt

版图设计讲座报告

2025-03-03

带隙基准原理.ppt

带隙基准原理

2025-03-03

版图设计技巧总结.ppt

版图设计技巧总结

2025-03-03

7.3 电容版图画法(冲突_PC-201106220104_2012-11-09 15-21-36).ppt

7.3 电容版图画法(冲突_PC-201106220104_2012-11-09 15-21-36)

2025-03-03

版图GDS的导入步骤.pdf

版图GDS的导入步骤

2025-03-03

7.1 MOS器件常见版图画法.ppt

7.1 MOS器件常见版图画法

2025-03-03

运放版图分解.ppt

运放版图分解

2025-03-03

7.4 二极管版图.ppt

7.4 二极管版图

2025-03-03

第5章_CMOS集成电路版图设计.ppt

第5章_CMOS集成电路版图设计

2025-03-03

7.5 保护环版图.ppt

7.5 保护环版图

2025-03-03

7.9开尔文走线.ppt

7.9开尔文走线

2025-03-03

7.2 电阻常见版图画法.ppt

7.2 电阻常见版图画法

2025-03-03

版图错误汇总总结.ppt

版图错误汇总总结

2025-03-03

SPICE的语法_927.ppt

SPICE的语法_927

2025-03-03

第6章___版图设计准则.ppt

第6章___版图设计准则

2025-03-03

CMOS版图设计模拟篇1atch up.ppt

CMOS版图设计模拟篇1atch up

2025-03-03

空空如也

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

TA关注的人

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