/* Generated by Yosys 0.15 (git sha1 yosys-0.15, gcc 10.3.0 -fPIC -Os) */

(* hdlname = "\\ResetInverter" *)
(* src = "external/bluespec/lib/Verilog/ResetInverter.v:7.1-16.10" *)
module ResetInverter(RESET_IN, RESET_OUT);
  (* src = "external/bluespec/lib/Verilog/ResetInverter.v:14.26-14.36" *)
  wire _0_;
  (* src = "external/bluespec/lib/Verilog/ResetInverter.v:9.14-9.22" *)
  input RESET_IN;
  wire RESET_IN;
  (* src = "external/bluespec/lib/Verilog/ResetInverter.v:10.14-10.23" *)
  output RESET_OUT;
  wire RESET_OUT;
  assign _0_ = ! (* src = "external/bluespec/lib/Verilog/ResetInverter.v:14.26-14.36" *) RESET_IN;
  assign RESET_OUT = _0_;
endmodule

(* hdlname = "\\mkQF105" *)
(* top =  1  *)
(* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:36.1-379.10" *)
module mkQF105(
`ifdef USE_POWER_PINS
    VPWR,
    VGND,
`endif
    wb_clk_i, wb_rst_i, la_data_in, la_oenb, la_data_out, io_in, io_out, io_oeb, irq);
`ifdef USE_POWER_PINS
    inout VPWR;
    inout VGND;
`endif
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:318.7-319.42" *)
  wire _00_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:321.7-322.43" *)
  wire _01_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:324.7-325.42" *)
  wire _02_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:327.7-328.43" *)
  wire _03_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:359.7-360.42" *)
  wire _04_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:362.7-363.43" *)
  wire _05_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:365.7-366.42" *)
  wire _06_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:368.7-369.43" *)
  wire _07_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:189.33-189.45" *)
  wire [15:0] _08_;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:62.19-62.24" *)
  input [37:0] io_in;
  wire [37:0] io_in;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:68.19-68.25" *)
  output [37:0] io_oeb;
  wire [37:0] io_oeb;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:65.19-65.25" *)
  output [37:0] io_out;
  wire [37:0] io_out;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:71.18-71.21" *)
  output [2:0] irq;
  wire [2:0] irq;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:55.20-55.30" *)
  input [127:0] la_data_in;
  wire [127:0] la_data_in;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:59.20-59.31" *)
  output [127:0] la_data_out;
  wire [127:0] la_data_out;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:56.20-56.27" *)
  input [127:0] la_oenb;
  wire [127:0] la_oenb;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:87.8-87.42" *)
  wire \res_cpu$EN_dmem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:88.8-88.43" *)
  wire \res_cpu$EN_dmem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:89.8-89.42" *)
  wire \res_cpu$EN_imem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:90.8-90.43" *)
  wire \res_cpu$EN_imem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:91.8-91.43" *)
  wire \res_cpu$RDY_dmem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:92.8-92.44" *)
  wire \res_cpu$RDY_dmem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:93.8-93.43" *)
  wire \res_cpu$RDY_imem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:94.8-94.44" *)
  wire \res_cpu$RDY_imem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:79.17-79.48" *)
  wire [99:0] \res_cpu$dmem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:80.17-80.49" *)
  wire [31:0] \res_cpu$dmem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:81.3-81.34" *)
  wire [31:0] \res_cpu$imem_client_request_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:82.3-82.35" *)
  wire [31:0] \res_cpu$imem_client_response_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:95.8-95.35" *)
  wire \res_cpu$sysmem_client_ack_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:83.3-83.30" *)
  wire [31:0] \res_cpu$sysmem_client_adr_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:96.8-96.35" *)
  wire \res_cpu$sysmem_client_cyc_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:84.3-84.30" *)
  wire [31:0] \res_cpu$sysmem_client_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:85.3-85.30" *)
  wire [31:0] \res_cpu$sysmem_client_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:97.8-97.35" *)
  wire \res_cpu$sysmem_client_err_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:98.8-98.35" *)
  wire \res_cpu$sysmem_client_rty_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:86.16-86.43" *)
  wire [3:0] \res_cpu$sysmem_client_sel_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:99.8-99.35" *)
  wire \res_cpu$sysmem_client_stb_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:100.8-100.34" *)
  wire \res_cpu$sysmem_client_we_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:115.8-115.28" *)
  wire \res_fabric$cpu_ack_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:103.17-103.37" *)
  wire [31:0] \res_fabric$cpu_adr_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:116.8-116.28" *)
  wire \res_fabric$cpu_cyc_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:104.3-104.23" *)
  wire [31:0] \res_fabric$cpu_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:105.3-105.23" *)
  wire [31:0] \res_fabric$cpu_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:117.8-117.28" *)
  wire \res_fabric$cpu_err_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:118.8-118.28" *)
  wire \res_fabric$cpu_rty_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:112.16-112.36" *)
  wire [3:0] \res_fabric$cpu_sel_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:119.8-119.28" *)
  wire \res_fabric$cpu_stb_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:120.8-120.27" *)
  wire \res_fabric$cpu_we_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:121.8-121.29" *)
  wire \res_fabric$gpio_ack_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:106.3-106.24" *)
  wire [31:0] \res_fabric$gpio_adr_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:122.8-122.29" *)
  wire \res_fabric$gpio_cyc_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:107.3-107.24" *)
  wire [31:0] \res_fabric$gpio_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:108.3-108.24" *)
  wire [31:0] \res_fabric$gpio_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:123.8-123.29" *)
  wire \res_fabric$gpio_err_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:124.8-124.29" *)
  wire \res_fabric$gpio_rty_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:113.9-113.30" *)
  wire [3:0] \res_fabric$gpio_sel_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:125.8-125.29" *)
  wire \res_fabric$gpio_stb_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:126.8-126.28" *)
  wire \res_fabric$gpio_we_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:127.8-127.28" *)
  wire \res_fabric$spi_ack_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:109.3-109.23" *)
  wire [31:0] \res_fabric$spi_adr_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:128.8-128.28" *)
  wire \res_fabric$spi_cyc_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:110.3-110.23" *)
  wire [31:0] \res_fabric$spi_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:111.3-111.23" *)
  wire [31:0] \res_fabric$spi_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:129.8-129.28" *)
  wire \res_fabric$spi_err_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:130.8-130.28" *)
  wire \res_fabric$spi_rty_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:114.9-114.29" *)
  wire [3:0] \res_fabric$spi_sel_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:131.8-131.28" *)
  wire \res_fabric$spi_stb_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:132.8-132.27" *)
  wire \res_fabric$spi_we_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:138.17-138.28" *)
  wire [15:0] \res_gpio$in ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:138.30-138.41" *)
  wire [15:0] \res_gpio$oe ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:138.43-138.55" *)
  wire [15:0] \res_gpio$out ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:140.8-140.28" *)
  wire \res_gpio$slave_ack_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:135.17-135.37" *)
  wire [31:0] \res_gpio$slave_adr_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:141.8-141.28" *)
  wire \res_gpio$slave_cyc_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:136.3-136.23" *)
  wire [31:0] \res_gpio$slave_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:137.3-137.23" *)
  wire [31:0] \res_gpio$slave_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:142.8-142.28" *)
  wire \res_gpio$slave_err_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:143.8-143.28" *)
  wire \res_gpio$slave_rty_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:139.16-139.36" *)
  wire [3:0] \res_gpio$slave_sel_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:144.8-144.28" *)
  wire \res_gpio$slave_stb_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:145.8-145.27" *)
  wire \res_gpio$slave_we_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:152.8-152.42" *)
  wire \res_mem$EN_memory_dmem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:153.8-153.43" *)
  wire \res_mem$EN_memory_dmem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:154.8-154.42" *)
  wire \res_mem$EN_memory_imem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:155.8-155.43" *)
  wire \res_mem$EN_memory_imem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:156.8-156.43" *)
  wire \res_mem$RDY_memory_dmem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:157.8-157.44" *)
  wire \res_mem$RDY_memory_dmem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:158.8-158.43" *)
  wire \res_mem$RDY_memory_imem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:159.8-159.44" *)
  wire \res_mem$RDY_memory_imem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:148.17-148.48" *)
  wire [99:0] \res_mem$memory_dmem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:149.17-149.49" *)
  wire [31:0] \res_mem$memory_dmem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:150.3-150.34" *)
  wire [31:0] \res_mem$memory_imem_request_put ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:151.3-151.35" *)
  wire [31:0] \res_mem$memory_imem_response_get ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:164.8-164.27" *)
  wire \res_spi$slave_ack_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:162.17-162.36" *)
  wire [31:0] \res_spi$slave_adr_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:165.8-165.27" *)
  wire \res_spi$slave_cyc_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:162.38-162.57" *)
  wire [31:0] \res_spi$slave_dat_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:162.59-162.78" *)
  wire [31:0] \res_spi$slave_dat_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:166.8-166.27" *)
  wire \res_spi$slave_err_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:167.8-167.27" *)
  wire \res_spi$slave_rty_o ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:163.16-163.35" *)
  wire [3:0] \res_spi$slave_sel_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:168.8-168.27" *)
  wire \res_spi$slave_stb_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:169.8-169.26" *)
  wire \res_spi$slave_we_i ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:170.8-170.30" *)
  wire \res_spi$spiMaster_miso ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:171.8-171.30" *)
  wire \res_spi$spiMaster_mosi ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:172.8-172.30" *)
  wire \res_spi$spiMaster_sclk ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:175.8-175.25" *)
  wire \reset_n$RESET_OUT ;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:51.10-51.18" *)
  input wb_clk_i;
  wire wb_clk_i;
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:52.10-52.18" *)
  input wb_rst_i;
  wire wb_rst_i;
  assign _00_ = \res_cpu$RDY_dmem_client_request_get  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:318.7-319.42" *) \res_mem$RDY_memory_dmem_request_put ;
  assign _01_ = \res_cpu$RDY_dmem_client_response_put  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:321.7-322.43" *) \res_mem$RDY_memory_dmem_response_get ;
  assign _02_ = \res_cpu$RDY_imem_client_request_get  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:324.7-325.42" *) \res_mem$RDY_memory_imem_request_put ;
  assign _03_ = \res_cpu$RDY_imem_client_response_put  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:327.7-328.43" *) \res_mem$RDY_memory_imem_response_get ;
  assign _04_ = \res_cpu$RDY_imem_client_request_get  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:359.7-360.42" *) \res_mem$RDY_memory_imem_request_put ;
  assign _05_ = \res_cpu$RDY_imem_client_response_put  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:362.7-363.43" *) \res_mem$RDY_memory_imem_response_get ;
  assign _06_ = \res_cpu$RDY_dmem_client_request_get  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:365.7-366.42" *) \res_mem$RDY_memory_dmem_request_put ;
  assign _07_ = \res_cpu$RDY_dmem_client_response_put  && (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:368.7-369.43" *) \res_mem$RDY_memory_dmem_response_get ;
  assign _08_ = ~ (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:189.33-189.45" *) \res_gpio$oe ;
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:195.14-220.22" *)
  mkLanaiCPU res_cpu (
`ifdef USE_POWER_PINS
    .VPWR(VPWR),
    .VGND(VGND),
`endif
    .CLK(wb_clk_i),
    .EN_dmem_client_request_get(\res_cpu$EN_dmem_client_request_get ),
    .EN_dmem_client_response_put(\res_cpu$EN_dmem_client_response_put ),
    .EN_imem_client_request_get(\res_cpu$EN_imem_client_request_get ),
    .EN_imem_client_response_put(\res_cpu$EN_imem_client_response_put ),
    .RDY_dmem_client_request_get(\res_cpu$RDY_dmem_client_request_get ),
    .RDY_dmem_client_response_put(\res_cpu$RDY_dmem_client_response_put ),
    .RDY_imem_client_request_get(\res_cpu$RDY_imem_client_request_get ),
    .RDY_imem_client_response_put(\res_cpu$RDY_imem_client_response_put ),
    .RST_N(\reset_n$RESET_OUT ),
    .dmem_client_request_get(\res_cpu$dmem_client_request_get ),
    .dmem_client_response_put(\res_cpu$dmem_client_response_put ),
    .imem_client_request_get(\res_cpu$imem_client_request_get ),
    .imem_client_response_put(\res_cpu$imem_client_response_put ),
    .sysmem_client_ack_i(\res_cpu$sysmem_client_ack_i ),
    .sysmem_client_adr_o(\res_cpu$sysmem_client_adr_o ),
    .sysmem_client_cyc_o(\res_cpu$sysmem_client_cyc_o ),
    .sysmem_client_dat_i(\res_cpu$sysmem_client_dat_i ),
    .sysmem_client_dat_o(\res_cpu$sysmem_client_dat_o ),
    .sysmem_client_err_i(\res_cpu$sysmem_client_err_i ),
    .sysmem_client_rty_i(\res_cpu$sysmem_client_rty_i ),
    .sysmem_client_sel_o(\res_cpu$sysmem_client_sel_o ),
    .sysmem_client_stb_o(\res_cpu$sysmem_client_stb_o ),
    .sysmem_client_we_o(\res_cpu$sysmem_client_we_o )
  );
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:223.17-254.40" *)
  mkQF100Fabric res_fabric (
`ifdef USE_POWER_PINS
    .VPWR(VPWR),
    .VGND(VGND),
`endif
    .CLK(wb_clk_i),
    .RST_N(\reset_n$RESET_OUT ),
    .cpu_ack_o(\res_fabric$cpu_ack_o ),
    .cpu_adr_i(\res_fabric$cpu_adr_i ),
    .cpu_cyc_i(\res_fabric$cpu_cyc_i ),
    .cpu_dat_i(\res_fabric$cpu_dat_i ),
    .cpu_dat_o(\res_fabric$cpu_dat_o ),
    .cpu_err_o(\res_fabric$cpu_err_o ),
    .cpu_rty_o(\res_fabric$cpu_rty_o ),
    .cpu_sel_i(\res_fabric$cpu_sel_i ),
    .cpu_stb_i(\res_fabric$cpu_stb_i ),
    .cpu_we_i(\res_fabric$cpu_we_i ),
    .gpio_ack_i(\res_fabric$gpio_ack_i ),
    .gpio_adr_o(\res_fabric$gpio_adr_o ),
    .gpio_cyc_o(\res_fabric$gpio_cyc_o ),
    .gpio_dat_i(\res_fabric$gpio_dat_i ),
    .gpio_dat_o(\res_fabric$gpio_dat_o ),
    .gpio_err_i(\res_fabric$gpio_err_i ),
    .gpio_rty_i(\res_fabric$gpio_rty_i ),
    .gpio_sel_o(\res_fabric$gpio_sel_o ),
    .gpio_stb_o(\res_fabric$gpio_stb_o ),
    .gpio_we_o(\res_fabric$gpio_we_o ),
    .spi_ack_i(\res_fabric$spi_ack_i ),
    .spi_adr_o(\res_fabric$spi_adr_o ),
    .spi_cyc_o(\res_fabric$spi_cyc_o ),
    .spi_dat_i(\res_fabric$spi_dat_i ),
    .spi_dat_o(\res_fabric$spi_dat_o ),
    .spi_err_i(\res_fabric$spi_err_i ),
    .spi_rty_i(\res_fabric$spi_rty_i ),
    .spi_sel_o(\res_fabric$spi_sel_o ),
    .spi_stb_o(\res_fabric$spi_stb_o ),
    .spi_we_o(\res_fabric$spi_we_o )
  );
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:257.15-271.29" *)
  mkQF100GPIO res_gpio (
`ifdef USE_POWER_PINS
    .VPWR(VPWR),
    .VGND(VGND),
`endif
    .CLK(wb_clk_i),
    .RST_N(\reset_n$RESET_OUT ),
    .in(\res_gpio$in ),
    .oe(\res_gpio$oe ),
    .out(\res_gpio$out ),
    .slave_ack_o(\res_gpio$slave_ack_o ),
    .slave_adr_i(\res_gpio$slave_adr_i ),
    .slave_cyc_i(\res_gpio$slave_cyc_i ),
    .slave_dat_i(\res_gpio$slave_dat_i ),
    .slave_dat_o(\res_gpio$slave_dat_o ),
    .slave_err_o(\res_gpio$slave_err_o ),
    .slave_rty_o(\res_gpio$slave_rty_o ),
    .slave_sel_i(\res_gpio$slave_sel_i ),
    .slave_stb_i(\res_gpio$slave_stb_i ),
    .slave_we_i(\res_gpio$slave_we_i )
  );
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:274.17-287.72" *)
  mkQF100Memory res_mem (
`ifdef USE_POWER_PINS
    .VPWR(VPWR),
    .VGND(VGND),
`endif
    .CLK(wb_clk_i),
    .EN_memory_dmem_request_put(\res_mem$EN_memory_dmem_request_put ),
    .EN_memory_dmem_response_get(\res_mem$EN_memory_dmem_response_get ),
    .EN_memory_imem_request_put(\res_mem$EN_memory_imem_request_put ),
    .EN_memory_imem_response_get(\res_mem$EN_memory_imem_response_get ),
    .RDY_memory_dmem_request_put(\res_mem$RDY_memory_dmem_request_put ),
    .RDY_memory_dmem_response_get(\res_mem$RDY_memory_dmem_response_get ),
    .RDY_memory_imem_request_put(\res_mem$RDY_memory_imem_request_put ),
    .RDY_memory_imem_response_get(\res_mem$RDY_memory_imem_response_get ),
    .RST_N(\reset_n$RESET_OUT ),
    .memory_dmem_request_put(\res_mem$memory_dmem_request_put ),
    .memory_dmem_response_get(\res_mem$memory_dmem_response_get ),
    .memory_imem_request_put(\res_mem$memory_imem_request_put ),
    .memory_imem_response_get(\res_mem$memory_imem_response_get )
  );
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:290.14-305.29" *)
  mkQF100SPI res_spi (
`ifdef USE_POWER_PINS
    .VPWR(VPWR),
    .VGND(VGND),
`endif
    .CLK(wb_clk_i),
    .RST_N(\reset_n$RESET_OUT ),
    .slave_ack_o(\res_spi$slave_ack_o ),
    .slave_adr_i(\res_spi$slave_adr_i ),
    .slave_cyc_i(\res_spi$slave_cyc_i ),
    .slave_dat_i(\res_spi$slave_dat_i ),
    .slave_dat_o(\res_spi$slave_dat_o ),
    .slave_err_o(\res_spi$slave_err_o ),
    .slave_rty_o(\res_spi$slave_rty_o ),
    .slave_sel_i(\res_spi$slave_sel_i ),
    .slave_stb_i(\res_spi$slave_stb_i ),
    .slave_we_i(\res_spi$slave_we_i ),
    .spiMaster_miso(\res_spi$spiMaster_miso ),
    .spiMaster_mosi(\res_spi$spiMaster_mosi ),
    .spiMaster_sclk(\res_spi$spiMaster_sclk )
  );
  (* module_not_derived = 32'd1 *)
  (* src = "bazel-out/k8-fastbuild/bin/boards/qf100/QF100/mkQF105.v:308.17-308.76" *)
  ResetInverter reset_n (
    .RESET_IN(wb_rst_i),
    .RESET_OUT(\reset_n$RESET_OUT )
  );
  assign la_data_out = 128'h00000000000000000000000000000000;
  assign io_out = { 19'h00000, \res_gpio$out , 1'h0, \res_spi$spiMaster_mosi , \res_spi$spiMaster_sclk  };
  assign io_oeb = { 19'h7ffff, _08_, 3'h4 };
  assign irq = 3'h0;
  assign \res_cpu$dmem_client_response_put  = \res_mem$memory_dmem_response_get ;
  assign \res_cpu$imem_client_response_put  = \res_mem$memory_imem_response_get ;
  assign \res_cpu$sysmem_client_ack_i  = \res_fabric$cpu_ack_o ;
  assign \res_cpu$sysmem_client_dat_i  = \res_fabric$cpu_dat_o ;
  assign \res_cpu$sysmem_client_err_i  = \res_fabric$cpu_err_o ;
  assign \res_cpu$sysmem_client_rty_i  = \res_fabric$cpu_rty_o ;
  assign \res_cpu$EN_dmem_client_request_get  = _00_;
  assign \res_cpu$EN_dmem_client_response_put  = _01_;
  assign \res_cpu$EN_imem_client_request_get  = _02_;
  assign \res_cpu$EN_imem_client_response_put  = _03_;
  assign \res_fabric$cpu_adr_i  = \res_cpu$sysmem_client_adr_o ;
  assign \res_fabric$cpu_cyc_i  = \res_cpu$sysmem_client_cyc_o ;
  assign \res_fabric$cpu_dat_i  = \res_cpu$sysmem_client_dat_o ;
  assign \res_fabric$cpu_sel_i  = \res_cpu$sysmem_client_sel_o ;
  assign \res_fabric$cpu_stb_i  = \res_cpu$sysmem_client_stb_o ;
  assign \res_fabric$cpu_we_i  = \res_cpu$sysmem_client_we_o ;
  assign \res_fabric$gpio_ack_i  = \res_gpio$slave_ack_o ;
  assign \res_fabric$gpio_dat_i  = \res_gpio$slave_dat_o ;
  assign \res_fabric$gpio_err_i  = \res_gpio$slave_err_o ;
  assign \res_fabric$gpio_rty_i  = \res_gpio$slave_rty_o ;
  assign \res_fabric$spi_ack_i  = \res_spi$slave_ack_o ;
  assign \res_fabric$spi_dat_i  = \res_spi$slave_dat_o ;
  assign \res_fabric$spi_err_i  = \res_spi$slave_err_o ;
  assign \res_fabric$spi_rty_i  = \res_spi$slave_rty_o ;
  assign \res_gpio$in  = io_in[18:3];
  assign \res_gpio$slave_adr_i  = \res_fabric$gpio_adr_o ;
  assign \res_gpio$slave_cyc_i  = \res_fabric$gpio_cyc_o ;
  assign \res_gpio$slave_dat_i  = \res_fabric$gpio_dat_o ;
  assign \res_gpio$slave_sel_i  = \res_fabric$gpio_sel_o ;
  assign \res_gpio$slave_stb_i  = \res_fabric$gpio_stb_o ;
  assign \res_gpio$slave_we_i  = \res_fabric$gpio_we_o ;
  assign \res_mem$memory_dmem_request_put  = \res_cpu$dmem_client_request_get ;
  assign \res_mem$memory_imem_request_put  = \res_cpu$imem_client_request_get ;
  assign \res_mem$EN_memory_imem_request_put  = _04_;
  assign \res_mem$EN_memory_imem_response_get  = _05_;
  assign \res_mem$EN_memory_dmem_request_put  = _06_;
  assign \res_mem$EN_memory_dmem_response_get  = _07_;
  assign \res_spi$slave_adr_i  = \res_fabric$spi_adr_o ;
  assign \res_spi$slave_cyc_i  = \res_fabric$spi_cyc_o ;
  assign \res_spi$slave_dat_i  = \res_fabric$spi_dat_o ;
  assign \res_spi$slave_sel_i  = \res_fabric$spi_sel_o ;
  assign \res_spi$slave_stb_i  = \res_fabric$spi_stb_o ;
  assign \res_spi$slave_we_i  = \res_fabric$spi_we_o ;
  assign \res_spi$spiMaster_miso  = io_in[2];
endmodule

