// Structural coding //======================================================= wire reset_n; assign reset_n = 1'b1; //======================================================= // delay_inst //======================================================= top_sch delay_inst( .clock(DRAM_CLK), .st2(sin), .wr(wr_rqt), .ris_c(ris_c), .fal_c(fal_c) ); sysfifo fifo_inst( .data({{12{1'b0}},ris_c,fal_c}), .rdclk(rd_clk), .rdreq(rd_rqt), .wrclk(DRAM_CLK), .wrreq(wr_rqt), .q(din), .rdempty(rd_empt), .wrfull(wr_full)); audio_nios u0( .clk_clk (CLOCK_50), // clk.clk .reset_reset_n (reset_n), // reset.reset_n .pll_sdam_clk (DRAM_CLK), // pll_sdam.clk .pll_outclk3_clk (rd_clk), .key_external_connection_export (KEY), // key_external_connection.export .seg7_conduit_end_export ({ HEX5P, HEX5, HEX4P, HEX4, HEX3P, HEX3, HEX2P, HEX2, HEX1P, HEX1, HEX0P, HEX0}), // seg7_conduit_end.export .pio_0_external_connection_export (LEDR), // pio_0_external_connection.export .sw_external_connection_export (SW), // sw_external_connection.export .din32_external_connection_export (din), // din32_external_connection.export .wr_full_external_connection_export (wr_full), // wr_full_external_connection.export .rd_rqt_external_connection_export (rd_rqt), // rd_rqt_external_connection.export .rd_empt_external_connection_export (rd_empt), // rd_empt_external_connection.export .sdram_wire_addr (DRAM_ADDR), // sdram_wire.addr .sdram_wire_ba (DRAM_BA), // .ba .sdram_wire_cas_n (DRAM_CAS_N), // .cas_n .sdram_wire_cke (DRAM_CKE), // .cke .sdram_wire_cs_n (DRAM_CS_N), // .cs_n .sdram_wire_dq (DRAM_DQ), // .dq .sdram_wire_dqm ({DRAM_UDQM,DRAM_LDQM}), // .dqm .sdram_wire_ras_n (DRAM_RAS_N), // .ras_n .sdram_wire_we_n (DRAM_WE_N) // .we_n ); Endmodule 1.2 TDC顶层源程序 module top_sch #(parameter WIDTH=1000)( clock, st2, wr, rd_o, ris_c, fal_c ); output wire wr; input wire clock; input wire st2; output [9:0] ris_c; output [9:0] fal_c; output rd_o; wire [WIDTH-1:0] SYNTHESIZED_WIRE_0; wire [WIDTH-1:0] SYNTHESIZED_WIRE_1; wire [WIDTH-1:0] SYNTHESIZED_WIRE_2; wire [WIDTH-1:0] SYNTHESIZED_WIRE_3; wire [WIDTH-1:0] SYNTHESIZED_WIRE_4; wire rd_o_f,rd_o_r; add200 b2v_inst( .clock(clock), .data_a(SYNTHESIZED_WIRE_0), .dataa(SYNTHESIZED_WIRE_1), .result(SYNTHESIZED_WIRE_2)); o_add b2v_inst2( .result(SYNTHESIZED_WIRE_2), .ris_o(SYNTHESIZED_WIRE_3), .fal_o(SYNTHESIZED_WIRE_4)); l_add b2v_inst3( .result(SYNTHESIZED_WIRE_1)); r_add b2v_inst4( .st1(st2), .result(SYNTHESIZED_WIRE_0)); encoder b2v_inst5( .clk(clock), .rd_o(rd_o_r), .srin(SYNTHESIZED_WIRE_3), .tenout(ris_c) ); encoder b2v_inst6( .clk(clock), .rd_o(rd_o_f), .srin(SYNTHESIZED_WIRE_4), .tenout(fal_c) ); Endmodule 1.3 FIFO顶层源程序 // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module sysfifo ( data, rdclk, rdreq, wrclk, wrreq, q, rdempty, wrfull); input [19:0] data; input rdclk; input rdreq; input wrclk; input wrreq; output [19:0] q; output rdempty; output wrfull; wire [19:0] sub_wire0; wire sub_wire1; wire sub_wire2; wire [19:0] q = sub_wire0[19:0]; wire rdempty = sub_wire1; wire wrfull = sub_wire2; dcfifo dcfifo_component ( .data (data), .rdclk (rdclk), .rdreq (rdreq), .wrclk (wrclk), .wrreq (wrreq), .q (sub_wire0), .rdempty (sub_wire1), .wrfull (sub_wire2), .aclr (), .rdfull (), .rdusedw (), .wrempty (), .wrusedw ()); defparam dcfifo_component.intended_device_family = "Cyclone V", dcfifo_component.lpm_numwords = 16, dcfifo_component.lpm_showahead = "OFF", dcfifo_component.lpm_type = "dcfifo", dcfifo_component.lpm_width = 20, dcfifo_component.lpm_widthu = 4, dcfifo_component.overflow_checking = "ON", dcfifo_component.rdsync_delaypipe = 4, dcfifo_component.underflow_checking = "ON", dcfifo_component.use_eab = "ON", dcfifo_component.wrsync_delaypipe = 4; endmodule (完) |
Powered by Discuz! X3
© 2001-2013 Comsenz Inc.