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

Subversion Repositories instruction_list_pipelined_processor_with_peripherals

[/] [instruction_list_pipelined_processor_with_peripherals/] [trunk/] [hdl/] [tcEnableAndType.v] - Blame information for rev 3

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

Line No. Rev Author Line
1 3 maheshpalv
 
2
`include "timescale.v"
3
`include "defines.v"
4
 
5
 
6
module tcEnableAndType (entypeEn, enIn, typeIn, tcAddr, enOut, typeOut);
7
 
8
        input entypeEn, enIn;
9
        input [`tcTypeLen-1:0] typeIn;   // could be `counterTypeLen
10
        input [`tcAddrLen-1:0] tcAddr;
11
 
12
        output wire [`tcNumbers-1:0] enOut;
13
        output wire [(`tcNumbers*`tcTypeLen)-1:0] typeOut;
14
 
15
        reg enables [`tcNumbers-1:0];
16
        reg [`tcTypeLen-1:0] types [`tcNumbers-1:0];
17
 
18
        always @ *
19
        begin
20
                if (entypeEn)
21
                begin
22
                        enables[tcAddr] = enIn;
23
                        types[tcAddr] = typeIn;
24
                end
25
        end
26
 
27
        // assign outputs . . .
28
        // can write generic???
29
 
30
        assign enOut[0]= enables[0];
31
        assign enOut[1]= enables[1];
32
        assign enOut[2]= enables[2];
33
        assign enOut[3]= enables[3];
34
        assign enOut[4]= enables[4];
35
        assign enOut[5]= enables[5];
36
        assign enOut[6]= enables[6];
37
        assign enOut[7]= enables[7];
38
 
39
        assign typeOut[`tcTypeLen-1:0] = types[0];
40
        assign typeOut[(`tcTypeLen*2)-1:`tcTypeLen] = types[1];
41
        assign typeOut[(`tcTypeLen*3)-1:(`tcTypeLen*2)] = types[2];
42
        assign typeOut[(`tcTypeLen*4)-1:(`tcTypeLen*3)] = types[3];
43
        assign typeOut[(`tcTypeLen*5)-1:(`tcTypeLen*4)] = types[4];
44
        assign typeOut[(`tcTypeLen*6)-1:(`tcTypeLen*5)] = types[5];
45
        assign typeOut[(`tcTypeLen*7)-1:(`tcTypeLen*6)] = types[6];
46
        assign typeOut[(`tcTypeLen*8)-1:(`tcTypeLen*7)] = types[7];
47
 
48
 
49
endmodule

powered by: WebSVN 2.1.0

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