自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 商用芯片FMEDA分析和计算过程总结

本文对目前车规芯片通过ISO26262 ASIL A-D等级所需的FMEDA分析过程进行了详细的说明,并结合Synopsys公司的商用芯片FMEDA表格说明整个过程方法。包括基本失效率计算,硬件量化指标SPFM、MPFM和PMHF指标计算方法等。

2024-02-06 10:43:50 1411

原创 RocketChip RISC-V生成RTL到仿真全流程

RocketChip RISC-V生成RTL到仿真全流程:一、Scala配置项修改和RTL代码生成;二、工具链和编译库生成;三、VCS硬件仿真环境搭建(1.程序编译;2.硬件仿真;3.查看波形);四、功能测试和回归测试。

2023-01-12 11:06:10 2992 6

原创 ECC原理和RocketChip Cache ECC实现

ECC(Error Correcting Code)全称为错误纠正码,用于对存储器的数据进行完整性检查和纠正,主要用在SRAM、DDR、NAND等存储器设备上。ECC可以对数据进行单比特的纠错和多比特的检错,其原理基于汉明码编码而来。RISC-V RocketChip生成器带有Cache ECC选项,默认情况下是关闭状态,有三种类型的ECC校验可以选择,分别是:parity、sec、secded,其各个类型的含义

2023-01-10 11:24:56 5029 6

原创 异步时钟引起的亚稳态问题和跨时钟域电路设计

本文总结由数字电路设计的异步时钟引起的亚稳态问题,并针对亚稳态问题提出的处理方法和跨时钟域电路设计方法。重点是分析由异步时钟引起的跨时钟域CDC问题,后续将会总结由复位引起的电路亚稳态问题。

2022-10-26 14:27:21 980

原创 Ubuntu虚拟机中VCS安装和启动过程中遇到的问题总结

上篇文件写完后,很多人留言说VCS启动有些问题在文中没有解决,这里总结汇总了下从VCS安装好以后,临时license授权到使用VCS成功运行并用verdi dump波形这个过程中可能会遇到的一些问题及解决方法。关于VCS安装可以参考我之前写的文章。安装gcc 4.8即可,这里安装直接从官方下载安装即可,不建议使用安装包的方式完成,如果虚拟机不能联网,再尝试安装包的方式解决问题。

2022-09-14 16:43:08 5286

原创 Rocketchip RISC-V Debug调试硬件相关(四)hartIsInReset

使用halt-on-reset功能,必须保证dmInner在core复位时保持工作状态,这就要求dmInner的复位不能和core复位一致。另外,顶层的hartIsInReset信号不能tie 1处理,会导致debug中断响应后无法跳出,无法跳出的原因是resumeReqRegs寄存器的值不能通过resumreq请求改成2。...

2022-07-29 17:57:11 743

原创 Rocketchip RISC-V Debug调试硬件相关(三)dmactiveAck

本文详细说明dmactiveAck信号的含义,以及其在SoC集成中的处理方式。dmativeAck需要用户逻辑处理,它用来指示dmInner是否有能力接受DMI传输请求(也就是说debug_clock有效,debug_reset复位释放)。dmactiveAck无效,会导致DMI发送到dmInner的传输被“拒绝”。而且该改动影响到了上位机的软件兼容性,尽管OpenOCD能够兼容该行为,但是有必要进行软件升级。......

2022-07-20 17:31:44 493

原创 Rocketchip RISC-V Debug调试硬件相关(二)dmInner时钟和复位

上一篇文章对rocketchip整个调试部分的硬件相关内容进行了梳理,这篇本章对debug_clock和debug_reset这两个dmInner的时钟复位SoC集成的方法进行分析,并给出一个参考的SoC级集成方案,并讨论下基于该连接方案的原因。阅读本篇文章前,建议先阅读上一篇文章RocketchipRISC-VDebug调试硬件相关(一)_远古架构师alanwu的博客-CSDN博客https。.........

2022-07-15 17:54:00 846

原创 Rocketchip RISC-V Debug调试硬件相关(一)

2019年10月份,RISCV发布了一版新的硬件代码,并对Debug调试部分进行了对应的升级修改,随后一直沿用2019年的版本至今,目前版本为0.13.2版本。本文重点研究对应的升级和修改意义,以及在后续SoC集成时的处理方法。阅读本文之前,请对RISCV的Debug调试有个基础的了解,比如JTAG五线或四线连接、调试软件openOCD、RISCV调试过程和基本流程。调试的主要工作方式和新版本新增的功能介绍。............

2022-07-04 16:01:53 2260 9

原创 可综合RTL代码设计方法和注意事项

