URL
https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk
Subversion Repositories bluespec-h264
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 65 to Rev 66
- ↔ Reverse comparison
Rev 65 → Rev 66
/trunk/src/IDecoupledClient.bsv
0,0 → 1,7
import GetPut::*; |
|
interface IDecoupledClient#(type req, type resp); |
interface Get#(req) request_store; |
interface Get#(req) request_load; |
interface Put#(resp) response; |
endinterface |
/trunk/src/mkMemEDDecoupled.bsv
0,0 → 1,49
//********************************************************************** |
// Memory for Entropy Decoder |
//---------------------------------------------------------------------- |
// |
// |
// |
|
import H264Types::*; |
import IMemEDDecoupled::*; |
import RegFile::*; |
import GetPut::*; |
import ClientServer::*; |
import FIFO::*; |
|
|
//---------------------------------------------------------------------- |
// Main module |
//---------------------------------------------------------------------- |
|
module mkMemEDDecoupled(IMemEDDecoupled#(index_size,data_size)) |
provisos (Bits#(MemReq#(index_size,data_size),mReqLen), |
Bits#(MemResp#(data_size),mRespLen)); |
|
//----------------------------------------------------------- |
// State |
|
RegFile#(Bit#(index_size),Bit#(data_size)) rfile <- mkRegFileWCF(0,fromInteger(valueof(TSub#(TExp#(index_size),1)))); |
|
FIFO#(MemReq#(index_size,data_size)) reqQStore <- mkFIFO(); |
FIFO#(MemReq#(index_size,data_size)) reqQLoad <- mkFIFO(); |
FIFO#(MemResp#(data_size)) respQ <- mkFIFO(); |
|
rule storing ( reqQStore.first() matches tagged StoreReq { addr:.addrt,data:.datat} ); |
rfile.upd(addrt,datat); |
reqQStore.deq(); |
endrule |
|
rule reading ( reqQLoad.first() matches tagged LoadReq .addrt ); |
respQ.enq( tagged LoadResp (rfile.sub(addrt)) ); |
reqQLoad.deq(); |
endrule |
|
|
interface Put request_store = fifoToPut(reqQStore); |
interface Put request_load = fifoToPut(reqQLoad); |
interface Get response = fifoToGet(respQ); |
|
endmodule |
|
/trunk/src/IMemEDDecoupled.bsv
0,0 → 1,20
//********************************************************************** |
// Interface for Memory for Entropy Decoding |
//---------------------------------------------------------------------- |
// |
// |
// |
|
|
import H264Types::*; |
import ClientServer::*; |
import GetPut::*; |
|
interface IMemEDDecoupled#(numeric type index_size, numeric type data_size); |
|
interface Put#(MemReq#(index_size,data_size)) request_store; |
interface Put#(MemReq#(index_size,data_size)) request_load; |
interface Get#(MemResp#(data_size)) response; |
|
endinterface |
|