OpenCores
URL https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk

Subversion Repositories bluespec-h264

[/] [bluespec-h264/] [trunk/] [src/] [mkInputGen.bsv] - Diff between revs 13 and 16

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 13 Rev 16
Line 12... Line 12...
import FIFO::*;
import FIFO::*;
 
 
import Connectable::*;
import Connectable::*;
import GetPut::*;
import GetPut::*;
 
 
`define INPUT_SIZE 1480433
`define INPUT_SIZE 10000000
 
 
module mkInputGen( IInputGen );
module mkInputGen( IInputGen );
 
   RegFile#(Bit#(1), Bit#(32)) rfile2 <- mkRegFileFullLoad("input_size.hex");
   RegFile#(Bit#(27), Bit#(8)) rfile <- mkRegFileLoad("akiyo224x176_1-300.hex", 0, `INPUT_SIZE);
   RegFile#(Bit#(27), Bit#(8)) rfile <- mkRegFileLoad("input.hex", 0, `INPUT_SIZE);
 
 
   FIFO#(InputGenOT) outfifo <- mkFIFO;
   FIFO#(InputGenOT) outfifo <- mkFIFO;
   Reg#(Bit#(27))    index   <- mkReg(0);
   Reg#(Bit#(27))    index   <- mkReg(0);
 
   Reg#(Bit#(27))    file_size <- mkReg(0);
 
   Reg#(Bool)        initialized <- mkReg(False);
 
 
 
   rule init (!initialized);
 
      file_size <= truncate(rfile2.sub(0));
 
      $display("File Size: %h", rfile2.sub(0));
 
      initialized <= True;
 
   endrule
 
 
   rule output_byte (index < `INPUT_SIZE);
   rule output_byte ((index < file_size) && initialized);
      //$display( "ccl0inputbyte %x", rfile.sub(index) );
      $display( "ccl0inputbyte %h", rfile.sub(index) );
      outfifo.enq(DataByte (rfile.sub(index)));
      outfifo.enq(DataByte (rfile.sub(index)));
      index <= index+1;
      index <= index+1;
   endrule
   endrule
 
 
   rule end_of_file (index == `INPUT_SIZE);
   rule end_of_file (index == file_size && initialized);
      //$finish(0);
      //$finish(0);
      outfifo.enq(EndOfFile);
      outfifo.enq(EndOfFile);
   endrule
   endrule
 
 
   interface Get ioout = fifoToGet(outfifo);
   interface Get ioout = fifoToGet(outfifo);

powered by: WebSVN 2.1.0

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