
RISC-CPU设计
文章平均质量分 51
基于Verilog硬件描述语言实现简化的RISC-CPU
weixin_43701504
这个作者很懒,什么都没留下…
展开
-
RISC-CPU设计(八):地址多路器模块设计
1.地址多路器模块的作用 地址多路器用于选择输出的地址是PC(程序计数)地址还是数据/端口地址。每个指令周期的前4个时钟周期用于从ROM中读取指令,输出的应是PC地址,后4个时钟周期用于对RAM或端口的读写,该地址由指令给出。2.模块端口图 3.端口功能描述 地址的选择输出信号由时钟发生器产生的8分频信号FETCH提供。PC_ADDR为程序计数器产生的指令地址;IR_ADDR为指令寄存器输出信号OPC_IRADDRS的低13...原创 2021-11-04 09:06:07 · 460 阅读 · 0 评论 -
RISC-CPU设计(七):算术运算器模块(ALU)设计
1.算术运算器模块的作用 算术运算器模块根据输入的8种不同操作码(来自指令寄存器输出的最高三位)分别实现对应的加、与、异或、跳转等基本操作运算。利用这几种基本运算可以实现很多种其它运算以及逻辑判断等操作。2.模块端口图 3.端口功能描述 DATA和ACCUM分别是来自累加器和数据控制器的输出,OPCODE是来自指令寄存器输出的高三位指令信号,由时钟控制模块产生的alu_clk信号控制下,实现八种指令对应的不同操作,由ALU_OUT端口...原创 2021-11-03 21:23:03 · 2039 阅读 · 0 评论 -
RISC-CPU设计(六):RISC-CPU的寻址方式和指令系统
1.RISC-CPU的指令系统 本设计的RISC-CPU中,每条指令的长度一律为2字节(16bit),其中最高三位用于存放指令,剩余13位用于存放地址。用于存放地址的3bit数构成的指令系统仅由8条指令组成: (1)HLT:停机操作。该操作将空一个指令周期,即8个时钟周期。 (2)SKZ:为零跳过下一条语句。该操作先判断当前ALU中的结果是否为0,若是零就跳过下一条语句,否则就继续执行。 (3)ADD:相...原创 2021-11-02 19:50:33 · 2246 阅读 · 0 评论 -
RISC-CPU设计(五):数据控制器模块设计
1.数据控制器模块的作用 数据控制器用于控制累加器的数据输出。由于数据总线是各种操作时传输数据的公共通道,不同情况下传送不同的内容:有时传输指令,有时传输RAM区或接口的数据。累加器的数据只有在需要往RAM区域或端口写时才允许输出,否则输出应呈高阻态。2.模块端口图3.端口功能描述 任何部件往总线上输出数据时,都需要一个控制信号,而此控制信号的使能和关闭则由CPU状态控制器输出的各信号控制决定...原创 2021-11-02 08:41:20 · 565 阅读 · 0 评论 -
RISC-CPU设计(四):累加器模块设计
1.累加器模块的作用 累加器用于存放当前的结果。它也是双目运算中的一个数据来源。2.模块端口图3.端口功能描述 复位后,累加器的值是0。当累加器通过ENA端口收到来自CPU状态控制器LOAD_ACC信号时,在clk上升沿触发时就收到来自数据总线的数据。4.Verilog代码module accum ( clk , rst , ena , data , a...原创 2021-10-31 16:46:21 · 1252 阅读 · 0 评论 -
RISC-CPU设计(三):指令寄存器模块设计
1.指令寄存器模块的作用 顾名思义,指令寄存器用于寄存指令。2.模块端口图3.端口功能描述 指令寄存器的触发时钟是clk,在时钟上升沿的触发下,寄存器将数据总线送来的指令存入低8位或高8位寄存器中。但并不是每个clk的上升沿都寄存数据总线的数据,因为数据总线上有时传输指令,有时传输数据。什么时候寄存,什么时候不寄存,由CPU状态控制器的LOAD_IR信号控制。LOAD_IR信号通过ENA端口...原创 2021-10-30 17:17:41 · 1578 阅读 · 0 评论 -
RISC-CPU设计(二):RISC-CPU的结构及时钟发生器的设计
1.RISC-CPU的结构 简化的RISC-CPU由8个模块组成: (1)时钟发生器; (2)指令寄存器; (3)累加器; (4)算术逻辑运算单元; (5)数据控制器; (6)状态控制器; (7)程序计数器; (8)地址多...原创 2021-10-29 09:13:53 · 1210 阅读 · 0 评论 -
RISC-CPU设计(一):基本概念
1.什么是CPU CPU,即Central Processing Unit(中央处理单元)的缩写,是计算机的核心部件。ji'suan'q原创 2021-10-27 22:48:26 · 735 阅读 · 0 评论