-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFunctionCache.vhd.bak
More file actions
35 lines (31 loc) · 826 Bytes
/
Copy pathFunctionCache.vhd.bak
File metadata and controls
35 lines (31 loc) · 826 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY RealControlUnit IS
GENERIC (
SIZE : INTEGER := 16
);
PORT (
DIN, R0, R1, R2, R3, R4, R5, R6, R7, G : IN STD_LOGIC_VECTOR(SIZE - 1 DOWNTO 0);
R_OUT : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
DIN_OUT : IN STD_LOGIC;
G_OUT : IN STD_LOGIC;
BUS_OUT : OUT STD_LOGIC_VECTOR(SIZE - 1 DOWNTO 0)
);
END RealControlUnit;
ARCHITECTURE dataflow OF RealControlUnit IS
BEGIN
BUS_OUT <=
DIN WHEN DIN_OUT='1' ELSE
G WHEN G_OUT='1' ELSE
R0 WHEN R_OUT(0) = '1' ELSE
R1 WHEN R_OUT(1) = '1' ELSE
R2 WHEN R_OUT(2) = '1' ELSE
R3 WHEN R_OUT(3) = '1' ELSE
R4 WHEN R_OUT(4) = '1' ELSE
R5 WHEN R_OUT(5) = '1' ELSE
R6 WHEN R_OUT(6) = '1' ELSE
R7 WHEN R_OUT(7) = '1' ELSE
(OTHERS => '0');
END dataflow;