view core/src/PathTypes.bsv @ 7:7393cd19371e pygar svn.8

[svn r8] added volume to routing table and types
author punk
date Wed, 21 Apr 2010 23:37:12 -0400
parents c4438eca4bc4
children
line wrap: on
line source
1 import Trace::*;
2 import Vector::*;
4 `define MAX_VOICES 4
5 `define MAX_CORES 16
6 `define MAX_PATH_IDS 18
7 `define MAX_PATH_LENGTH 8
9 // The path is hardwired and so should never be stored in a register. Therefore int type rather than Bit type
11 typedef Bit#(32) MemAddr;
12 typedef Int#(TLog#(`MAX_PATH_IDS)) PathId;
13 typedef Int#(24) Sample;
14 typedef Int#(TLog#(`MAX_VOICES)) VoiceId;
15 typedef Bit#(8) Volume; // This is arbitrarily set to 8 bits or max val 256
17 //The mixer is identified as PathId 0, path end is max
18 PathId mixerId = 0;
19 PathId endId = `MAX_CORES+1;
21 // Path is array of path ids
22 typedef Vector#(`MAX_PATH_LENGTH, PathId) CorePath;
23 CorePath emptyCore = replicate(endId);
25 typedef struct
26 {
27 VoiceId voice;
28 MemAddr startAddr;
29 CorePath route;
30 Volume outVol;
31 } FullPath deriving (Bits, Eq);