TinyMicro control unit X66986


Statement
 

pdf   zip

Design the control unit of the TinyMicro.

Specification

module control_unit (Instruction, Instruction_Address, EnA, EnB, Op,
                     ReadWrite, MemConst, MemALU, Zero, Positive, Const,
                     clk, rst);
    input [7:0] Instruction;
    output [5:0] Instruction_Address;
    output [1:0] Op;
    output [7:0] Const;
    output EnA, EnB, ReadWrite, MemConst, MemALU;
    input Zero, Positive;
    input clk, rst;

Input

  • Instruction is the instruction coming from the instruction memory.

  • Zero is the signal that is asserted when the zero condition for a jump is true.

  • Positive is the signal that is asserted when the positive condition for a jump is true.

  • clk is the clock signal of the circuit.

  • rst is the reset signal of the circuit.

Output

  • Instruction_Address is the address sent to the instruction memory (program counter).

  • Op indicates the type of operation for ALU instructions.

  • Const is the constant encoded in instruction register (sign-extended up to 8 bits).

  • EnA and EnB are the signals that enable writing into registers RA ad RB, respectively.

  • ReadWrite is the signal the indicates whether to read (0) from or write (1) into data memory.

  • MemConst is the signal that controls the datapath multiplexer selecting between data memory (0) and constant from the instruction register (1).

  • MemALU is the signal that controls the datapath multiplexer selecting between memory/constant (0) and the ALU output (1).

Information
Author
Jordi Cortadella
Language
English
Official solutions
Verilog
User solutions
Verilog