source: trunk/MultiChannelCOM/adc_fifo.v@ 180

Last change on this file since 180 was 2, checked in by demin, 15 years ago

first working version

File size: 1.3 KB
Line 
1module adc_fifo
2 (
3 input wire adc_dr,
4 input wire adc_or,
5 input wire [11:0] adc_data,
6
7 input wire aclr,
8 input wire rdclk,
9 input wire rdreq,
10 output wire rdempty,
11 output wire [11:0] raw_data,
12 output wire [13:0] uwt_data
13 );
14
15 wire [31:0] uwt_d1, uwt_a1, uwt_peak1;
16 wire [31:0] uwt_d2, uwt_a2, uwt_peak2;
17 wire [31:0] uwt_d3, uwt_a3, uwt_peak3;
18 wire [1:0] uwt_flag1, uwt_flag2, uwt_flag3;
19
20 wire [1:0] wrfull;
21
22 uwt_bior31 #(.L(1)) uwt_1_unit (
23 .clk(adc_dr),
24 .x(adc_data),
25 .d(uwt_d1),
26 .a(uwt_a1),
27 .peak(uwt_peak1),
28 .flag(uwt_flag1));
29
30 uwt_bior31 #(.L(2)) uwt_2_unit (
31 .clk(adc_dr),
32 .x(uwt_a1),
33 .d(uwt_d2),
34 .a(uwt_a2),
35 .peak(uwt_peak2),
36 .flag(uwt_flag2));
37
38 uwt_bior31 #(.L(3)) uwt_3_unit (
39 .clk(adc_dr),
40 .x(uwt_a2),
41 .d(uwt_d3),
42 .a(uwt_a3),
43 .peak(uwt_peak3),
44 .flag(uwt_flag3));
45
46
47 fifo32x12 fifo0 (
48 .aclr(aclr),
49 .data(adc_data),
50 .rdclk(rdclk),
51 .rdreq(rdreq),
52 .wrclk(adc_dr),
53 .wrreq(~wrfull[0]),
54 .q(raw_data),
55 .rdempty(rdempty),
56 .wrfull(wrfull[0]));
57
58 fifo32x14 fifo1 (
59 .aclr(aclr),
60 .data({uwt_flag3, uwt_peak3[11:0]}),
61 .rdclk(rdclk),
62 .rdreq(rdreq),
63 .wrclk(adc_dr),
64 .wrreq(~wrfull[1]),
65 .q(uwt_data),
66 .rdempty(),
67 .wrfull(wrfull[1]));
68
69endmodule
Note: See TracBrowser for help on using the repository browser.