- 博客(70)
- 收藏
- 关注

原创 利用AHB-Lite总线实现ARM Cortex-M0基础的SoC系统;如何设计一个SoC系统;AHB-Lite;ARM Cortex-M0;SoC;
本文讨论了SoC系统的架构设计,包括处理器核心、内存以及其他外设的互连,并详细描述了如何通过AHB-Lite总线实现高效的数据传输。AHB-Lite总线是一种简化版本的AHB总线。同时,阐述了利用寄存器映射以及其他硬件资源与软件接口的设计方法,以满足SoC系统的功能需求。本文为未来更复杂的SoC设计提供参考。
2023-06-18 23:42:34
5621
4

原创 基于NoC的多处理器系统; NoC的基本结构和原理;Router;网络接口;流量控制机制;高速缓存一致性;Network on chip 片上网络; Multi-Processor System
基于NoC的多处理器系统是一种使用网络互连的架构,将多核CPU、GPU、FPGA等处理器和加速器通过高带宽、低延迟的通信通道连接起来,实现高性能、可扩展的并行计算。它提供了灵活性、节能性和可靠性,适用于高性能计算、嵌入式系统等领域,加速图形处理、人工智能和机器学习等任务。
2023-06-12 23:08:35
10719
5

原创 【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计
NICE协处理器(Nuclei Instruction Co-unit Extension,蜂鸟内核指令协处理器扩展机制)是一个独立于蜂鸟E203内核的一块运算单元[24],它能根据指令去控制系统内的资源去实现一些操作,例如利用协处理器源操作数实现内存与缓存的数据交换、累加值、乘法、加密等操作,从而提高RISC-V处理器特定领域的性能,同时降低功耗。NICE协处理器的调用需要创建用户自定义RISC-V的指令。.........
2022-06-28 11:05:36
8016
4
原创 DFT设计 与 芯片测试 ;Scan Chain; DC里的DFT的扫描链设计; 存在异步复位触发器时的扫描链设计;Scan-In Scan-Out
DFT(Design for Testability )该设计有助于提高可测试性,从而促进制造过程中的测试和调试,提高了芯片的可测试性和可靠性。没有一个制造过程是完美的,所以生成出的所有的芯片不是都能正常工作,因此,进行测试(例如DFT)是非常重要的,以确保只有功能正常的芯片被送出去用于后续的封装和应用。对于任何芯片设计,都会存在一定的失效率(Yield)。
2023-07-10 04:30:11
14702
3
原创 【ProNoC】Chap.1 ProNoC生成2x2的mesh型的4核片上网络系统;实现NoC的RTL设计
实现NoC的RTL设计一直是很复杂的,而NoC生成器(Network-on-Chip Generator)是一种用于设计和生成Network-on-Chip架构的工具。它可以根据用户的需求和参数,如网络的尺寸、拓扑结构、路由算法等,自动生成具有所需特性的NoC设计。主要功能包括自动生成和优化NoC设计以及进行性能分析和验证。简而言之,NoC生成器可以帮助实现更高效且可靠的系统集成设计。
2023-06-22 22:18:39
2301
2
原创 【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态
除了功能验证之外,时序收敛是一个重要的里程碑,它决定了何时可以将芯片交付给半导体代工厂进行制造,芯片设计人员应该掌握有关时序Timing的参数。hold time violation 和 setup time violation 意味着电路设计不能满足时序要求!而race hazard意味着您编写的代码经过综合后实施到真实的电路上时会导致某些状态不确定。这种不确定不稳定的状态称作是亚稳态(Metastability)。同步系统中要求数据Data必须在下一个时钟上升沿之前稳定,保证寄存器可以取到正确的值。
2023-02-01 05:36:50
2062
原创 深刻理解状态机设计需要避免的冒险;处理单元里的control和datapath;时序电路可能存在essential hazard;竞争冒险【SV】【VLSI】
任何数字电路的行为都可以通过其功能和时序响应来表示。 前者仅考虑电路的逻辑功能,因此仅传达其功能行为,而后者还考虑信号通过电路时的传播延迟,从而表达电路的实际行为。essential hazard:由于组合逻辑中的延迟淹没了状态机反馈部分的延迟,从而导致不正确的操作,因此会出现基本危险。 最好通过改变状态机来实现,通过添加等待周期的方法实现寄存器内数据更新。
2023-01-30 08:16:17
1163
原创 【安全硬件】Chap.7 对实体芯片采取物理手段破解;芯片IC逆向工程和拆分制造;物理上对芯片的攻击分类;侧信道攻击;Kocher针对RSA的计时攻击
逆向工程可以通过从物理器件到IC代码实现反向推理,以掌握IC的结构和功能。在拆分制造中,设计的布局被拆分为前端线 Front End Of Line (FEOL) 层和后端线Back End Of Line (BEOL) 层,然后分别在不同的代工厂foundries制造。 物理上对芯片的攻击分类可根据对芯片的破坏程度分为三种。侧信道攻击旨在利用IO端口进行侧信道发射,例如功耗、电磁、定时和声学破译硬件。
2023-01-09 05:38:43
1469
1
原创 【安全硬件】Chap.6 IC和半导体产业的全球化;芯片生产猜疑链与SoC设计流程;可能会存在的安全威胁: 硬件木马、IP盗版、逆向工程、侧信道攻击、伪造
在现代 超大规模集成电路设计(VLSI) 行业中,设计和制造是分开进行的,设计者通常对负责生产的代工厂几乎没有控制权,自然而然地会认为代工厂根本不可信。集成电路 (IC) 生产供应链的跨国、分布式和多步骤性质引入了基于芯片硬件的漏洞。
2023-01-08 02:42:13
983
1
原创 【安全硬件】Chap.5 如何检测芯片中硬件木马?硬件木马的类型有哪些?检测硬件木马的技术
前两篇文章列举了两种例子,分别简单介绍了硬件木马对组合逻辑电路和时序逻辑电路的危害,以及如何使用Trusted for Design思想完善设计以防止漏洞的产生。本文介绍了硬件木马的种类,硬件木马通常由负载部分(恶意电路的内容)和触发部分(激活恶意电路)组成。硬件木马很难定位,因为它们可以插入微芯片中的任何位置;例如,一个可能在芯片的处理器中,另一个在其电源中。本文列举了检测硬件木马的手段,
2023-01-05 07:37:10
2081
9
原创 【安全硬件】Chap.4 如何插入一个硬件木马到芯片的时序逻辑电路的漏洞里?如何构建可信赖的状态机?
硬件木马(hardware Trojan)对现有电路元件的恶意添加或修改。构建可信赖的IC电路使用预防性设计技术来克服硬件木马的漏洞。硬件木马能做什么?更改功能、降低可靠性、泄露有价值的信息
2023-01-05 01:33:52
1355
1
原创 【安全硬件】Chap.3 如何插入一个硬件木马到芯片的组合逻辑电路的漏洞里?不影响正常电路的功能的情况下进行硬件的逻辑加密
作者举了一个士兵巡逻预案的例子解释了:硬件木马(Hardware Trojan)一般潜伏在实际电路里面,平时并不会影响电路的运行,但因为组合逻辑电路的漏洞常常会造成系统崩坏。而逻辑加密logic encryption,通过在原始设计中插入额外的门(称为密钥门)来隐藏设计的功能和实现,从而在一定情况下防止硬件木马。
2023-01-04 06:22:00
1592
2
原创 【安全硬件】Chap.2 如何破译一个CMOS门级电路;传播延迟、动态功耗、静态功耗可能泄露电路的构造以及输入密钥;非侵入式攻击 Non-Invasive Attacks
请思考一个芯片的特征,比如芯片的面积和重量、功耗、运行频率、延迟、吞吐量等,这些都与芯片内部的电路设计有关。而包括大部分数字、模拟和混合信号的 IC 芯片都是使用 CMOS 技术制造的,作为一名学生学习半导体技术也是从CMOS开始入手的。为了引导芯片设计工程师深入了解硬件层面的安全,本文简述了安全硬件和CMOS技术之间的关系。
2023-01-02 08:56:26
1057
4
原创 【安全硬件】Chap.1 硬件层面的安全与安全硬件的历史;Meltdown和Spectre漏洞曾威胁曾经三大CPU架构;Threat Modeling与安全硬件基本概念
Secure Hardware并不只是基于硬件的密码学加密,还有从底层架构和硬件结构考虑的硬件层面的安全,涉及硬件设计、访问控制、安全多方计算、安全密钥存储、确保代码真实性、确保构建产品的供应链安全的措施等,实现保密性、完整性、可用性Availability、不可抵赖性Non-repudiation、认证Authentication。
2023-01-01 06:52:00
706
3
原创 【SV】从仿真器的角度理解为什么要避免#0延迟。理解事件-驱动模拟。SystemVerilog如何在仿真时模拟写一个传播延迟?理解非阻塞赋值/阻塞赋值 延迟时间控制
事件-驱动模拟Event-Driven Simulation非阻塞赋值/阻塞赋值 Nonblocking / Blocking assignments延迟时间控制 Procedural timing control
2022-12-31 23:06:26
2150
原创 【SV】为什么需要异步复位?同步输入/异步输入、异步复位/同步复位(bad)、异步复位同步释放、同步系统/异步系统
同步输入/异步输入、同步系统/异步系统、阻塞赋值/非阻塞赋值Synchronous/Asynchronous inputs and system, Synchronous/Asynchronous resetSynchronous/Asynchronous inputs and system, Synchronous/Asynchronous reset
2022-12-31 20:33:31
1147
3
原创 如何缩减layout电路面积?减少晶体管的数量——以全加器为例【VLSI】
How to reduce the number of transistors to reduce circuit area? -- Take the Binary Full Adder as an example优化面积的方法1. 减少晶体管的数量2. 改变gate matrix的布局
2022-11-22 06:27:32
3694
1
原创 VLSI 半定制设计方法 与 全定制设计方法【VLSI】
芯片全定制设计是一种通过指定每个晶体管的布局以及它们之间的互连来设计集成电路的方法。 **标准单元库**(standard cell 设计方法)、**门阵列**(gate array设计方法)和**门海样式**(The Sea-of-Gates Design Approach)被硅供应商称为半定制方法。
2022-11-19 20:36:17
4139
原创 晶体管的 栅极gate 材料选用 多晶硅polysilicon,并采用 自对准工艺 self-aligned IC后端版图 【VLSI】
本文为了解决为什么要使用多晶硅作栅极触点的问题,先介绍了MOS管的工作原理是通过栅极上所加的电压控制漏极与源极之间电流,然后解释了栅极的材料为什么选用多晶硅,然后介绍了晶体管里栅极的自对准工艺(Self-Aligned Gate )。
2022-11-03 03:04:40
12568
1
原创 【SV书的章节练习题】Chap.3 Combinational Logic Using SystemVerilog Gate Models
这一章主要考了基本的组合逻辑、testbench、delay三种方式怎么加、阻塞赋值和非阻塞赋值。《SystemVerilog数字系统设计》-夏宇闻。
2022-11-01 20:20:21
428
原创 从IC版图Layout的视角看待VLSI从设计到流片、FAB制造 【VLSI】
本篇文章将根据我们在 CMOS 制造系列中学习的制造步骤跟进一步理解 CMOS 布局Layout。光刻是将图案从掩模转移到基板的过程,Layout版图设计是绘制制造过程中使用的掩模MASK。
2022-10-31 08:17:24
4087
原创 CMOS PROCESS FLOW 简化版总结 CMOS制造工艺流程 IC后端版图【VLSI】
本文简单扼要地叙述了基于N阱技术的CMOS制造工艺流程(CMOS PROCESS FLOW Through the N-well / P-well technology),并制作为表格的形式,方便对照记忆和理解CMOS工艺。
2022-10-29 07:16:21
3511
原创 CMOS中的 latch-up 闩锁效应、添加tap解决latch-up、使用combained area绘制TAP TAP的作用 IC后端版图【VLSI】
本文详细阐述了闩锁效应latch-up问题、如何通过添加Tap来解决。详细讲述了如何通过combained area来绘制TAP
2022-10-28 05:18:16
9595
1
原创 【一生一芯】Chap.1 “一生一芯”实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题
利用了VMware安装了Ubuntu20.04成功;完成了 “一生一芯”实验环境配置;获得了PA的源代码;解决llvm版本问题!
2022-09-01 10:57:47
5618
7
原创 【一生一芯】Chap.0 IC常用网站论坛门户 & 如何提出一个技术问题 并尝试解决 | 提问的智慧
当遇到困难或者技术瓶颈的时候,我们肯定是迫切地想要尽快解决问题。初期,实际上是考验信息检索能力,比如想到的是“百度一下我就知道”;当无法搜索到有用的信息,会想到找大佬帮忙,也是更直接地提问、让对方帮你解答。......
2022-08-29 23:55:20
1008
1
原创 【IIC通信】Chap.1(I2C)IIC通信原理、IIC读写时序详解
IIC通信以两根连线SDA、SCL实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。
2022-07-28 22:46:31
12899
8
原创 【IIC通信】Chap.2 (I2C)IIC协议的特点;为什么IIC需要开漏输出、上拉电阻?
IIC以两根连线实现了完善的全双工同步数据传送, 可以方便地构成多机系统和外围器件扩展系统。把I2C的协议植入器件的I/O接口, 使用时器件直接挂到I2C总线上, 这一特点给用户在设计应用系统时带来了极大的方便。............
2022-07-27 19:56:01
4799
2
原创 【蜂鸟E203的FPGA验证】Chap.9 FPGA平台硬件验证
FPGA(Field Programmable Gate Array,可编程阵列逻辑)常用作流片(tape-out)之前的验证所设计的处理器是否能正常工作的测试手段。FPGA内部利用了其基本可编程逻辑单元可以多次编程、生成比特流文件后烧录下载到 FPGA中。本设计采用芯来科技公司的Nuclei DDR200T开发板作为单核32位RISC-V处理器的硬件测试平台,搭载着Xilinx XC7A200TFBR484-2 FPGA核心...
2022-06-29 13:29:02
2287
原创 【蜂鸟E203的FPGA验证】Chap.8 Vivado综合与性能分析-Vivado性能分析
本设计基于Xilinx Vivado 2019完成了E203内核的、工程建立、内核编译、板载时钟管理、硬件选择、引脚匹配、性能分析、内核烧写 、测试分析。
2022-06-29 12:03:54
5775
2
原创 【蜂鸟E203的FPGA验证】Chap.7 Vivado综合与性能分析-建立Vivado工程
综合就是把硬件描述语言转换为与其相对应的查找表和寄存器构成的功能电路[15]。本设计基于Xilinx Vivado 2019完成了工程建立、内核编译、板载时钟管理、硬件选择、引脚匹配、性能分析、内核烧写 、测试分析。.........
2022-06-29 11:30:05
2038
原创 【蜂鸟E203的FPGA验证】Chap.6 基于Iverilog的指令功能与流水线仿真
功能仿真,主要检查代码中的语法错误以及代码行为的正确性,以及对源代码进行逻辑功能的验证。本设计的功能仿真利用了RISC-V官方的riscv-tests,能够检测指令集中的指令在处理器中运行结果是否成功,判断处理器的设计是否可以通过指令集架构定义的测试程序,仿真结果将会以波形图或者文本文件形式给出相关结果报告。所使用的数字仿真工具是Iverilog 12.0。以add指令在处理器中“流动”的过程,通过add加法运算的过程观察处理器各级流水线是否正常工作。............
2022-06-29 10:59:55
1517
3
原创 【蜂鸟E203的FPGA验证】Chap.5 基于E203内核的处理器验证+ 基于FPGA的处理器设计与验证流程
本设计基于E203开源内核,在充分地分析与掌握其源代码的基础上,基本掌握RISC-V指令集架构和E203内核的硬件结构。由于E203内核提供了开源的设计源码,本设计便基于此内核利用Iverilog工具完成了RISC-V基础指令集的测试、仿真E203内核流水线的信号、利用Vivado进行逻辑综合和布局布线、对形成的综合后报表进行分析、将设计好的单核32位RISC-V微处理器烧录到Nuclei DDR200T开发板(使用Xllinx公司Artix-7的FPGA核心)进行板载测试。...
2022-06-29 10:28:57
2162
原创 【蜂鸟E203内核解析】Chap.4 累加运算NICE协处理器的设计
自定义指令调用NICE协处理器中的累加运算模块进行三个数的累加运算比普通C语言编写的累加运算读写减少了82条指令,同时减少了106个时钟周期,累加运算的性能提升了52%,如图4-13所示。可以预见的是,所涉及的累加运算越多,性能提升越明显...
2022-06-28 11:19:26
2892
2
原创 【蜂鸟E203内核解析】Chap.2 E203内核中指令执行的过程-为什么E203是两级流水线?
E203内核是一个基于RISC-V指令集架构所设计的开源RISC-V内核,可以配置为 RV32IMAC架构[14],指令存储在ITCM,数据存储在DTCM。E203内核采用可变动的2级流水线结构。
2022-06-27 11:51:59
4305
1
原创 【蜂鸟E203内核解析】Chap.1 RISC-V指令集架构与硬件结构
处理器(Central Processing Uni,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。其组成分为软件、指令集、硬件这三个层面,如图2-1所示。其中,软件层面包括了运行于处理器上的操作系统、各种软件应用还有可以把高级语言的代码转换成底层硬件所认识的低级语言的程序编译器等。 指令集层面作为运行于底层硬件与软件之间的桥梁和规范的出入口,指令集架构(Instruction Set Architecture,简称ISA)的指令决定了处理器的主要功能。....
2022-06-27 11:19:52
6836
2
原创 【数字IC应届生职业规划】Chap.1 IC行业产业链概述及代表企业大厂汇总
芯片公司设计芯片——代工厂生产芯片——封测厂进行封装测试———整机商采购芯片用于整机生产
2022-06-26 17:24:44
1332
原创 【解决问题】Vivado中FPGA的LUTs资源与数据手册对不上
【解决问题】Vivado中FPGA的LUTs资源与数据手册对不上问题描述解决方法-打开综合时候的no_lc参考链接问题描述如题,发现LUT等资源与产品手册不一样,可以看到手册里XC7A200TFBR484有33650个逻辑片(Slices),即LUTs=4×33650 = 134600;但是Vivado里的资源利用只有133800,差了800个。解决方法-打开综合时候的no_lc解决了!参考链接你找到的LUT个数为什么和资源利用率报告中的不匹配https://cloud.tenc
2022-04-19 21:48:45
1167
3
原创 DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V 前言IMG2LCD软件生成RGB565格式图片 使用取模软件对图片取模实验结果生成彩色图片生成黑白图片后记源码分享前言官方所给的LCD实验《nuclei-board-labs-master\e203_hbirdv2\ddr200t\spi_lcd》只有显示字符的函数,并未提供显示图片的函数,在本人查找资料的过程中,发现了STM32的一些函数正好能用上。这里给出代码。IMG2LCD软件
2022-04-13 18:28:04
2127
10
原创 Vivado 蜂鸟 e203 烧录下载MCU200T/DDR200T FPGA-FLASH里 bit/mcs/bin文件 详细教程 RISC-V
Vivado 蜂鸟 e203 烧录MCU200T/DDR200T FPGA-FLASH里 bit/mcs/bin文件 详细教程 RISC-V 0. 配置好vivado工程1. 完成synthesis和implementation2. 生成bin文件3. 生成MCS文件4. DDR200T连接电脑5. 选择所烧录的FLASH的型号6. 烧录bit文件,在vivado工程里.run文件夹里呢7. helloworld验证参考链接0. 配置好vivado工程详见:https://blog.youkuaiyun.com
2022-04-13 17:20:41
4913
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人