02 2022 档案

摘要:数组、结构体和联合结构体 结构体 结构体是对一些相关信号进行分组的最方便办法。 struct{ int a,b ; opcode_t opcode ; logic [23:0] address ; bit error ; }instruction_word; assign instruction_w 阅读全文
posted @ 2022-02-25 15:52 骑猪上树的少年 阅读(491) 评论(0) 推荐(0) 编辑
摘要:用户自定义和枚举数据类型 用户自定义数据类型在保证正确性和可综合性的前提下,允许在更高的抽象级上进行复杂的设计。 用户自定义数据类型 typedef int unsigned unit ; unit a,b ;//自定义的32位无符号整数 typedef定义位置 模块内部:只有这个模块能访问,其他模 阅读全文
posted @ 2022-02-24 15:25 骑猪上树的少年 阅读(109) 评论(0) 推荐(0) 编辑
摘要:文本值和数据类型 文本赋值增强 parameter SIZE=64; reg [SIZE-1:0] data ; data = 0; data = 'bz ; data = 'bx ; verilog可以为变量赋全0,全z和全x,但对赋全1很不方便。只能写成如下形式 assign data = 16 阅读全文
posted @ 2022-02-24 10:42 骑猪上树的少年 阅读(154) 评论(0) 推荐(0) 编辑
摘要:包的使用 package definitions; parameter VERSION="1.1" ; typedef enum{ADD,SUB,MUL} opcodes_t; typedef struct{ logic [31:0] a,b; opcodes_t opcode }instructi 阅读全文
posted @ 2022-02-23 16:13 骑猪上树的少年 阅读(100) 评论(0) 推荐(0) 编辑
摘要:问题描述 在cshell模式下执行exit命令时,终端显示there aore suspended jobs 问题原因 我在cshell下跑DC综合时按ctrl z把进程进行了暂停 解决办法 使用命令jobs -l查看被挂起的进程 使用命令kill %n 杀死进程n 或者fg %n 激活进程n 阅读全文
posted @ 2022-02-23 10:04 骑猪上树的少年 阅读(706) 评论(0) 推荐(0) 编辑
摘要:寄存器重命名 7.1 概述 数据相关性分为WAW、WAR、RAW,只有RAW是真的相关性,其他两种相关性都是和寄存器名字相关,可通过寄存器重命名解决。 由于是寄存器个数有限导致了假相关性的存在,那么解决办法就是增加寄存器个数。如果增加指令集中的寄存器个数,那么会导致以前的程序需要重新编译。所以可以采 阅读全文
posted @ 2022-02-22 17:36 骑猪上树的少年 阅读(775) 评论(0) 推荐(0) 编辑
摘要:DC综合 1、综合分类 行为级综合 RTL级综合 逻辑级综合 准备好源代码,最终完成RTL级综合 2、DC综合 2.1 转换 综合工具将源代码转化为中间网表 2.2 优化 综合工具对中间级网表优化,去掉冗余单元,加入限制条件对电路进行优化。 2.3 映射 将优化后的电路映射到工艺库 3、编写利于综合 阅读全文
posted @ 2022-02-22 15:41 骑猪上树的少年 阅读(1467) 评论(0) 推荐(0) 编辑
摘要:指令集体系 5.1 复杂指令集和精简指令集 指令集ISA:包含基本数据类型、指令、寄存器、寻址模式、存储体系、中断、异常以及外部I/O等内容。 5.2 精简指令集概述 MIPS指令集 I-type:使用16位立即数,rs、rt为源寄存器和目的寄存器 J-Type:使用26位立即数,一般用于跳转类型指 阅读全文
posted @ 2022-02-22 14:55 骑猪上树的少年 阅读(236) 评论(0) 推荐(0) 编辑
摘要:指令解码 指令解码:将指令中携带的信息提取出来,处理器使用这些信息来控制后续的流水线执行这条指令。 CISC指令长度不固定,解码首先需要分辨指令边界,寻址方式也很复杂,提升了解码难度。 RISC指令长度固定,寻址方式相对简单,解码更容易。 超标量处理器希望一个周期能够解码n条指令,对应n个解码电路。 阅读全文
posted @ 2022-02-22 14:55 骑猪上树的少年 阅读(328) 评论(0) 推荐(0) 编辑
摘要:分支预测 4.1 概述 分支预测和Cache一起左右着处理器的性能,一个准确度很高的分支预测是提高处理器性能的关键部件。但由于不同程序的不同特性,适用于某个程序的分支预测器可能在另一个程序上效果很差。 取指阶段要对跳转指令进行预测,避免流水线无用功造成浪费。如果等到跳转结果计算出来再进行取指,就会造 阅读全文
posted @ 2022-02-22 14:54 骑猪上树的少年 阅读(549) 评论(0) 推荐(0) 编辑
摘要:Cache 2.1 Cache的一般设计 cache的产生原因:大容量存储器的访问速度和处理器的运行速度不匹配 并且数据之间存在时间相关性和空间相关性,即一个数据现在被访问以后可能还会被访问,它周围的数据也可能会被访问。 L1cache速度最快,紧密耦合在处理器流水线中。 L1 cache一般包含指 阅读全文
posted @ 2022-02-18 11:07 骑猪上树的少年 阅读(1196) 评论(0) 推荐(0) 编辑
摘要:虚拟存储器 3.1概述 对一个程序来说,程序、数据和堆栈的总大小总是超过实际物理内存的大小,因此操作系统希望把当前使用的部分内容放到物理内存,把其他未使用的内容放到下一级存储器。 对于32位处理器来说,其地址空间0-0xFFFF_FFFF,4GB,其中一个地址就称为虚拟地址。与之相对的是物理存储器, 阅读全文
posted @ 2022-02-18 11:05 骑猪上树的少年 阅读(255) 评论(0) 推荐(0) 编辑
摘要:超标量处理器概览 1.1为什么需要超标量 处理器执行速度的影响因素 程序中指令的数量 每条指令在处理器中执行所需要的周期数 普通流水线处理器每周期最多执行1条指令 超标量处理器每周期可以执行多于一条的指令 但不是每周期执行多于一条指令的处理器都是超标量处理器,如VLIW结构的也可以(依靠编译器和程序 阅读全文
posted @ 2022-02-16 16:40 骑猪上树的少年 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:理字节顺序 7.1 介绍 7.2 定义 最高有效位(MSB) 最低有效位(LSB) 大端模式:最高有效位放在最低存储器地址处 小端模式:将最低有效位保存在最低存储器地址处 字节0表示最低存储器地址 7.3 小端模式或大端模式:哪个更好 7.4 处理字节顺序不匹配的问题 字节顺序一般只会在两台电脑通信 阅读全文
posted @ 2022-02-16 10:54 骑猪上树的少年 阅读(116) 评论(0) 推荐(0) 编辑
摘要:消抖技术 8.1 简介 抖动产生的电压波形干扰正常逻辑电路的振幅和时序规格要求,导致亚稳定性、竞争、小脉冲和故障等问题导致电路失效。 8.2 开关行为 触点抖动所花的时间通常是毫秒级,但数字电路能在毫秒甚至更快时间内响应。 8.3 开关种类 8.4 消抖 RC消抖 缺点是可能会出现快速断开和快速闭合 阅读全文
posted @ 2022-02-16 10:53 骑猪上树的少年 阅读(387) 评论(0) 推荐(0) 编辑
摘要:亚稳态的世界 1.1 简介 同步系统中输入信号总是满足触发器的时序要求,不会发生亚稳态。 异步系统中,由于数据和时钟的关系不固定,所以可能会出现违反建立时间和保持时间的现象,出现亚稳态。 1.2 亚稳态理论 并非所有不满足建立和保持时间的输入变化都会导致亚稳态。 触发器是否进入亚稳态和返回亚稳态所需 阅读全文
posted @ 2022-02-15 11:35 骑猪上树的少年 阅读(85) 评论(0) 推荐(0) 编辑
摘要:时钟和复位 2.1 概述 2.2 同步设计 经验表明,对ASIC的时域控制最安全的方法就是同步设计。 行波计数器 避免使用上一级触发器数据输出作为下一级触发器时钟输入,会导致延迟累计增加。 门控时钟 时钟线上的门控单元会导致时钟偏移,并会引入尖峰脉冲作用于触发器。 双边沿或混合边沿时钟 会为使用同步 阅读全文
posted @ 2022-02-15 11:34 骑猪上树的少年 阅读(346) 评论(0) 推荐(0) 编辑
摘要:时钟分频器 4.2 同步整数分频器 无法产生50%占空比 4.3 具有50%占空比的奇数整数分频 原理:产生50%占空比的奇数分频时钟最简单的方式是以期望输出频率的一半生成两个正交相位时钟,然后异或得到输出频率。 4.4 非整数分频(非50%占空比) 具有非50%占空比的1.5倍分频 4.5倍分频计 阅读全文
posted @ 2022-02-15 11:30 骑猪上树的少年 阅读(234) 评论(0) 推荐(0) 编辑
摘要:处理多个时钟 3.2 多时钟域 时钟频率不同 时钟频率相同,但相位不同 3.3 多时钟域设计的难题 建立时间和保持时间的违背 亚稳态 3.4 多时钟设计的处理技术 相关信号命名时指明所属时钟域。 分块化设计 每个模块只在单个始终下工作 信号需要跨时钟域传输时,使用同步器模块。 同步器模块规模尽可能小 阅读全文
posted @ 2022-02-15 11:29 骑猪上树的少年 阅读(171) 评论(0) 推荐(0) 编辑
摘要:低功耗设计 5.2 功耗源 浪涌:器件上电时产生的最大瞬时输入电流 静态功耗:晶体管的漏电流所导致 动态功耗:逻辑转换 5.3 在各设计抽象层次降低功耗 层次越高,对功耗降低越有效。 5.4 系统级低功耗技术 8位处理器来处理16位数据会增加大量排序。 16位乘法使用16位处理器需要30条指令,而在 阅读全文
posted @ 2022-02-15 11:27 骑猪上树的少年 阅读(446) 评论(0) 推荐(0) 编辑
摘要:AXI总线接口设计 CPU通过总线与系统中的内存、外设进行交互。 CPU内部进行调整适应总线接口下的访存行为 设计遵循AXI总线协议的接口 8.1 类SRAM总线 AXI:主方一旦发起某一地址或数据的传输,在该传输握手成功前,不得更改传输的地址或数据。 8.2 类SRAM总线的设计 8.3 AXI总 阅读全文
posted @ 2022-02-10 16:37 骑猪上树的少年 阅读(753) 评论(0) 推荐(0) 编辑
摘要:在流水线中添加运算类指令 5.1 算术逻辑运算类指令的添加 添加指令步骤 阅读spec,明确指令功能定义 根据功能设计数据通路,能复用的就复用,不能复用就新增 根据调整后的数据通路,书里所有指令对应的控制信号。 5.2 乘除法运算类指令的添加 传统MIPS32规范中额外定义HI和LO两个32位寄存器 阅读全文
posted @ 2022-02-10 16:35 骑猪上树的少年 阅读(180) 评论(0) 推荐(0) 编辑
摘要:简单流水线CPU设计 单周期CPU设计 冲突处理 流水线前递技术 4.1 设计一个简单的单周期CPU 4.1.1 设计单周期CPU的总体思路 指令系统规范 一般性设计方法 数据通路+控制逻辑 4.1.2 单周期CPU的数据通路设计 任何时候CPU上运行的程序中出现的地址都是虚地址,而CPU本身访问内 阅读全文
posted @ 2022-02-09 17:47 骑猪上树的少年 阅读(109) 评论(0) 推荐(0) 编辑
摘要:3、数字逻辑电路设计基础 3.1 数字逻辑电路设计与verilog代码开发 3.1.1 面向硬件电路的设计思维方式 硬件设计思维核心:数据通路+控制逻辑 设计电路先想清楚数据通路 3.1.2 行为描述的verilog编程风格 verilog描述分为行为描述和电路描述 3.1.3 自顶向下的设计划分过 阅读全文
posted @ 2022-02-09 14:52 骑猪上树的少年 阅读(102) 评论(0) 推荐(0) 编辑
摘要:1、CPU芯片研发概述 1.1 处理器和处理器核 一个处理器芯片除了包含处理器核(一个或多个),还回包含高速缓存、总线接口等一系列其他功能模块。 处理器核是处理器芯片中真正执行指令、进行运算和控制的核心。 1.2 芯片产品的研制过程 芯片定义 芯片设计:硅片设计与封装设计 芯片制造:掩膜制造、晶圆生 阅读全文
posted @ 2022-02-09 14:50 骑猪上树的少年 阅读(110) 评论(0) 推荐(0) 编辑

回到顶部
点击右上角即可分享
微信分享提示