view common/InterfaceTypes.bsv @ 44:9b0dfce52c29 pygar svn.45

[svn r45] adding mixer
author punk
date Wed, 05 May 2010 12:30:18 -0400
parents 91a1f76ddd62
children
line wrap: on
line source
1 import Trace::*;
3 `define MAX_VOICES 4
4 `define MAX_CORES 16
5 `define MAX_PATH_LENGTH 8
7 // The path is hardwired and so should never be stored in a register. Therefore int type rather than Bit type
9 typedef Bit#(32) MemAddr;
10 typedef Int#(TLog#(MAX_CORES+2)) PathId;
12 //The mixer is identified as PathId 0, path end is max
13 PathId mixerId = 0;
14 PathId endId = MAX_CORES+1;
16 // Path is array of path ids
17 typedef Vector#(MAX_PATH_LENGTH, PathId) CorePath;
18 typedef struct
19 {
20 MemAddr startAddr;
21 CorePath route;
22 } FullPath deriving(Eq, Bits);
24 Vector#(MAX_VOICES, FullPath) routeTable;
25 routeTable[0] = {startAddr: 12, route: {1, 2, 3, 0, endId, endId, endId, endId}}