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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi64/] [dma_axi64_reg_core0.v] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 eyalhoc
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  Author: Eyal Hochberg                                      ////
4
////          eyal@provartec.com                                 ////
5
////                                                             ////
6
////  Downloaded from: http://www.opencores.org                  ////
7
/////////////////////////////////////////////////////////////////////
8
////                                                             ////
9
//// Copyright (C) 2010 Provartec LTD                            ////
10
//// www.provartec.com                                           ////
11
//// info@provartec.com                                          ////
12
////                                                             ////
13
//// This source file may be used and distributed without        ////
14
//// restriction provided that this copyright statement is not   ////
15
//// removed from the file and that any derivative work contains ////
16
//// the original copyright notice and the associated disclaimer.////
17
////                                                             ////
18
//// This source file is free software; you can redistribute it  ////
19
//// and/or modify it under the terms of the GNU Lesser General  ////
20
//// Public License as published by the Free Software Foundation.////
21
////                                                             ////
22
//// This source is distributed in the hope that it will be      ////
23
//// useful, but WITHOUT ANY WARRANTY; without even the implied  ////
24
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR     ////
25
//// PURPOSE.  See the GNU Lesser General Public License for more////
26
//// details. http://www.gnu.org/licenses/lgpl.html              ////
27
////                                                             ////
28
/////////////////////////////////////////////////////////////////////
29 2 eyalhoc
//---------------------------------------------------------
30
//-- File generated by RobustVerilog parser
31
//-- Version: 1.0
32
//-- Invoked Fri Mar 25 23:36:53 2011
33
//--
34
//-- Source file: dma_reg_core.v
35
//---------------------------------------------------------
36
 
37
 
38
 
39
module dma_axi64_reg_core0(clk,reset,wr_joint,wr_clkdiv,wr_start,wr_prio,pwdata,clkdiv,ch_start,joint_mode,rd_prio_top,rd_prio_high,rd_prio_top_num,rd_prio_high_num,wr_prio_top,wr_prio_high,wr_prio_top_num,wr_prio_high_num,user_def_stat0,user_def_stat1,ch_int_all_proc,proc0_int_stat);
40
 
41
   input                       clk;
42
   input                   reset;
43
 
44
   input                              wr_joint;
45
   input                              wr_clkdiv;
46
   input                              wr_start;
47
   input                              wr_prio;
48
 
49
   input [31:0]                       pwdata;
50
 
51
   output [3:0]               clkdiv;
52
   output [7:0]               ch_start;
53
   output                   joint_mode;
54
   output                   rd_prio_top;
55
   output                   rd_prio_high;
56
   output [2:0]               rd_prio_top_num;
57
   output [2:0]               rd_prio_high_num;
58
   output                   wr_prio_top;
59
   output                   wr_prio_high;
60
   output [2:0]               wr_prio_top_num;
61
   output [2:0]               wr_prio_high_num;
62
 
63
   output [31:0]                      user_def_stat0;
64
   output [31:0]                      user_def_stat1;
65
 
66
   input [8*1-1:0]             ch_int_all_proc;
67
   output [7:0]                       proc0_int_stat;
68
 
69
 
70
 
71
 
72
   wire                   user_def_clkdiv;
73
   wire                   user_def_bus_32;
74
   wire [3:0]                   user_def_ch_num;
75
   wire [3:0]                   user_def_fifo_size;
76
   wire [3:0]                   user_def_wcmd_depth;
77
   wire [3:0]                   user_def_rcmd_depth;
78
   wire                   user_def_block;
79
   wire                   user_def_wait;
80
   wire                   user_def_outs;
81
   wire                   user_def_prio;
82
   wire                   user_def_tokens;
83
   wire                   user_def_timeout;
84
   wire                   user_def_wdt;
85
   wire                   user_def_joint;
86
   wire                   user_def_simul;
87
   wire                   user_def_periph;
88
   wire                   user_def_lists;
89
   wire                   user_def_end;
90
   wire [5:0]                   user_def_addr_bits; //max 32
91
   wire [4:0]                   user_def_buff_bits; //max 16
92
 
93
 
94
     reg               joint_mode;
95
 
96
 
97
   assign                   user_def_clkdiv     = 0;
98
   assign                   user_def_bus_32     = 0;
99
   assign                   user_def_ch_num     = 1;
100
   assign                   user_def_fifo_size  = 5;
101
   assign                   user_def_wcmd_depth = 2;
102
   assign                   user_def_rcmd_depth = 2;
103
   assign                   user_def_block      = 0;
104
   assign                   user_def_wait       = 0;
105
   assign                   user_def_outs       = 0;
106
   assign                   user_def_prio       = 0;
107
   assign                   user_def_tokens     = 1;
108
   assign                   user_def_timeout    = 1;
109
   assign                   user_def_wdt        = 1;
110
   assign                   user_def_joint      = 1;
111
   assign                   user_def_simul      = 1;
112
   assign                   user_def_periph     = 1;
113
   assign                   user_def_lists      = 1;
114
   assign                   user_def_end        = 1;
115
   assign                   user_def_addr_bits  = 32;
116
   assign                   user_def_buff_bits  = 10;
117
 
118
 
119
   assign                   user_def_stat0 =
120
                      {
121
                       3'b000,               //[31:29]
122
                       user_def_buff_bits,   //[28:24]
123
                       1'b0,                 //[23]
124
                        user_def_bus_32,      //[22]
125
                       user_def_addr_bits,   //[21:16]
126
                        user_def_rcmd_depth,  //[15:12]
127
                        user_def_wcmd_depth,  //[11:8]
128
                        user_def_fifo_size,   //[7:4]
129
                        user_def_ch_num       //[3:0]
130
                       };
131
 
132
   assign                   user_def_stat1 =
133
                      {
134
                       {21{1'b0}},           //[31:13]
135
                       user_def_clkdiv,      //[12]
136
                       user_def_end,         //[11]
137
                       user_def_lists,       //[10]
138
                       user_def_periph,      //[9]
139
                       user_def_simul,       //[8]
140
                       user_def_joint,       //[7]
141
                           user_def_block,       //[6]
142
                           user_def_wait,        //[5]
143
                           user_def_outs,        //[4]
144
                           user_def_prio,        //[3]
145
                           user_def_tokens,      //[2]
146
                           user_def_timeout,     //[1]
147
                           user_def_wdt          //[0]
148
                       };
149
 
150
 
151
 
152
   always @(posedge clk or posedge reset)
153
     if (reset)
154
       begin
155
      joint_mode <= #1 1'b0;
156
       end
157
     else if (wr_joint)
158
       begin
159
      joint_mode <= #1 pwdata[0];
160
       end
161
 
162
 
163
   assign rd_prio_top      = 'd0;
164
   assign rd_prio_high     = 'd0;
165
   assign rd_prio_top_num  = 'd0;
166
   assign rd_prio_high_num = 'd0;
167
   assign wr_prio_top      = 'd0;
168
   assign wr_prio_high     = 'd0;
169
   assign wr_prio_top_num  = 'd0;
170
   assign wr_prio_high_num = 'd0;
171
 
172
 
173
   assign clkdiv = 4'd0;
174
 
175
 
176
   assign              ch_start = {8{wr_start}} & pwdata[7:0];
177
 
178
 
179
   //interrupt
180
   prgen_scatter8_1 #(0) scatter_proc0(.ch_x(ch_int_all_proc), .x(proc0_int_stat));
181
 
182
endmodule
183
 
184
 
185
 
186
 

powered by: WebSVN 2.1.0

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