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

Subversion Repositories idea

[/] [idea/] [trunk/] [behavioral/] [key_regulator/] [mux12to6x.vbe] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 marta
--Nama file : mux12to6x.vbe
2
--Deskripsi : mux 12 to 6 16 bit
3
--Author    : Mas Adit
4
--Tanggal  : 27 Agustus 2001
5
 
6
 
7
entity mux12to6x is
8
port (
9
         i1 : in bit_vector(15 downto 0);
10
        i2 : in bit_vector(15 downto 0);
11
        i3 : in bit_vector(15 downto 0);
12
        i4 : in bit_vector(15 downto 0);
13
        i5 : in bit_vector(15 downto 0);
14
        i6 : in bit_vector(15 downto 0);
15
        i7 : in bit_vector(15 downto 0);
16
        i8 : in bit_vector(15 downto 0);
17
        i9 : in bit_vector(15 downto 0);
18
        i10 : in bit_vector(15 downto 0);
19
        i11 : in bit_vector(15 downto 0);
20
        i12 : in bit_vector(15 downto 0);
21
        en  : in bit;
22
        clr  : in bit;
23
        sel  : in bit;
24
        o1 : out bit_vector(15 downto 0);
25
        o2 : out bit_vector(15 downto 0);
26
        o3 : out bit_vector(15 downto 0);
27
        o4 : out bit_vector(15 downto 0);
28
        o5 : out bit_vector(15 downto 0);
29
        o6 : out bit_vector(15 downto 0);
30
        vdd : in bit;
31
        vss : in bit
32
);
33
end mux12to6x;
34
 
35
architecture vbe of mux12to6x is
36
 
37
constant nol : bit_vector(15 downto 0) := "0000000000000000";
38
 
39
signal temp1 : bit_vector(15 downto 0);
40
signal temp2 : bit_vector(15 downto 0);
41
signal temp3 : bit_vector(15 downto 0);
42
signal temp4 : bit_vector(15 downto 0);
43
signal temp5 : bit_vector(15 downto 0);
44
signal temp6 : bit_vector(15 downto 0);
45
 
46
signal tempx1 : bit_vector(15 downto 0);
47
signal tempx2 : bit_vector(15 downto 0);
48
signal tempx3 : bit_vector(15 downto 0);
49
signal tempx4 : bit_vector(15 downto 0);
50
signal tempx5 : bit_vector(15 downto 0);
51
signal tempx6 : bit_vector(15 downto 0);
52
 
53
signal reg1 : reg_vector(15 downto 0) register;
54
signal reg2 : reg_vector(15 downto 0) register;
55
signal reg3 : reg_vector(15 downto 0) register;
56
signal reg4 : reg_vector(15 downto 0) register;
57
signal reg5 : reg_vector(15 downto 0) register;
58
signal reg6 : reg_vector(15 downto 0) register;
59
 
60
begin
61
 
62
--proses o1
63
with sel select
64
temp1 <= i1 when '1',
65
              i7 when '0',
66
              nol when others;
67
flip_flop1 : block ((en = '1') and not(en'STABLE))
68
begin
69
        reg1 <= guarded temp1;
70
end block;
71
tempx1 <= nol when (clr = '1')
72
               else reg1;
73
o1 <= tempx1;
74
 
75
--proses o2
76
with sel select
77
temp2 <= i2 when '1',
78
              i9 when '0',
79
              nol when others;
80
flip_flop2 : block ((en = '1') and not(en'STABLE))
81
begin
82
        reg2 <= guarded temp2;
83
end block;
84
tempx2 <= nol when (clr = '1')
85
               else reg2;
86
o2 <= tempx2;
87
 
88
--proses o3
89
with sel select
90
temp3 <= i3 when '1',
91
              i9 when '0',
92
              nol when others;
93
flip_flop3 : block ((en = '1') and not(en'STABLE))
94
begin
95
        reg3 <= guarded temp3;
96
end block;
97
tempx3 <= nol when (clr = '1')
98
               else reg3;
99
o3 <= tempx3;
100
 
101
--proses o4
102
with sel select
103
temp4 <= i4 when '1',
104
              i10 when '0',
105
              nol when others;
106
flip_flop4 : block ((en = '1') and not(en'STABLE))
107
begin
108
        reg4 <= guarded temp4;
109
end block;
110
tempx4 <= nol when (clr = '1')
111
               else reg4;
112
o4 <= tempx4;
113
 
114
--proses o5
115
with sel select
116
temp5 <= i5 when '1',
117
              i11 when '0',
118
              nol when others;
119
flip_flop5 : block ((en = '1') and not(en'STABLE))
120
begin
121
        reg5 <= guarded temp5;
122
end block;
123
tempx5 <= nol when (clr = '1')
124
               else reg5;
125
o5 <= tempx5;
126
 
127
--proses o6
128
with sel select
129
temp6 <= i6 when '1',
130
              i12 when '0',
131
              nol when others;
132
flip_flop6 : block ((en = '1') and not(en'STABLE))
133
begin
134
        reg6 <= guarded temp6;
135
end block;
136
tempx6 <= nol when (clr = '1')
137
               else reg6;
138
o6 <= tempx6;
139
 
140
--check power supply
141
assert ((vdd = '1') and (vss = '0'))
142
report "power supply is missing on mux12to6x"
143
severity warning;
144
 
145
end vbe;
146
 

powered by: WebSVN 2.1.0

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