OpenCores
URL https://opencores.org/ocsvn/connect-6/connect-6/trunk

Subversion Repositories connect-6

[/] [connect-6/] [trunk/] [BUILD_SCC/] [DE2/] [AI.vhd] - Blame information for rev 4

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

Line No. Rev Author Line
1 4 sumanta.ch
library ieee;
2
use ieee.std_logic_1164.all;
3
USE ieee.std_logic_arith.ALL;
4
 
5
 
6
 
7
entity AI is
8
        port(
9
        iAI_start:in std_logic;
10
        iAI_DATA: in std_logic_vector(63 downto 0);
11
        iCOLOR:in std_logic_vector(7 downto 0);
12
        imovecount:in std_logic_vector(16 downto 0);
13
        oAI_Done: out std_logic;
14
        oAI_DATA: out std_logic_vector(63 downto 0);
15
        iCLK: in std_logic;
16
        iRST_n:in std_logic
17
 
18
        );
19
end entity AI;
20
 
21
 
22
architecture c_to_g of AI is
23
 
24
component connect6ai_synth_tcab is
25
        port(
26
        clk: in std_logic;
27
        reset:in std_logic;
28
        stallbar_out:out std_logic;
29
        rawdataout_pico_ret_connect6ai_synth_0_outenable:out std_logic;
30
        rawdataout_pico_connect6ai_synth_moveout_out_0_0_outenable:out std_logic;
31
        rawdataout_pico_connect6ai_synth_moveout_out_1_0_outenable:out std_logic;
32
        rawdataout_pico_connect6ai_synth_moveout_out_2_0_outenable:out std_logic;
33
        rawdataout_pico_connect6ai_synth_moveout_out_3_0_outenable:out std_logic;
34
        rawdataout_pico_connect6ai_synth_moveout_out_4_0_outenable:out std_logic;
35
        rawdataout_pico_connect6ai_synth_moveout_out_5_0_outenable:out std_logic;
36
        rawdataout_pico_connect6ai_synth_moveout_out_6_0_outenable:out std_logic;
37
        rawdataout_pico_connect6ai_synth_moveout_out_7_0_outenable:out std_logic;
38
        start:in std_logic;
39
        rawdatain_pico_connect6ai_synth_firstmove_in_0_0:in std_logic_vector(16 downto 0);
40
        rawdatain_pico_connect6ai_synth_movein_0_in_1_0:in std_logic_vector(7 downto 0);
41
        rawdatain_pico_connect6ai_synth_movein_1_in_2_0:in std_logic_vector(7 downto 0);
42
        rawdatain_pico_connect6ai_synth_movein_2_in_3_0:in std_logic_vector(7 downto 0);
43
        rawdatain_pico_connect6ai_synth_movein_3_in_4_0:in std_logic_vector(7 downto 0);
44
        rawdatain_pico_connect6ai_synth_movein_4_in_5_0:in std_logic_vector(7 downto 0);
45
        rawdatain_pico_connect6ai_synth_movein_5_in_6_0:in std_logic_vector(7 downto 0);
46
        rawdatain_pico_connect6ai_synth_movein_6_in_7_0:in std_logic_vector(7 downto 0);
47
        rawdatain_pico_connect6ai_synth_movein_7_in_8_0:in std_logic_vector(7 downto 0);
48
        rawdatain_pico_connect6ai_synth_colour_in_9_0:in std_logic_vector(7 downto 0);
49
        rawdatain_pico_connect6ai_synth_moveout_0_in_10_0: in std_logic_vector(7 downto 0);
50
        rawdatain_pico_connect6ai_synth_moveout_1_in_11_0: in std_logic_vector(7 downto 0);
51
        rawdatain_pico_connect6ai_synth_moveout_2_in_12_0: in std_logic_vector(7 downto 0);
52
        rawdatain_pico_connect6ai_synth_moveout_3_in_13_0: in std_logic_vector(7 downto 0);
53
        rawdatain_pico_connect6ai_synth_moveout_4_in_14_0: in std_logic_vector(7 downto 0);
54
        rawdatain_pico_connect6ai_synth_moveout_5_in_15_0: in std_logic_vector(7 downto 0);
55
        rawdatain_pico_connect6ai_synth_moveout_6_in_16_0: in std_logic_vector(7 downto 0);
56
        rawdatain_pico_connect6ai_synth_moveout_7_in_17_0: in std_logic_vector(7 downto 0);
57
        rawdataout_pico_ret_connect6ai_synth_0:out std_logic;
58
        rawdataout_pico_connect6ai_synth_moveout_out_0_0: out std_logic_vector(7 downto 0);
59
        rawdataout_pico_connect6ai_synth_moveout_out_1_0: out std_logic_vector(7 downto 0);
60
        rawdataout_pico_connect6ai_synth_moveout_out_2_0: out std_logic_vector(7 downto 0);
61
        rawdataout_pico_connect6ai_synth_moveout_out_3_0: out std_logic_vector(7 downto 0);
62
        rawdataout_pico_connect6ai_synth_moveout_out_4_0: out std_logic_vector(7 downto 0);
63
        rawdataout_pico_connect6ai_synth_moveout_out_5_0: out std_logic_vector(7 downto 0);
64
        rawdataout_pico_connect6ai_synth_moveout_out_6_0: out std_logic_vector(7 downto 0);
65
        rawdataout_pico_connect6ai_synth_moveout_out_7_0: out std_logic_vector(7 downto 0)
66
 
67
        );
