OpenCores
URL https://opencores.org/ocsvn/opencpu32/opencpu32/trunk

Subversion Repositories opencpu32

[/] [opencpu32/] [trunk/] [hdl/] [opencpu32/] [ControlUnit.vhd] - Blame information for rev 22

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 22 leonardoar
--! @file
2
--! @brief ControlUnit http://en.wikipedia.org/wiki/Control_unit
3
 
4
--! Use standard library and import the packages (std_logic_1164,std_logic_unsigned,std_logic_arith)
5
library IEEE;
6
use ieee.std_logic_1164.all;
7
use ieee.std_logic_unsigned.all;
8
use ieee.std_logic_arith.all;
9
 
10
--! Use CPU Definitions package
11
use work.pkgOpenCPU32.all;
12
 
13
--! The control unit coordinates the input and output devices of a computer system. It fetches the code of all of the instructions \n
14
--! in the microprograms. It directs the operation of the other units by providing timing and control signals. \n
15
--! all computer resources are managed by the Control Unit.It directs the flow of data between the cpu and the other devices.\n
16
--! The outputs of the control unit control the activity of the rest of the device. A control unit can be thought of as a finite-state machine.
17
 
18
--! The purpose of datapaths is to provide routes for data to travel between functional units.
19
entity ControlUnit is
20
    Port ( reset : in  STD_LOGIC;
21
           clk : in  STD_LOGIC;
22
           FlagsDp : in  STD_LOGIC_VECTOR (7 downto 0);
23
           DataDp : in  STD_LOGIC_VECTOR (7 downto 0);
24
           MuxDp : out  STD_LOGIC_VECTOR (2 downto 0);
25
           ImmDp : out  STD_LOGIC_VECTOR (7 downto 0);
26
           DpRegFileWriteAddr : out  STD_LOGIC;
27
           DpRegFileWriteEn : out  STD_LOGIC;
28
           DpRegFileReadAddrA : out  STD_LOGIC;
29
           DpRegFileReadAddrB : out  STD_LOGIC;
30
           DpRegFileReadEnA : out  STD_LOGIC;
31
           DpRegFileReadEnB : out  STD_LOGIC;
32
           MemoryDataInput : in  STD_LOGIC_VECTOR (7 downto 0);
33
           MemoryDataAddr : out  STD_LOGIC_VECTOR (7 downto 0);
34
           MemoryDataOut : out  STD_LOGIC_VECTOR (7 downto 0));
35
end ControlUnit;
36
 
37
--! @brief ControlUnit http://en.wikipedia.org/wiki/Control_unit
38
--! @details The control unit receives external instructions or commands which it converts into a sequence of control signals that the control \n
39
--! unit applies to data path to implement a sequence of register-transfer level operations.
40
architecture Behavioral of ControlUnit is
41
 
42
begin
43
 
44
 
45
end Behavioral;
46
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.