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

Subversion Repositories minimips_superscalar

[/] [minimips_superscalar/] [trunk/] [sources/] [delay_gate.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 mcafruni
--------------------------------------------------------------------------
2
--                                                                      --
3
--                                                                      --
4
-- miniMIPS Superscalar Processor : delay gate stage                    --
5
-- based on miniMIPS Processor                                          --
6
--                                                                      --
7
--                                                                      --
8
-- Author : Miguel Cafruni                                              --
9
-- miguel_cafruni@hotmail.com                                           --
10
--                                                      December 2018   --
11
--------------------------------------------------------------------------
12
 
13
library IEEE;
14
use IEEE.std_logic_1164.all;
15
use IEEE.numeric_std.all;
16
 
17
library work;
18
use work.pack_mips.all;
19
 
20
entity delay_gate is
21
port (
22
    clock : in bus1;
23
    in1   : in bus1;
24
    in2   : in bus1;
25
    in3   : in bus1;
26
    in4   : in bus1;
27
    in5   : in bus1;
28
    in6   : in bus1;
29
    in7   : in bus1;
30
    in8   : in bus1;
31
    in9   : in bus1;
32
    in10  : in bus1;
33
    in11  : in bus1;
34
    in12  : in bus1;
35
    out1  : out bus1;
36
    out2  : out bus1;
37
    out3  : out bus1;
38
    out4  : out bus1;
39
    out5  : out bus1;
40
    out6  : out bus1;
41
    out7  : out bus1;
42
    out8  : out bus1;
43
    out9  : out bus1;
44
    out10 : out bus1;
45
    out11 : out bus1;
46
    out12 : out bus1
47
);
48
end delay_gate;
49
 
50
architecture rtl of delay_gate is
51
 
52
signal s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12 : bus1;
53
 
54
begin
55
        s1  <= in1;
56
        s2  <= in2;
57
        s3  <= in3;
58
        s4  <= in4;
59
        s5  <= in5;
60
        s6  <= in6;
61
        s7  <= in7;
62
        s8  <= in8;
63
        s9  <= in9;
64
        s10 <= in10;
65
        s11 <= in11;
66
        s12 <= in12;
67
        -- saidas deixam passar as entradas com meio ciclo de atraso
68
        process (clock)
69
        begin
70
                if falling_edge(clock) then
71
                        out1  <= s1;
72
                        out2  <= s2;
73
                        out3  <= s3;
74
                        out4  <= s4;
75
                        out5  <= s5;
76
         out6  <= s6;
77
         out7  <= s7;
78
         out8  <= s8;
79
                        out9  <= s9;
80
         out10 <= s10;
81
                        out11 <= s11;
82
         out12 <= s12;
83
       end if;
84
                        out1  <= s1;
85
                        out2  <= s2;
86
                        out3  <= s3;
87
                        out4  <= s4;
88
                        out5  <= s5;
89
         out6  <= s6;
90
         out7  <= s7;
91
         out8  <= s8;
92
                        out9  <= s9;
93
         out10 <= s10;
94
                        out11 <= s11;
95
         out12 <= s12;
96
        end process;
97
end rtl;

powered by: WebSVN 2.1.0

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