68
end component connect6ai_synth_tcab;
69
signal out_enables:std_logic_vector(7 downto 0);
70
signal out_enables_reg:std_logic_vector(7 downto 0);
71
signal AI_DATA,mAI_DATA: std_logic_vector(63 downto 0);
72
begin
73
oAI_DATA<=AI_DATA;
74
inst_ai:connect6ai_synth_tcab
75
        port map(
76
 
77
        clk=>iCLK,
78
        reset=>not(iRST_n),
79
        stallbar_out=>open,
80
        rawdataout_pico_ret_connect6ai_synth_0_outenable=>open,
81
        rawdataout_pico_connect6ai_synth_moveout_out_0_0_outenable=>out_enables(0),
82
        rawdataout_pico_connect6ai_synth_moveout_out_1_0_outenable=>out_enables(1),
83
        rawdataout_pico_connect6ai_synth_moveout_out_2_0_outenable=>out_enables(2),
84
        rawdataout_pico_connect6ai_synth_moveout_out_3_0_outenable=>out_enables(3),
85
        rawdataout_pico_connect6ai_synth_moveout_out_4_0_outenable=>out_enables(4),
86
        rawdataout_pico_connect6ai_synth_moveout_out_5_0_outenable=>out_enables(5),
87
        rawdataout_pico_connect6ai_synth_moveout_out_6_0_outenable=>out_enables(6),
88
        rawdataout_pico_connect6ai_synth_moveout_out_7_0_outenable=>out_enables(7),
89
        start=>iAI_start,
90
        rawdatain_pico_connect6ai_synth_firstmove_in_0_0=>imovecount,
91
        rawdatain_pico_connect6ai_synth_movein_0_in_1_0=>iAI_DATA(31 downto 24),
92
        rawdatain_pico_connect6ai_synth_movein_1_in_2_0=>iAI_DATA(23 downto 16),
93
        rawdatain_pico_connect6ai_synth_movein_2_in_3_0=>iAI_DATA(15 downto 8),
94
        rawdatain_pico_connect6ai_synth_movein_3_in_4_0=>iAI_DATA(7 downto 0),
95
        rawdatain_pico_connect6ai_synth_movein_4_in_5_0=>iAI_DATA(63 downto 56),
96
        rawdatain_pico_connect6ai_synth_movein_5_in_6_0=>iAI_DATA(55 downto 48),
97
        rawdatain_pico_connect6ai_synth_movein_6_in_7_0=>iAI_DATA(47 downto 40),
98
        rawdatain_pico_connect6ai_synth_movein_7_in_8_0=>iAI_DATA(39 downto 32),
99
        rawdatain_pico_connect6ai_synth_colour_in_9_0=>icolor,
100
        rawdatain_pico_connect6ai_synth_moveout_0_in_10_0=> to_stdlogicvector(x"00"),
101
        rawdatain_pico_connect6ai_synth_moveout_1_in_11_0=> to_stdlogicvector(x"00"),
102
        rawdatain_pico_connect6ai_synth_moveout_2_in_12_0=> to_stdlogicvector(x"00"),
103
        rawdatain_pico_connect6ai_synth_moveout_3_in_13_0=> to_stdlogicvector(x"00"),
104
        rawdatain_pico_connect6ai_synth_moveout_4_in_14_0=> to_stdlogicvector(x"00"),
105
        rawdatain_pico_connect6ai_synth_moveout_5_in_15_0=> to_stdlogicvector(x"00"),
106
        rawdatain_pico_connect6ai_synth_moveout_6_in_16_0=> to_stdlogicvector(x"00"),
107
        rawdatain_pico_connect6ai_synth_moveout_7_in_17_0=> to_stdlogicvector(x"00"),
108
        rawdataout_pico_ret_connect6ai_synth_0=>open,
109
        rawdataout_pico_connect6ai_synth_moveout_out_0_0=> mAI_DATA(63 downto 56),
110
        rawdataout_pico_connect6ai_synth_moveout_out_1_0=> mAI_DATA(55 downto 48),
111
        rawdataout_pico_connect6ai_synth_moveout_out_2_0=> mAI_DATA(47 downto 40),
112
        rawdataout_pico_connect6ai_synth_moveout_out_3_0=> mAI_DATA(39 downto 32),
113
        rawdataout_pico_connect6ai_synth_moveout_out_4_0=> mAI_DATA(31 downto 24),
114
        rawdataout_pico_connect6ai_synth_moveout_out_5_0=> mAI_DATA(23 downto 16),
115
        rawdataout_pico_connect6ai_synth_moveout_out_6_0=> mAI_DATA(15 downto 8),
116
        rawdataout_pico_connect6ai_synth_moveout_out_7_0=> mAI_DATA(7 downto 0)
117
        );
