/* 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
    vccd1,
    vssd1,
`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 vccd1;
    inout vssd1;
`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
    .vccd1(vccd1),
    .vssd1(vssd1),
`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
    .vccd1(vccd1),
    .vssd1(vssd1),
`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
    .vccd1(vccd1),
    .vssd1(vssd1),
`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
    .vccd1(vccd1),
    .vssd1(vssd1),
`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
    .vccd1(vccd1),
    .vssd1(vssd1),
`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

