OpenCores
URL https://opencores.org/ocsvn/dma_axi/dma_axi/trunk

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi64/] [dma_axi64_core0_ch_reg_size.v] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 eyalhoc
//---------------------------------------------------------
2
//-- File generated by RobustVerilog parser
3
//-- Version: 1.0
4
//-- Invoked Fri Mar 25 23:36:56 2011
5
//--
6
//-- Source file: dma_ch_reg_size.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_axi64_core0_ch_reg_size(clk,reset,update,start_addr,burst_max_size_reg,burst_max_size_other,allow_full_burst,allow_full_fifo,joint_flush,burst_max_size);
12
 
13
   parameter              MAX_BURST     = 0 ? 64 : 128; //16 strobes
14
   parameter              HALF_BYTES    = 32/2;
15
   parameter              LARGE_FIFO    = 32 > MAX_BURST;
16
   parameter              SMALL_FIFO    = 32 == 16;
17
 
18
   input                  clk;
19
   input              reset;
20
 
21
   input              update;
22
 
23
   input [32-1:0]      start_addr;
24
   input [8-1:0]      burst_max_size_reg;
25
   input [8-1:0]      burst_max_size_other;
26
 
27
   input              allow_full_burst;
28
   input              allow_full_fifo;
29
   input              joint_flush;
30
   output [8-1:0]      burst_max_size;
31
 
32
 
33
 
34
   wire [8-1:0]      burst_max_size_fifo;
35
   wire [8-1:0]      burst_max_size_pre;
36
   reg [8-1:0]      burst_max_size;
37
 
38
 
39
 
40
 
41
   assign              burst_max_size_fifo =
42
                 allow_full_burst | LARGE_FIFO ? MAX_BURST  :
43
                 joint_flush & SMALL_FIFO      ? HALF_BYTES :
44
                 (burst_max_size_other > HALF_BYTES) & (burst_max_size_reg > HALF_BYTES) & (burst_max_size_other != burst_max_size_reg)
45
                                                               ? HALF_BYTES :
46
                 allow_full_fifo               ? 32 : HALF_BYTES;
47
 
48
 
49
   prgen_min2 #(8) min2_max(
50
                   .a(burst_max_size_reg),
51
                   .b(burst_max_size_fifo),
52
                   .min(burst_max_size_pre)
53
                   );
54
 
55
   always @(posedge clk or posedge reset)
56
     if (reset)
57
       burst_max_size <= #1 {8{1'b0}};
58
     else if (update)
59
       burst_max_size <= #1 burst_max_size_pre > MAX_BURST ? MAX_BURST : burst_max_size_pre;
60
 
61
 
62
endmodule
63
 
64
 

powered by: WebSVN 2.1.0

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