118
 
119
process(iCLK)
120
begin
121
                if rising_edge(iCLK) then
122
                        if(iAI_start='1') then
123
                                out_enables_reg<="00000000";
124
                                for i in 0 to 7 loop
125
                                AI_DATA( 63-8*i downto 56-8*i)<="00000000";
126
                                end loop;
127
                        else
128
                                for i in 0 to 7 loop
129
                                if(out_enables(i)='1') then
130
                                out_enables_reg(i)<=out_enables(i);
131
                                AI_DATA( 63-8*i downto 56-8*i)<=mAI_DATA(63-8*i downto 56-8*i);
132
                                else
133
                                out_enables_reg(i)<=out_enables_reg(i);
134
                                AI_DATA( 63-8*i downto 56-8*i)<=AI_DATA(63-8*i downto 56-8*i);
135
                                end if;
136
                                end loop;
137
                        end if;
138
                end if;
139
end process;
140
                        oAI_Done<= out_enables_reg(0) and out_enables_reg(1) and out_enables_reg(2) and out_enables_reg(3) and
141
                                out_enables_reg(4) and out_enables_reg(5) and out_enables_reg(6) and out_enables_reg(7);
142
 
143
                        --oAI_Done<= out_enables(0) and out_enables(1) and out_enables(2) and out_enables(3);
144
end architecture c_to_g;

powered by: WebSVN 2.1.0

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