`timescale 1ns/1ps module sim_top(); `include "include/sdram_controller_define.vh" localparam ADDR_WIDTH = 32; localparam DATA_WIDTH = 32; logic clk_100, clk_200, clk_50, clk_cpu; // clk_100 initial begin clk_100 <= '1; forever begin #5 clk_100 <= ~clk_100; end end // clk_200 initial begin clk_200 <= '1; forever begin #2.5 clk_200 <= ~clk_200; end end // clk_50 initial begin clk_50 <= '1; forever begin #10 clk_50 <= ~clk_50; end end // clk_cpu // 2MHz initial begin clk_cpu <= '1; forever begin // #62.5 clk_cpu <= ~clk_cpu; #500 clk_cpu <= ~clk_cpu; end end initial begin $dumpfile("sim_top.vcd"); $dumpvars(0,sim_top); end logic button_resetn; logic w_cpu0_reset; logic [15:0] w_cpu0_addr; logic [7:0] w_cpu0_data_from_cpu; logic [7:0] w_cpu0_data_from_dut; logic w_cpu0_rdy; logic w_cpu0_irqb; logic w_cpu0_we; logic w_cpu0_sync; logic w_clk_phi2; cpu_65c02 u_cpu0 ( .phi2 (w_clk_phi2), .reset (~w_cpu0_reset), .AB (w_cpu0_addr), .RDY (w_cpu0_rdy), .IRQ (~w_cpu0_irqb), .NMI ('0), .DI_s1 (w_cpu0_data_from_dut), .DO (w_cpu0_data_from_cpu), .WE (w_cpu0_we), .SYNC (w_cpu0_sync) ); logic w_sdr_CKE; logic w_sdr_n_CS; logic w_sdr_n_WE; logic w_sdr_n_RAS; logic w_sdr_n_CAS; logic [BA_WIDTH -1:0] w_sdr_BA; logic [ROW_WIDTH -1:0] w_sdr_ADDR; logic [DQ_GROUP *DQ_WIDTH -1:0] w_sdr_DATA; logic [DQ_GROUP *DQ_WIDTH -1:0] w_sdr_DATA_oe; logic [DQ_GROUP -1:0] w_sdr_DQM; wire [DQ_GROUP *DQ_WIDTH -1:0] w_sdr_DQ; // ^ Has to be wire because of tristate/inout stuff /* genvar i, j; generate for (i=0; i