很多芯片设计人员,在接触RTL Coding的一开始,很难区分哪种写法可综合,哪种写法不可综合,这里总结下可综合的RTL代码设计,需要注意的问题。一、不使用仿真延时避免使用#time对寄存器或wire进行延时,该方法可以将输出delay一段时间,在仿真的时候能够满足delay的需求,但在综合时,DC会将所有的#time忽略掉,带来的问题就是前仿结果和综合结果不一致,因此前仿时尽量避免这种使用#time。在网表和代码混合仿真时,可以在分界的地方适当加上#time,用于模拟RTL代码给入的延时信息。

2022-05-31 15:39:17 2388

原创 SVN工具使用及常用操作命令总结

一、SVN简介Subversion(SVN)是一个开源的版本控制系統,也就是说Subversion管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。SVN 的一些概念:Repository(源代码库):源代码统一存放的地方。 Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份。 Comm

2022-04-15 10:00:11 3634

原创 商用DCLS双核锁步lockstep技术总结

目前市场上能够通过IOS26262等车规标准的双核锁步DCLS芯片主要有TI的Hercules系列、英飞凌AURIX系列和NXP S32系列等。一、TI Hercules系列Hercules是TI公司以ARM Cortex核心构建的安全关键CPU,包括三个系列:RM4,TMS570和TMS470M,内部由锁步双核CPU组成,最高可满足ISO26262 ASIL-D和IEC61508 SIL3功能安全标准的要求,并符合AEC-Q100车规级要求,双核锁步CPU架构、硬件BIST、MPU、ECC、片上时

2022-03-28 14:49:57 13133

原创 ARM双核锁步DCLS Lockstep技术研究(FPGA实现)

基于《Applying Dual-Core Lockstep in Embedded Processors to Mitigate Radiation-induced Soft Errors》文章总结RISC-V双核锁步DCLS Lockstep技术参考之前文章:RISC-V双核锁步DCLS Lockstep技术总结_远古架构师alanwu的博客-CSDN博客https://blog.csdn.net/heyuming20062007/article/details/123329537ARM+RIS

2022-03-17 11:37:34 6232

原创 ARM + RISC-V双核锁步DCLS Lockstep技术总结

基于《A Loosely-Coupled Arm and RISC-V Locksteping Technology》文章总结一、lockstep技术分类文中将lockstep技术总结成三类:系统级、分系统级和CPU级。系统级拥有两套不同的CPU、Caches和Memory,输入通过IO进入各自Memory和Caches,输出通过Checker比较结果;分系统级共享同一个Memory和IO,输入进入各自Cache,输出通过Checker比较结果;CPU级只有两套CPU内核,Cache和Memor

2022-03-10 14:40:05 8382

原创 RISC-V双核锁步DCLS Lockstep技术总结

基于《A Dual Lockstep Processor System-on-a-Chipfor Fast Error Recovery in Safety-Critical Applications》文章总结。一、设计总结设计基于RISC-V 32IM ISA实现,修改内部5级流水; 主核和从核程序流水错开1个cycle,防止同一周期主从核因外部电离脉冲导致同时错误; 设计在流水线的访存、写回阶添加delay buffer和checker模块,用于纠正错误并防止错误操作从输出阶段写入IO和M.

2022-03-07 14:46:45 4353

原创 SoC设计内容和SoC设计流程总结

一、SoC设计内容1.1 总线设计总线结构及互连设计直接影响芯片总体性能发挥,选用成熟的总线架构有利于SoC整体性能提升。对于系列化或综合性能要求高的SoC设计,就需要深入进行系统架构研究和优化,将总线频率和带宽提升到更高水平。目前SoC总线主要分成IP授权和开源两大类,主流商用总线选用ARM的AMBA系列、片上网络NoC总线、wishbone总线等。构建深度优化的总线架构,有利于SoC系统的性能提升,解决总线瓶颈让SoC芯片更具竞争力。1.2IP核复用技术IP核指可以重复使用的、经过验证.

2022-03-01 15:26:06 4749

原创 AMBA AHB总线协议详细说明(AHB5协议)

一、 AHB总线介绍AHB总线用于性能要求较高的系统互连,比如内部memory、高带宽的外设、GMAC、eMMC/SD等,其仍然为分时独占式总线,也就是说一个时间点总线只会完成一个传输事件。下图是一个典型的AHB总线互连例子,图中Manager为总线的Master设备,Subordinate为总线的Slave设备。AHB总线互连逻辑包括一个地址译码器和一个多路选择器。地址译码器用于将Master发送的地址转换成合适的sel选择信号;多路选择器将各个Slave的输出数据合理的选择给Master。图中只画出

2022-02-23 10:16:22 11413

原创 AMBA APB总线协议(APB4)

