OpenCores
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
 

powered by: WebSVN 2.1.0

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