- 博客(49)
- 资源 (7)
- 收藏
- 关注
原创 Xcelium(xrun)的基础使用
严格的语法检查确保设计的成功,若代码不改变,默认不重新comp,elab代码,来减少仿真时间(如需要重新comp,elab,可添加-noupdate)$nchelp ncvlog BADPRF(根据报错信息调整ncvlog,ncelab,ncsim).xrun -helpargs//打印出xrun的option作用及用法(xrun -helpall)Xcelium(xrun)是cadence最新的仿真工具,Incisive(irun)的升级版本。2,如何用xrun完成三步仿真?1,Xcelium的由来?
2023-09-13 11:47:24
7099
原创 芯片设计中的ECO是什么?
在芯片设计的后期阶段,前端工程师可能会发现设计上的某些bug,进而需要对电路做修改,而此时的schedule已经不允许进行重新综合,因此会选择在PR的网表上进行逻辑修改,一般情况是会增加一些逻辑或者将某些逻辑的net重新连接;这个大多是由于绕线的细微改变,而导致的时序变化。器件的位置变动带来的影响都可能导致ECO无法如期进行,因为原有数据库的cell的放置被调整,之前的绕线需要做相应的调整,同时带来更多的timing/驱动能力的问题,这样就会给数据库带来不期望的抖动。这三个步骤的时间是非常长的。
2023-09-11 15:33:45
9502
原创 从零编写STM32H7的MDK SPI FLASH下载算法
通过MDK创建一批与地址信息无关的函数,实现的功能主要有初始化,擦除,编程,读取,校验等,然后MDK调试下载阶段,会将算法文件加载到芯片的内部RAM里面(加载地址可以通过MDK设置),然后MDK通过与这个算法文件的交互,实现程序下载,调试阶段数据读取等操作。在加载elf阶段,将RW段加载到RAM当中之后,需要将r9寄存器指向此片内存的基地址,然后接下来就可以跳转到加载的elf的代码中去执行,就可以实现全局变量的加载了。模板工程里面提供了FlashDev.c ,复制到此工程中,然后对代码进行修改。
2023-09-05 14:48:13
792
1
原创 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是。在i.MXRT硬件那些事系列之。
2023-09-05 14:46:20
683
原创 浅析Keil MDK下串行Flash的下载算法设计
拿到基础模板工程,我们需要根据目标 MCU 内核类型在工程选项里将默认的 ARMCM0 内核改掉,然后在 FlashDev.c 和 FlashPrg.c 里将算法 API 函数全部实现(默认是空的),最后编译工程生成 .FLM 即是我们要的算法文件(最终 .FLM 其实是通过 After Build 里的脚本命令将 .axf 直接改名的,FLM 文件本质上就是 axf 格式文件)。搞定了合适的下载算法文件,最后还需要检查下两个地址范围,一个是 Flash 对应的实际映射地址空间,另一个是下载算法文件运行。
2023-09-05 14:43:58
337
原创 设计实现QSPI Flash的下载算法
前文中了解了微控制器可以使用 QSPI 接口连接 QSPI Flash,来实现扩展微控制器的 Flash 空间,存储较大 code size 的应用程序。但通过 QSPI 接口连接的 QSPI Flash,无法直接使用已有的片内 Flash 的下载算法下载程序,例如在 MDK 平台上编译的程序,在没有下载算法的情况下,是不能直接点击 MDK 的下载按钮或调试按钮下载调试程序的,这样会对使用 QSPI Flash 存储执行程序带来很大的麻烦。
2023-09-05 14:39:47
683
原创 Keil Flash的下载算法
前面提到了通用算法的选择,那么问题来了,这个算法文件如何来的呢?如果你所用的MCU不是默认支持的品牌,如何编写属于自己的算法呢?
2023-09-05 14:38:14
490
原创 芯片设计中latch的使用
对于不能采用latch的原因里,不能采用异步复位应该不对,现在已经的lib是有异步服务的latch的,dc的手册里甚至指导了什么HDL会生成什么latch,是包括了异步复位的latch。还有带来额外的额外的延时,latch能做timing borrow,能retiming,用latch做PPA 优化延伸出来pulsed-latch、两相时钟的latch设计、主从时钟的latch设计,甚至还有三相时钟的latch设计等等。4)某些及其特殊的情况下,如果出现正反馈,可能会导致灾难性的后果。
2023-08-31 08:27:20
879
原创 记录-逻辑电路复位同步
当复位信号rst_async_n有效时,第一个D触发器的输出是低电平,第二个D触发器的输出rst_sync_n也为低电平,此时驱动后级方框中的异步复位端口有效,其输出被复位。复位撤销时,rst_async_n经过两级触发器同步后得到的rst_sync_n是与时钟同步的,从而可以实现复位的同步撤销。假设rst_async_n在clk的上升沿时撤除,那么第一个大黄框中的第一级触发器处于亚稳态,但是由于两级触发器的同步作用,第二级触发器的输入为clk到来前第一级触发器的输出,即为低电平。
2023-08-31 07:52:14
154
原创 关于lib的分析
线负载(wire_load)是根据特定工艺,基于不同设计规模和设计方法,从实际版图中得出的互连线RC时延经验模型,它被DC在综合时用来估算互连线时延的信息。物理库描述与版图设计相关的单元的物理特性(如:单元的长和宽、层次结构、、天线规则、工艺设计规则、单元方向等)。物理库与逻辑库相对应,即在逻辑库中描述的单元,对应在物理库中也必须有这个单元的物理描述。线负载模型定义了单位长度的电容、电阻和面积,扇出负载与线长的对应关系(fanout_length),线性近似斜率(slope)。(4) 单元描述。
2023-07-31 22:56:44
692
原创 芯片设计全流程概述
对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;关于DFT,有些书上有详细介绍,对照图片就好理解一点。芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。
2023-06-15 10:59:16
964
原创 ESL发展及其在项目中的应用
但是对于架构设计来说,如何验证,使用什么工具或平台呢?功能模型(Function model)也称为虚拟原型(Virtual Prototyping VP),虚拟平台(Virtual Platform VP),它们的本质都是一样,如果说非要有些区别,虚拟原型更倾向于片上系统(System on Chip, SoC),虚拟平台涉及更大的系统,除了包括SoC之外,还包括其它子模型如NoC,DDR,Peripherals等,在这里,可以理解为板级(Printed Circuit Board,PCB)虚拟系统。
2023-06-08 23:30:15
1291
原创 DC生成svf给formality做验证用
可以在dc中输入set_svf off 就不用关闭dc terminal直接进行fm。在fm_shell中,在制定set_svf是dc指定的路径就行了。如果没有svf,会导致fm中很多信号新增,不能匹配。
2023-05-26 20:52:51
1628
原创 verilog结构建模方法
模块定义使用一对关键词“primitive-endprimitive”封装起来的一段代码,这段代码定义该UDP的功能,这种功能的定义是通过表来实现的,即在这段代码中有一段处于关键词“table-endtable”之间的表,用户可以通过设置这个表来规定UDP的功能。时序电路拥有内部状态状态序列,其内部状态必须用寄存器变量进行建模,该寄存器的值就是时序电路的当前状态,它的下一个状态是由放在基元功能列表中的状态转换表决定的,而且寄存器的下一个状态就是这个时序电路UDP的输出值。
2023-05-24 17:00:21
1137
原创 Verilog门电平模型化
第一个端口OutputA是输出端口,第二个端口InputB是数据输入,ControlC是控制输入。第一个端口为输出,第二个端口是输入,第三个端口是控制输入端。如果nmos和rnmos开关的控制输入为0,pmos和rpmos开关的控制为1,那么开关关闭,即输出为z;第一个端口为输出端口,第二个端口为输入端口,第三个端口为n通道控制输入,第四个端口为是P通道控制输入。第二个门实例语句是四输入与门,单元名为RBX,输出为Sty,4个输入为Rib、Bro、Qit和Fix。门时延可以在门自身实例语句中定义。
2023-05-24 16:48:29
690
转载 (转)Linux系统下VCS2016和Verdi_2016的安装教程
首先要说明的是,此处安装的VCS2016和Verdi_2016版本均不支持Linux 4.x以上的内核,否则即使安装成功后也可能无法使用,并且由于Linux发行版之间的差异,在其他系统上进行安装时会有各种各样麻烦的问题(libpng12库依赖问题、/usr/tmp文件夹及权限问题、bash和dash脚本执行问题等),故此处采用CentOS 7系统(省心)。点击安装位置,选择系统安装的分区,就是之前准备好的空分区(这里是使用虚拟机进行安装演示),并在下面选自动配置分区,然后点完成。
2023-04-07 17:13:15
952
原创 vmware虚拟机中设置frp客户端
五实际使用ssh进行检查ssh user@VPS地址 -p ssh的端口(一般设置成6001),就可以进入虚拟机服务器了。二配置ini文件,直接安装包是完整的可以用frpc_full.ini。地址:监听端口(一般是7000),可以看到网页上有现在的服务连接情况。三服务端VPS的frps启动,也是用frps_full.ini。注意服务端开启的所有端口都必须在安全组中打开。注意修改server地址。
2023-02-19 21:34:42
402
原创 vcs产生code coverage与function coverage
vcs仿真中,可以产生以下两类coverage: code coverage function coverage对于code coverage,在编译和仿真需要加额外参数。对于function coverage,编译和仿真不需要加额外参数。
2022-09-09 10:53:14
1822
原创 如何解决Django 2.0中的“ImportError:无法导入名称url”
Writing your first Django app, part 1 | Django documentation | Django
2022-02-08 22:12:21
462
原创 verilog中的assign和ifelse,case区别
Verilog 有什么奇技淫巧? - 知乎在这个链接中又说,区别是对不定态的传递,if--else,case不传递不定态,但是assign回传递不定态,所以,设计中尽量使用assign。但是在建立一些特殊的 simulation模型时,需要利用不传递不定态的特性,例如:...
2022-01-21 11:58:00
1328
原创 VCS中的覆盖率分析
VCS在仿真过程中,也可以收集Coverage Metric。其中覆盖率类型有:1)Code Coverage:包括control_flow和value两部分的coverage,line_coverage, branch_coverage, toggle_coverage, FSM_coverage。2)Functional Coverage:包括covergroup,SVA。Coverage Database的产生:包含所有的...
2022-01-19 10:35:16
2169
原创 verilog PAD模型
今天在仿真模型中遇到以下几对关键词`celldefine`delay_mode_path`suppress_faults`enable_portfaults.......specify......(DET=>IO)=(0.010:0.010:0.010, 0.010:0.010:0.010);endspecify`nosuppress_faults`disable_portfaults``endcelldefine此为pad的Ve...
2022-01-07 20:45:54
2207
原创 无人机图传芯片
https://www.sohu.com/a/432309809_710928https://xueqiu.com/4368951555/135202571https://107cine.com/stream/91223/https://www.evolife.cn/tech/189988.htmlhttps://www.sohu.com/a/250900000_100237230http://www.eetrend.com/node/100128041http://www.iada
2021-01-26 15:38:59
2434
原创 windows上 IntelliJ IDEA安装scala环境 补充
使用向导,安装了IntelliJ IDEA 2020.03 community版本,如下配置http://allaboutscala.com/tutorials/chapter-1-getting-familiar-intellij-ide/scala-tutorial-first-hello-world-application/结果是界面很大不同,Scala的plugin安装后根本不能按照tutorial继续进行下去。切换成手动安装scala,如下:https://blog.csdn.ne
2020-12-24 11:20:05
143
原创 十分好用的Icarus Verilog和GTKwave使用简析
来自如下博文https://www.cnblogs.com/lsgxeva/p/8280662.html补充如下:默认安装Icarus Verilog后,两个工具都已经存在,可以在安装的最后一步选择自动设置path,这样就不用添加iverilog_pathgtkwave_path做试验的时候,新建的bat文件和verilog文件都放在当前运行文件夹下我使用的windows Powershell 直接把文件放在了桌面很快啊!啪!就抛出波形来啦!...
2020-12-18 16:24:49
664
1
原创 8B/10B Encode/Decode详解(转)
https://www.cnblogs.com/YINBin/p/11011232.html1、编码技术基础理论在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满意的误码率,其关键技术在于串行传输中数据的编码方法。目前, 高速接口正在被广泛应用于包括 SATA、 SAS、 高速 PCI 等多种标准中。 这些接口的速率甚至可以达到并超过每线 10Gbits/s。 同时, 所有主...
2020-05-21 11:55:08
1210
1
原创 高速接口中的PRBS的设计
http://bbs.ednchina.com/BLOG_ARTICLE_3018596.HTM在高速设计中,为了测试高速串行通道传输的误码率,通常通过发送PRBS码来进行测试原理:用生产函数产生一段随机码流,然后按周期循环。PRBS码的周期长度与其阶数有关,常用的阶数有7,9,11,15,20,23,31.对于N阶PRBS码,每个周期的序列长度为2^N-1.在每个周期内,0和1时随机分布的,并且0和1的个数相等。连续个1的最大数目为n,连续个0的最大数目为n-1(反转后就是n-1个
2020-05-21 11:48:30
6466
2
原创 PRBS码是什么?PRBS生成原理介绍(转)
转自:http://blog.sina.com.cn/s/blog_9fa828d10102y3dp.html之前一直在讲高速串行的协议,MAC,PHY,PMD层,PMA层吗,PCS层。。。看大家回答的数量也不是很多,弱弱的问一句大家都消化了吗?的确,讲到各个层的功能,数据在芯片内部如何去运作协调这方面的确有点高深。其实坦白说哈,作为同组的一员,我也对上面的文章和刘工深感佩服(点赞点赞)。既然上层的东西不那么好理解的话,我们还是说回点接地气的吧。我们知道,无论上层如何运作,最终还是要去到物理层上面去,最
2020-05-21 11:47:29
12709
原创 拉普拉斯近似相关
https://blog.youkuaiyun.com/unixtch/article/details/77603738https://www.cnblogs.com/hapjin/p/8848480.html
2020-04-28 19:04:10
482
原创 OPNET14.5安装问题解决
第一次安装时运行,产生错误,主要是include头文件找不到,检查了下环境变量设置,必须设置在系统环境变量设置下,用户环境变量设置不行。网络上和指导文档里会有环境变量设置的区别,这里贴出我的设置:vs2005的路径要是真实的安装路劲作为环境变量。不然进不了C++编译器。vs2005安装好后必须启动下,看看能不能正常工作。最好按照环境变量设置的路径安装。安装opnet的路...
2020-04-28 15:13:21
626
2
转载 一文搞懂TCP与UDP的区别
一文搞懂TCP与UDP的区别摘要:计算机网络基础引言网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别。一、TCP/IP网络模型计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规...
2020-04-10 19:37:22
159
原创 深度剖析MQTT协议的整个通信流程-mqtt实验
centos7 上搭建mqtt服务:https://www.cnblogs.com/testing-BH/p/11805221.htmlhttps://www.cnblogs.com/lulipro/p/10914482.html另一安装过程使用MQTT.fx链接服务器:在mosquitto服务起来后,建立账户密码,建立hello推送主题,在mqtt.fx中按照设定的填写,如下:...
2020-04-10 17:12:40
661
STM32F407的SPI 总线应用之SPI Flash的MDK下载算法制作
2023-09-05
A 22.3-nW, 4.55 cm2 Temperature-Robust Wake-Up.pdf
2019-12-05
lora联盟相关sepc和介绍
2018-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人