一、APB总线介绍APB总线是ARM公司早期推出的一款用于设备通信的分时独占总线,目前主要用于慢速外设的寄存器配置总线。APB总线结构简单、接口信号少,可以带来更低的资源和功耗,在目前主流SoC设计中仍然使用广泛。为了简化APB接口外设的集成设计难度,APB总线的信号转换和上升沿相关联,每次传输至少需要花费2个时钟周期。APB总线目前最新版本为APB3,相比于上一版本增加了PSLVERR信号,用于反馈Slave端的错误。二、APB总线信号APB总线有两个独立的数据总线pwdata和prdata,

2022-01-18 16:01:38 6950

原创 异构多核Cache一致性问题和解决方法(二)

上一篇文章说明了Intel公司最新的Cache一致性处理方法,本篇文章继续上一期,聊聊ARM公司的Cache一致性处理方法。请先阅读上篇文章的基础部分再来阅读这篇文章。异构多核Cache一致性问题和解决方法(一)_heyuming20062007的博客-CSDN博客https://blog.csdn.net/heyuming20062007/article/details/120951878?spm=1001.2014.3001.5501二、ARM Cache一致性处理方法1.ARM ACE协议

2021-11-04 17:31:15 4703 1

原创 异构多核Cache一致性问题和解决方法(一)

最近看了不少说明Cache一致性问题的解决方法的文章,讲是讲到了,但是讲得都不是很深入,没有结合目前主流大厂的解决方案说明。笔者最近看了斯坦福大学2020年Cache Coherence的课件,非常不错觉得有必要写个专栏记录下CPU+MCU等异构多核的Cache一致性处理方法。首先申明,本文章默认你已经了解Cache一致性的原理和概念,也大概知道多核的Cache一致性解决有哪两种方法。如果还不知道的,请阅读下面的链接,网上很多文章抄来抄去,写得好的只要看这几篇就够了。...

2021-10-26 15:35:31 1784

原创 Ubuntu虚拟机安装EDA工具:VCS+Verdi+dve2018方法教程

上个月刚完成Ubuntu虚拟机的安装,本教程的基础是你已经安装好了Ubuntu的虚拟机,最好是和笔者版本接近的Ubuntu,具体安装方法已在之前的文章中介绍过了:https://blog.csdn.net/heyuming20062007/article/details/120522175?spm=1001.2014.3001.5501https://blog.csdn.net/heyuming20062007/article/details/120522175?spm=1001.2014.3001.5

2021-10-13 16:33:10 12560 279

原创 使用Rocket chip generator配置和生成RISC-V RTL代码

一、代码同步和环境准备Rocket chip generator可以生成三种目标代码:高性能时钟周期精确的验证器、基于FPGA版的RTL代码和可综合版的RTL代码。生成需要用到Chisel工具和JAVA环境,之前文章已经写过怎么同步好代码和环境,参考:https://blog.csdn.net/heyuming20062007/article/details/120544437?spm=1001.2014.3001.5501https://blog.csdn.net/heyuming20062007

2021-10-13 11:19:12 1523

原创 RISC-V Rocket-Chip环境安装过程和RTL生成总结(基于Ubuntu虚拟机)

基于github上面的rocket-chip setup过程,实际操作过程中有不少问题:https://github.com/chipsalliance/rocket-chiphttps://github.com/chipsalliance/rocket-chip一、环境准备工作RISCV指定使用Ubuntu操作系统环境,因此最好基于Virtualbox或VMware安装虚拟机。除了在我之前写的这篇文章中的环境准备工作以外,还需要提前安装好java,否则后续命令会报错。另外,如果你需要跑程序,则需要

2021-09-29 15:05:22 2359

原创 virtualbox安装Ubuntu 18.4时遇到的问题总结

一、安装光盘启动项注意安装操作系统ubuntu-18.04.4-desktop-amd64,将ios指定到IDE盘,前期设置操作系统类型要和安装的类型匹配,挂载好光盘启动虚拟机。安装操作系统过程自动进行,但需要注意Ubuntu操作系统很多扩展工具的选项,最好选全安装,如果工具包没有安装全,后续进入系统后查找Ubuntu Software Update工具更新全部扩展工具,直到所有工具安装完成,该过程需要网络。二、安装增强功能增强功能可以共享虚拟机和实体机之间的文件夹、粘贴板等内容..

2021-09-28 10:08:46 3339 3

RocketChip RISC-V RTL和仿真平台(基于C)

RocketChip RISC-V RTL和仿真平台(基于C)

2023-04-12

NAND控制器verilog代码

NAND flash 控制器代码,基于Wishbone总线的flash控制器,已经上板通过!

2014-01-04

Virtex - 5用户指南

Xilinx virtex-5 specifition

2013-07-22

空空如也

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

TA关注的人

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