📄 the_6th_cu.v
字号:
// **********************************************************************// ** Revision :1.0// ** File name :The_6th_CU.v// ** Module name :The_6th_CU// ** Discription :本模块定义了一个8位计算机的控制器。包括一个状态转换部分// ** 和一个控制信号形成部分。// ** PS :(1)状态转换部分定义了4个状:// ** FIRST:计算机处于指令执行的第一个时钟周期// ** SECOND:计算机处于指令执行的第二个时钟周期// ** THIRD:计算机处于指令执行的第三个时钟周期// ** HLT:计算机处于停机状态。当计算机处于指令执行的第三个// ** 时钟周期的时候,如果检测到正在执行的指令是停机指// ** 令,则计算机状态将转入停机状态。如果计算机处于停// ** 机状态,只有reset→0可以来重新触发,否则计算机将// ** 永远处于停机状态;// ** (2)控制信号形成部分首先将CPU各控制信号置0,即系统初始状// ** 态;然后根据计算机的状态和指令寄存器里面的指令,给出// ** 有用的控制信号,从而控制计算机在各时钟周期内进行相应// ** 操作。// ** Simulator :ModelSim SE 6.0c// **********************************************************************`timescale 1ns / 1psmodule The_6th_CU(CLE, ZLE, ALU_OP, ACLE, GR_address, GRLE, IRLE, ARLE, PCLE, PCCE, mux_DB_sel, mux_AB_sel, clk, reset, C_in, Z_in, IR_in, CS, RD, WR, MUL_enable, DIV_enable); parameter FIRST = 'b00,SECOND = 'b01,THIRD = 'b10,HLT = 'b11; //控制器输出: output CLE; reg CLE; // CLE:1b,C标志寄存器载入使能; output ZLE; reg ZLE; // ZLE:1b,Z标志寄存器载入使能 output ACLE; reg ACLE; // ACLE:1b,累加器AC载入使能; output GRLE; reg GRLE; // GRLE:1b,通用寄存器GR载入使能; output ARLE; reg ARLE; // ARLE:1b,地址寄存器AR载入使能; output IRLE; reg IRLE; // IRLE:1b,指令寄存器IR载入使能; output PCLE; reg PCLE; // PCLE:1b,程序计数器PC载入使能; output PCCE; reg PCCE; // PCCE:1b,程序计数器计数使能; output MUL_enable; reg MUL_enable; //MUL_enable: 1b,乘法器件载入使能; output DIV_enable; reg DIV_enable; //DIV_enable: 1b,除法器件载入时能; output [4:0] ALU_OP; reg [4:0] ALU_OP; //ALU_OP: 5b,算术逻辑运算部件ALU功能控制码; output [2:0] GR_address; reg [2:0] GR_address; //GR_address:3b,通用寄存器GR地址; output [2:0] mux_DB_sel; reg [2:0] mux_DB_sel; //mux_DB_sel:3位,通向数据总线DB的八选一开关控制; output mux_AB_sel; reg mux_AB_sel; //mux_AB_sel:1位,通向地址总线AB的二选一开关控制; output RD; reg RD; //RD: 1位,存储器读控制
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -