data/full_repos/permissive/14071536/implementation/devboard_top.v
1: b"%Error: data/full_repos/permissive/14071536/implementation/devboard_top.v:38: Cannot find file containing module: 'DCM_BASE'\nDCM_BASE #(\n^~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/14071536/implementation,data/full_repos/permissive/14071536/DCM_BASE\n             data/full_repos/permissive/14071536/implementation,data/full_repos/permissive/14071536/DCM_BASE.v\n             data/full_repos/permissive/14071536/implementation,data/full_repos/permissive/14071536/DCM_BASE.sv\n             DCM_BASE\n             DCM_BASE.v\n             DCM_BASE.sv\n             obj_dir/DCM_BASE\n             obj_dir/DCM_BASE.v\n             obj_dir/DCM_BASE.sv\n%Error: data/full_repos/permissive/14071536/implementation/devboard_top.v:80: Cannot find file containing module: 'eth_if'\neth_if eth_if_inst (\n^~~~~~\n%Error: data/full_repos/permissive/14071536/implementation/devboard_top.v:109: Cannot find file containing module: 'eth_fifo'\neth_fifo fifo (\n^~~~~~~~\n%Error: Exiting due to 3 error(s)\n"
module devboard_top #( parameter CLK_FREQ = 32'd300_000_000 )(

	output wire [7:0] led,
	input wire [7:0] switch,
	input wire [3:0] button,
	input wire clk_100,
	input wire clk_synth0_p,
	input wire clk_synth0_n,
	

	input wire GTX_CLK_0,
	input wire ETH_REFCLK,
	 
	output wire ETH_RESET_0,
	output wire [7:0] GMII_TXD_0,
	output wire       GMII_TX_EN_0,
	output wire       GMII_TX_ER_0,
	output wire       GMII_TX_CLK_0,
	input wire  [7:0] GMII_RXD_0,
	input wire        GMII_RX_DV_0,
	input wire        GMII_RX_ER_0,
	input wire        GMII_RX_CLK_0,
	input wire        MII_TX_CLK_0,
	input wire        GMII_COL_0,
	input wire        GMII_CRS_0
);


wire clk_200;
wire locked;
wire rst_n = locked & !button[0];
wire rst = ~rst_n;
assign led[7:0] = {rst,rst,~rst, button, 1'b0};


DCM_BASE #(
 	.CLKDV_DIVIDE(2.0),

 	.CLKFX_DIVIDE(1),
 	.CLKFX_MULTIPLY(4),
 	.CLKIN_DIVIDE_BY_2("FALSE"),
 	.CLKIN_PERIOD(10.0),
 	.CLKOUT_PHASE_SHIFT("NONE"),
 	.CLK_FEEDBACK("NONE"),
 	.DCM_PERFORMANCE_MODE("MAX_SPEED"),
 	.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),

 	.DFS_FREQUENCY_MODE("LOW"),
 	.DLL_FREQUENCY_MODE("LOW"),
 	.DUTY_CYCLE_CORRECTION("TRUE"),
 	.FACTORY_JF(16'hf0f0),
 	.PHASE_SHIFT(0),
 	.STARTUP_WAIT("FALSE")
) DCM_BASE_inst (
 	.CLK0(CLK0),
 	.CLK180(CLK180),
 	.CLK270(CLK270),
 	.CLK2X(clk_200),
 	.CLK2X180(CLK2X180),
 	.CLK90(CLK90),
 	.CLKDV(CLKDV),
 	.CLKFX(CLKFX),
 	.CLKFX180(CLKFX180),
 	.LOCKED(locked),
 	.CLKFB(CLKFB),
	.CLKIN(clk_100),
	.RST(1'b0)
);

wire udp_rx_clk;
wire udp_tx_clk;
wire [7:0] udp_rx;
wire udp_rx_dv;
reg [15: 0] udp_tx_pending_data=0;
wire udp_tx;
wire udp_tx_rden;

eth_if eth_if_inst (
    .rst(rst), 
    .clk_200(clk_200), 
    .ETH_RESET(ETH_RESET_0), 
    .GTX_CLK(GTX_CLK_0),
    .GMII_TXD(GMII_TXD_0), 
    .GMII_TX_EN(GMII_TX_EN_0), 
    .GMII_TX_ER(GMII_TX_ER_0), 
    .GMII_TX_CLK(GMII_TX_CLK_0), 
    .GMII_RXD(GMII_RXD_0), 
    .GMII_RX_DV(GMII_RX_DV_0), 
    .GMII_RX_ER(GMII_RX_ER_0), 
    .GMII_RX_CLK(GMII_RX_CLK_0), 
    .MII_TX_CLK(MII_TX_CLK_0), 
    .GMII_COL(GMII_COL_0), 
    .GMII_CRS(GMII_CRS_0),
    
    .udp_rx_clk(udp_rx_clk), 
    .udp_rx(udp_rx), 
    .udp_rx_dv(udp_rx_dv), 
    .udp_tx_pending_data(udp_tx_pending_data), 
    .udp_tx_clk(udp_tx_clk), 
    .udp_tx(udp_tx), 
    .udp_tx_rden(udp_tx_rden)
);

wire [15:0] rd_data_count;
always @(udp_tx_clk) udp_tx_pending_data <= rd_data_count<1472 ? rd_data_count : 1472;

eth_fifo fifo (
   .rst(1'b0),
   .wr_clk(udp_rx_clk),
   .din(udp_rx),
   .wr_en(udp_rx_dv),
   .full(full),

   .rd_clk(udp_tx_clk),
   .rd_en(udp_tx_rden),
   .dout(udp_tx),
   .empty(),
   .rd_data_count(rd_data_count)
);

endmodule
module devboard_top #( parameter CLK_FREQ = 32'd300_000_000 )(

	output wire [7:0] led,
	input wire [7:0] switch,
	input wire [3:0] button,
	input wire clk_100,
	input wire clk_synth0_p,
	input wire clk_synth0_n,
	

	input wire GTX_CLK_0,
	input wire ETH_REFCLK,
	 
	output wire ETH_RESET_0,
	output wire [7:0] GMII_TXD_0,
	output wire       GMII_TX_EN_0,
	output wire       GMII_TX_ER_0,
	output wire       GMII_TX_CLK_0,
	input wire  [7:0] GMII_RXD_0,
	input wire        GMII_RX_DV_0,
	input wire        GMII_RX_ER_0,
	input wire        GMII_RX_CLK_0,
	input wire        MII_TX_CLK_0,
	input wire        GMII_COL_0,
	input wire        GMII_CRS_0
);



wire clk_200;
wire locked;
wire rst_n = locked & !button[0];
wire rst = ~rst_n;
assign led[7:0] = {rst,rst,~rst, button, 1'b0};


DCM_BASE #(
 	.CLKDV_DIVIDE(2.0),

 	.CLKFX_DIVIDE(1),
 	.CLKFX_MULTIPLY(4),
 	.CLKIN_DIVIDE_BY_2("FALSE"),
 	.CLKIN_PERIOD(10.0),
 	.CLKOUT_PHASE_SHIFT("NONE"),
 	.CLK_FEEDBACK("NONE"),
 	.DCM_PERFORMANCE_MODE("MAX_SPEED"),
 	.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"),

 	.DFS_FREQUENCY_MODE("LOW"),
 	.DLL_FREQUENCY_MODE("LOW"),
 	.DUTY_CYCLE_CORRECTION("TRUE"),
 	.FACTORY_JF(16'hf0f0),
 	.PHASE_SHIFT(0),
 	.STARTUP_WAIT("FALSE")
) DCM_BASE_inst (
 	.CLK0(CLK0),
 	.CLK180(CLK180),
 	.CLK270(CLK270),
 	.CLK2X(clk_200),
 	.CLK2X180(CLK2X180),
 	.CLK90(CLK90),
 	.CLKDV(CLKDV),
 	.CLKFX(CLKFX),
 	.CLKFX180(CLKFX180),
 	.LOCKED(locked),
 	.CLKFB(CLKFB),
	.CLKIN(clk_100),
	.RST(1'b0)
);

wire udp_rx_clk;
wire udp_tx_clk;
wire [7:0] udp_rx;
wire udp_rx_dv;
reg [15: 0] udp_tx_pending_data=0;
wire udp_tx;
wire udp_tx_rden;

eth_if eth_if_inst (
    .rst(rst), 
    .clk_200(clk_200), 
    .ETH_RESET(ETH_RESET_0), 
    .GTX_CLK(GTX_CLK_0),
    .GMII_TXD(GMII_TXD_0), 
    .GMII_TX_EN(GMII_TX_EN_0), 
    .GMII_TX_ER(GMII_TX_ER_0), 
    .GMII_TX_CLK(GMII_TX_CLK_0), 
    .GMII_RXD(GMII_RXD_0), 
    .GMII_RX_DV(GMII_RX_DV_0), 
    .GMII_RX_ER(GMII_RX_ER_0), 
    .GMII_RX_CLK(GMII_RX_CLK_0), 
    .MII_TX_CLK(MII_TX_CLK_0), 
    .GMII_COL(GMII_COL_0), 
    .GMII_CRS(GMII_CRS_0),
    
    .udp_rx_clk(udp_rx_clk), 
    .udp_rx(udp_rx), 
    .udp_rx_dv(udp_rx_dv), 
    .udp_tx_pending_data(udp_tx_pending_data), 
    .udp_tx_clk(udp_tx_clk), 
    .udp_tx(udp_tx), 
    .udp_tx_rden(udp_tx_rden)
);

wire [15:0] rd_data_count;
always @(udp_tx_clk) udp_tx_pending_data <= rd_data_count<1472 ? rd_data_count : 1472;

eth_fifo fifo (
   .rst(1'b0),
   .wr_clk(udp_rx_clk),
   .din(udp_rx),
   .wr_en(udp_rx_dv),
   .full(full),

   .rd_clk(udp_tx_clk),
   .rd_en(udp_tx_rden),
   .dout(udp_tx),
   .empty(),
   .rd_data_count(rd_data_count)
);

endmodule