-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcustominstruction_cpu_0.vhd
89 lines (73 loc) · 3.03 KB
/
custominstruction_cpu_0.vhd
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
--Legal Notice: (C)2007 Altera Corporation. All rights reserved. Your
--use of Altera Corporation's design tools, logic functions and other
--software and tools, and its AMPP partner logic functions, and any
--output files any of the foregoing (including device programming or
--simulation files), and any associated documentation or information are
--expressly subject to the terms and conditions of the Altera Program
--License Subscription Agreement or other applicable license agreement,
--including, without limitation, that your use is for the sole purpose
--of programming logic devices manufactured by Altera and sold by Altera
--or its authorized distributors. Please refer to the applicable
--agreement for further details.
-- turn off superfluous VHDL processor warnings
-- altera message_level Level1
-- altera message_off 10034 10035 10036 10037 10230 10240 10030
library altera;
use altera.altera_europa_support_lib.all;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity custominstruction_cpu_0 is
port (
-- inputs:
signal a : IN STD_LOGIC_VECTOR (4 DOWNTO 0);
signal c : IN STD_LOGIC_VECTOR (4 DOWNTO 0);
signal clk : IN STD_LOGIC;
signal clk_en : IN STD_LOGIC;
signal dataa : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
signal readra : IN STD_LOGIC;
signal reset : IN STD_LOGIC;
signal start : IN STD_LOGIC;
signal writerc : IN STD_LOGIC;
-- outputs:
signal result : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
);
end entity custominstruction_cpu_0;
architecture europa of custominstruction_cpu_0 is
component z80acc is
port (
-- inputs:
signal a : IN STD_LOGIC_VECTOR (4 DOWNTO 0);
signal c : IN STD_LOGIC_VECTOR (4 DOWNTO 0);
signal clk : IN STD_LOGIC;
signal clk_en : IN STD_LOGIC;
signal dataa : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
signal readra : IN STD_LOGIC;
signal reset : IN STD_LOGIC;
signal start : IN STD_LOGIC;
signal writerc : IN STD_LOGIC;
-- outputs:
signal result : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
);
end component z80acc;
signal internal_result : STD_LOGIC_VECTOR (31 DOWNTO 0);
begin
--s1, which is an e_custom_instruction_slave
--the_z80acc, which is an e_instance
the_z80acc : z80acc
port map(
result => internal_result,
a => a,
c => c,
clk => clk,
clk_en => clk_en,
dataa => dataa,
readra => readra,
reset => reset,
start => start,
writerc => writerc
);
--vhdl renameroo for output signals
result <= internal_result;
end europa;