[107] | 1 | module cic_pipeline
|
---|
| 2 | #(
|
---|
| 3 | parameter width = 192
|
---|
| 4 | )
|
---|
| 5 | (
|
---|
| 6 | input wire clock,
|
---|
| 7 | input wire [width-1:0] data,
|
---|
| 8 | input wire [7:0] rdaddress_a,
|
---|
| 9 | input wire [7:0] rdaddress_b,
|
---|
| 10 | input wire [7:0] wraddress,
|
---|
| 11 | input wire wren,
|
---|
| 12 | output wire [width-1:0] qa,
|
---|
| 13 | output wire [width-1:0] qb
|
---|
| 14 | );
|
---|
| 15 |
|
---|
| 16 | altsyncram #(
|
---|
| 17 | .address_aclr_b("NONE"),
|
---|
| 18 | .address_reg_b("CLOCK0"),
|
---|
| 19 | .clock_enable_input_a("BYPASS"),
|
---|
| 20 | .clock_enable_input_b("BYPASS"),
|
---|
| 21 | .clock_enable_output_b("BYPASS"),
|
---|
| 22 | .intended_device_family("Cyclone III"),
|
---|
| 23 | .lpm_type("altsyncram"),
|
---|
| 24 | .numwords_a(256),
|
---|
| 25 | .numwords_b(256),
|
---|
| 26 | .operation_mode("DUAL_PORT"),
|
---|
| 27 | .outdata_aclr_b("NONE"),
|
---|
| 28 | .outdata_reg_b("CLOCK0"),
|
---|
| 29 | .power_up_uninitialized("FALSE"),
|
---|
| 30 | .read_during_write_mode_mixed_ports("DONT_CARE"),
|
---|
| 31 | .widthad_a(8),
|
---|
| 32 | .widthad_b(8),
|
---|
| 33 | .width_a(width),
|
---|
| 34 | .width_b(width),
|
---|
| 35 | .width_byteena_a(1)) ram_unit_a(
|
---|
| 36 | .wren_a(wren),
|
---|
| 37 | .clock0(clock),
|
---|
| 38 | .address_a(wraddress),
|
---|
| 39 | .address_b(rdaddress_a),
|
---|
| 40 | .data_a(data),
|
---|
| 41 | .q_b(qa),
|
---|
| 42 | .aclr0(1'b0),
|
---|
| 43 | .aclr1(1'b0),
|
---|
| 44 | .addressstall_a(1'b0),
|
---|
| 45 | .addressstall_b(1'b0),
|
---|
| 46 | .byteena_a(1'b1),
|
---|
| 47 | .byteena_b(1'b1),
|
---|
| 48 | .clock1(1'b1),
|
---|
| 49 | .clocken0(1'b1),
|
---|
| 50 | .clocken1(1'b1),
|
---|
| 51 | .clocken2(1'b1),
|
---|
| 52 | .clocken3(1'b1),
|
---|
| 53 | .data_b({width{1'b1}}),
|
---|
| 54 | .eccstatus(),
|
---|
| 55 | .q_a(),
|
---|
| 56 | .rden_a(1'b1),
|
---|
| 57 | .rden_b(1'b1),
|
---|
| 58 | .wren_b(1'b0));
|
---|
| 59 |
|
---|
| 60 | altsyncram #(
|
---|
| 61 | .address_aclr_b("NONE"),
|
---|
| 62 | .address_reg_b("CLOCK0"),
|
---|
| 63 | .clock_enable_input_a("BYPASS"),
|
---|
| 64 | .clock_enable_input_b("BYPASS"),
|
---|
| 65 | .clock_enable_output_b("BYPASS"),
|
---|
| 66 | .intended_device_family("Cyclone III"),
|
---|
| 67 | .lpm_type("altsyncram"),
|
---|
| 68 | .numwords_a(256),
|
---|
| 69 | .numwords_b(256),
|
---|
| 70 | .operation_mode("DUAL_PORT"),
|
---|
| 71 | .outdata_aclr_b("NONE"),
|
---|
| 72 | .outdata_reg_b("CLOCK0"),
|
---|
| 73 | .power_up_uninitialized("FALSE"),
|
---|
| 74 | .read_during_write_mode_mixed_ports("DONT_CARE"),
|
---|
| 75 | .widthad_a(8),
|
---|
| 76 | .widthad_b(8),
|
---|
| 77 | .width_a(width),
|
---|
| 78 | .width_b(width),
|
---|
| 79 | .width_byteena_a(1)) ram_unit_b(
|
---|
| 80 | .wren_a(wren),
|
---|
| 81 | .clock0(clock),
|
---|
| 82 | .address_a(wraddress),
|
---|
| 83 | .address_b(rdaddress_b),
|
---|
| 84 | .data_a(data),
|
---|
| 85 | .q_b(qb),
|
---|
| 86 | .aclr0(1'b0),
|
---|
| 87 | .aclr1(1'b0),
|
---|
| 88 | .addressstall_a(1'b0),
|
---|
| 89 | .addressstall_b(1'b0),
|
---|
| 90 | .byteena_a(1'b1),
|
---|
| 91 | .byteena_b(1'b1),
|
---|
| 92 | .clock1(1'b1),
|
---|
| 93 | .clocken0(1'b1),
|
---|
| 94 | .clocken1(1'b1),
|
---|
| 95 | .clocken2(1'b1),
|
---|
| 96 | .clocken3(1'b1),
|
---|
| 97 | .data_b({width{1'b1}}),
|
---|
| 98 | .eccstatus(),
|
---|
| 99 | .q_a(),
|
---|
| 100 | .rden_a(1'b1),
|
---|
| 101 | .rden_b(1'b1),
|
---|
| 102 | .wren_b(1'b0));
|
---|
| 103 |
|
---|
| 104 | endmodule
|
---|