annotate modules/bluespec/Pygar/common/AudioProcessorTypes.bsv @ 8:74716e9a81cc pygar svn.9

[svn r9] Pygar now has the proper directory structure to play nicely with awb. Also, the apm file for audio-core willcompile successfully.
author rlm
date Fri, 23 Apr 2010 02:32:05 -0400
parents
children
rev   line source
rlm@8 1 // The MIT License
rlm@8 2
rlm@8 3 // Copyright (c) 2009 Massachusetts Institute of Technology
rlm@8 4
rlm@8 5 // Permission is hereby granted, free of charge, to any person obtaining a copy
rlm@8 6 // of this software and associated documentation files (the "Software"), to deal
rlm@8 7 // in the Software without restriction, including without limitation the rights
rlm@8 8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
rlm@8 9 // copies of the Software, and to permit persons to whom the Software is
rlm@8 10 // furnished to do so, subject to the following conditions:
rlm@8 11
rlm@8 12 // The above copyright notice and this permission notice shall be included in
rlm@8 13 // all copies or substantial portions of the Software.
rlm@8 14
rlm@8 15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
rlm@8 16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
rlm@8 17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
rlm@8 18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
rlm@8 19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
rlm@8 20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
rlm@8 21 // THE SOFTWARE.
rlm@8 22
rlm@8 23 // Author: Kermin Fleming kfleming@mit.edu
rlm@8 24
rlm@8 25 import Connectable::*;
rlm@8 26 import GetPut::*;
rlm@8 27 import ClientServer::*;
rlm@8 28
rlm@8 29 typedef Int#(16) Sample;
rlm@8 30
rlm@8 31 typedef enum {
rlm@8 32 EndOfFile = 0,
rlm@8 33 Data = 1
rlm@8 34 } AudioProcessorControl deriving (Bits,Eq);
rlm@8 35
rlm@8 36
rlm@8 37 typedef struct {
rlm@8 38 Sample left;
rlm@8 39 Sample right;
rlm@8 40 } StereoSample deriving (Bits,Eq);
rlm@8 41
rlm@8 42 typedef union tagged{
rlm@8 43 Sample Sample;
rlm@8 44 void EndOfFile;
rlm@8 45 } AudioProcessorUnit deriving (Bits,Eq);
rlm@8 46
rlm@8 47 interface AudioPipeline;
rlm@8 48 interface Put#(AudioProcessorUnit) sampleInput;
rlm@8 49 interface Get#(AudioProcessorUnit) sampleOutput;
rlm@8 50 endinterface
rlm@8 51