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

Subversion Repositories bluespec-h264

[/] [bluespec-h264/] [trunk/] [src/] [mkInputGen.bsv] - Blame information for rev 16

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jamey.hick
//**********************************************************************
2
// Input Generator implementation
3
//----------------------------------------------------------------------
4
//
5
//
6
 
7
package mkInputGen;
8
 
9
import H264Types::*;
10
import IInputGen::*;
11
import RegFile::*;
12
import FIFO::*;
13
 
14
import Connectable::*;
15
import GetPut::*;
16
 
17 16 jamey.hick
`define INPUT_SIZE 10000000
18 2 jamey.hick
 
19
module mkInputGen( IInputGen );
20 16 jamey.hick
   RegFile#(Bit#(1), Bit#(32)) rfile2 <- mkRegFileFullLoad("input_size.hex");
21
   RegFile#(Bit#(27), Bit#(8)) rfile <- mkRegFileLoad("input.hex", 0, `INPUT_SIZE);
22 2 jamey.hick
 
23
   FIFO#(InputGenOT) outfifo <- mkFIFO;
24
   Reg#(Bit#(27))    index   <- mkReg(0);
25 16 jamey.hick
   Reg#(Bit#(27))    file_size <- mkReg(0);
26
   Reg#(Bool)        initialized <- mkReg(False);
27 2 jamey.hick
 
28 16 jamey.hick
   rule init (!initialized);
29
      file_size <= truncate(rfile2.sub(0));
30
      $display("File Size: %h", rfile2.sub(0));
31
      initialized <= True;
32
   endrule
33
 
34
   rule output_byte ((index < file_size) && initialized);
35
      $display( "ccl0inputbyte %h", rfile.sub(index) );
36 13 jamey.hick
      outfifo.enq(DataByte (rfile.sub(index)));
37 2 jamey.hick
      index <= index+1;
38
   endrule
39
 
40 16 jamey.hick
   rule end_of_file (index == file_size && initialized);
41 2 jamey.hick
      //$finish(0);
42
      outfifo.enq(EndOfFile);
43
   endrule
44
 
45
   interface Get ioout = fifoToGet(outfifo);
46
 
47
endmodule
48
 
49
 
50
endpackage

powered by: WebSVN 2.1.0

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