IC设计
文章平均质量分 89
内 鬼
所有博文与笔记在GitHub Repository:redlightASl/Notes进行实时更新,如转载请标明出处。现已切换到个人博客进行更新,redlightasl.top
展开
-
《可定制计算》阅读笔记
《可定制计算》阅读笔记本笔记以基础概念为线索编写,黑体部分是关键字登纳德缩放定律:晶体管在满足内电场恒定(即每代芯片的供电电压降低30%)条件下,晶体管尺寸每代(约两年)减少30%。结合该定律和摩尔定律可得推论:晶体管密度每代翻倍,同时晶体管延时降低30%,功耗降低50%,能耗降低65%换句话说,同面积下能集成晶体管的数目翻倍,带来功耗和频率的翻倍,就好像同面积的电路被缩放到原来的1/4但是到21世纪早期,由于量子效应,晶体管漏电功耗显著增加,登纳德定律逐渐失效定制计算:调整处理器结构以原创 2021-10-23 11:12:42 · 561 阅读 · 0 评论 -
RISC-V学习笔记【存储器与总线】
存储器架构存储器架构简介虽然这部分的内容是存储器,但是因为蜂鸟的原书将BIU总线放到了存储器架构部分的后面,考虑到两者关系还是比较密切的,这里就把存储器架构和总线协议放在一起,个人认为这样更便于理解蜂鸟E203的处理器中没有配备缓存,处理器外则分别配备了ITCM和DTCM用于存储指令和数据虽然在常见的PC的CPU大都配备了缓存,甚至有一二三级不同缓存用来提高内核执行效率,但实际上大部分的低功耗中低性能处理器并没有配备缓存,主要原因在于以下几点:缓存无法保证实时性缓存利用软件程序的时间局部性和原创 2021-06-13 16:26:16 · 4907 阅读 · 1 评论 -
RISC-V学习笔记【交付与写回】
蜂鸟E203的交付与写回机制在经典的五级流水线模型中并没有交付的概念,在这里交付(Commit)指的是该指令不再是预测执行(Speculative)状态,而是被判定为可以真正地在处理器中被执行交付的反义词就是“取消”(Cancel),表示该指令最后被判定为需要取消如果处理器流水线需要将没有交付的后续指令全部取消时,就会导致“流水线冲刷”的产生,下面依次来介绍交付与流水线冲刷通常情况下交付都是顺序判定,理论上只有前一条指令完成交付之后才会轮到后一条指令交付以下因素会映像指令交付:中断、异常、原创 2021-06-12 13:50:28 · 1838 阅读 · 4 评论 -
RISC-V学习笔记【配套SoC简介】
蜂鸟E203的配套SoC设计该SoC可以在蜂鸟e200的开源库中的/rtl/e203/soc目录下找到,目录下的文件是整个蜂鸟e203的顶层文件,外设相关verilog代码在perips目录下,时钟、总线和其他内容在subsys目录下基于Freedom E310 SoC进行二次开发系统的SoC设计如下图所示本文仅简单介绍E203的外设资源和大致的配置方法,详细的寄存器功能请翻阅官方文档或书籍存储资源ITCM指令紧耦合存储器:RISC-V处理器内核私有指令存储器有以下特性大小、地址区间原创 2021-06-12 10:53:21 · 2166 阅读 · 1 评论 -
RISC-V学习笔记【协处理器】
RISC-V扩展指令子集RISC-V具有很高的可扩展性,既预留出了指令编码空间,也提供了预定义的Custom指令RISC-V的标准指令集仅使用了少部分指令编码空间,更多的指令编码空间被预留给用户进行扩展指令用户可向自己的RISC-V内核中加入16位宽和32位宽的不同指令,每个指令的编码空间除了用于寄存器操作数的索引外,还剩余众多位的编码空间,这些未定义的编码空间可以通过自定义指令加以利用,这也就让RISC-V灵活性得到了很大提高,为FPGA实现软核与挂载附加硬件加速电路提供方便。总体上来说用户可使用的原创 2021-06-12 10:50:08 · 2889 阅读 · 8 评论 -
RISC-V学习笔记【执行】
蜂鸟E200的EXU单元蜂鸟E200系列CPU是两级流水线架构,其译码、执行、交付、写回功能全部处于流水线的第二级这些功能使用执行单元EXU完成,EXU功能如下将IFU通过IR寄存器发送给EXU的指令进行译码与派遣(会在下面介绍)通过译码得出的操作数寄存器索引读取寄存器组维护指令的数据相关性将指令派遣给不同的运算单元执行交付指令将指令的运算结果写回寄存器组译码经典五级流水线结构中,取指-译码-执行分为三个阶段进行,通过译码让CPU获取指令读取/写回的操作数寄存器索引、指令类型、指令操原创 2021-06-12 10:45:28 · 2719 阅读 · 2 评论 -
RISC-V学习笔记【调试】
蜂鸟E203的开源调试实现蜂鸟E203在处理器内核外集成了一套调试外设,能够支持完整的GDB调试功能,并可以通过openocd经由jtag接口实现在线调试调试机制交互调试Interactive Debug交互调试是处理器提供的最常见的一种调试功能,指调试器软件能够直接对处理器取得控制权,进而对其以一种交互的方式进行调试一般的交互调试要求调试软件能够控制处理器实现以下功能:下载、启动程序通过设定各种特定条件来停止程序查看并改变处理器的运行状态查看通用寄存器、存储器地址的值查看并改变程序状原创 2021-06-09 22:51:32 · 2866 阅读 · 2 评论 -
RISC-V学习笔记【中断和异常】
RISC-V架构的中断与异常一般来说由处理器内部的事件或程序执行中的事件引起的程序跳转称为异常;一般的由处理器外部因素引起的程序跳转称为中断广义上来说中断和异常都被处理器视为异常,一般将其分为同步异常和异步异常同步异常同步异常:由于执行程序指令流或者试图执行程序指令流而造成的异常表现:CPU外部环境一定,多次执行时每次能够精确复现常见的同步异常包括但不限于:取指令访问到非法的地址区间读写数据访问地址属性出错取指令地址非对齐错误非法指令错误执行调试断点指令异步异常异步异常:产生原原创 2021-04-05 20:16:25 · 17253 阅读 · 5 评论 -
RISC-V学习笔记【取指】
处理器取指每条指令在存储器空间中所处的地址称为它的指令PC,取址指处理器核将指令(按照其指令PC值对应的存储器地址)从存储器中读取出来的过程取址的目标如下:快速取址连续取址可能面对的问题如下:指令的编码宽度不相等,导致PC地址与地址边界无法对齐分支跳转指令执行后,可能导致跳转到另一个不连续的PC处,取址时需要从新的PC值对应的存储器地址读出指令处理器会按顺序执行非分支跳转指令,需要按顺序从存储器中读取指令传统RISC架构处理器的解决方案连续不断地从存储器中顺序读取出非分支跳转指原创 2021-03-27 12:00:32 · 4779 阅读 · 0 评论 -
RISC-V学习笔记【系统设计】
蜂鸟E200系列处理器简介特色:开源、免费高能效比针对IoT领域设计,支持RV32I/E/A/M/C/F/D等指令子集和机器模式2级流水线,功耗和性能均优于主流商用的ARM Cortex-M处理器提供完整的配套SoC(包括中断控制器、定时器、UART、QSPI、PWM等外设)、FPGA原型平台搭建步骤、软件运行示例方便开发(提供GCC编译工具链)、调试(提供JTAG接口和成熟的软件调试工具)型号系列简介:E201(对标Cortex-M0+)面积最小,可配置为RV32IC/EC,不原创 2021-03-16 23:13:02 · 1798 阅读 · 0 评论 -
RISC-V学习笔记【简介】
本学习笔记参考《手把手教你设计CPU——RISC-V处理器》一书,该书出版日期为2018年,可能部分内容已经过时,仅作为学习用途RISC-V简介RISC-V的设计理念就是“简单”(有C语言内味了)RISC-V通过架构的定义使硬件的实现足够简单,实现“简单就是美”的设计哲学riscv的架构文档分成“非特权架构文档”(曾经被称为“指令集文档”)和“特权架构文档”,在需求高性能时,核心可以运行在特权+非特权的模式下;在需求高实时性时,核心可以只运行在非特权模式下。RISCV具有模块化的指令集,可以通过组原创 2021-03-11 17:05:34 · 5689 阅读 · 2 评论 -
Tcl脚本语法简介
文章目录Tcl脚本在IC领域的主要用途复杂文本处理自动化执行flow辅助EDA开发Tcl脚本简介Tcl解释器Tcl数据类型列表关联数组(字典)句柄Tcl基本语法注释标示符空格与分隔命令引用与替换表达式赋值运算符控制语句函数正则表达式Tcl脚本在IC领域的主要用途复杂文本处理Tcl可以把文本中的每一行变为一个列表,最简单的列表就是包含由任意个空格、制表符、换行符分隔开的任意多个元素的字符串,可以直接根据元素编号来获取字符串内容Tcl也支持正则表达式自动化执行flow对于一些流程化的flow,可以编原创 2021-03-01 15:10:01 · 11196 阅读 · 0 评论