From c6d66fde4e228a91c78a7e6a283cd3099f561c49 Mon Sep 17 00:00:00 2001 From: "raoxianhong@jingjiamicro.com" Date: Wed, 15 Sep 2021 06:16:20 +0800 Subject: [PATCH] 202109150616 --- examples/hdl4se_riscv/de2/de2_riscv_axi.qws | Bin 613 -> 0 bytes examples/hdl4se_riscv/de2/de2_riscv_axi.sof | Bin 3541673 -> 3541673 bytes .../verilog/riscv_axi/riscv_core_v5.v | 38 +- .../riscv_axi_v5.cache/wt/webtalk_pa.xml | 39 +- .../hw_handoff/risc_axi_v5_top_bd.tcl | 245 ---- .../risc_axi_v5_top_led_key_0_0.xml | 38 +- .../bd/risc_axi_v5_top/risc_axi_v5_top.bxml | 54 +- .../risc_axi_v5_top/risc_axi_v5_top_ooc.xdc | 11 - .../bd/risc_axi_v5_top/sim/risc_axi_v5_top.v | 1127 ----------------- .../risc_axi_v5_top/synth/risc_axi_v5_top.v | 1127 ----------------- .../risc_axi_v5_top_led_key_0_0.xci | 62 +- ...isc_axi_v5_top_riscv_core_with_axi_0_6.xci | 34 +- .../bd/risc_axi_v5_top/risc_axi_v5_top.bd | 351 +++-- .../bd/risc_axi_v5_top/risc_axi_v5_top.bda | 12 +- .../bd/risc_axi_v5_top/ui/bd_df8a7a1a.ui | 2 +- .../z7/riscv_axi_v5/riscv_axi_v5.xpr | 27 +- 16 files changed, 291 insertions(+), 2876 deletions(-) delete mode 100644 examples/hdl4se_riscv/de2/de2_riscv_axi.qws delete mode 100644 examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/hw_handoff/risc_axi_v5_top_bd.tcl delete mode 100644 examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top_ooc.xdc delete mode 100644 examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/sim/risc_axi_v5_top.v delete mode 100644 examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/synth/risc_axi_v5_top.v diff --git a/examples/hdl4se_riscv/de2/de2_riscv_axi.qws b/examples/hdl4se_riscv/de2/de2_riscv_axi.qws deleted file mode 100644 index f496237d9e2cab076119e8817f325505323cb84a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 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 Wb{LP8I)@XP=7--^?eofS{^H+^FSu<0 delta 197845 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 U3IT}5tr-5@wZh}kY}>g%0TklT{{R30 diff --git a/examples/hdl4se_riscv/verilog/riscv_axi/riscv_core_v5.v b/examples/hdl4se_riscv/verilog/riscv_axi/riscv_core_v5.v index ca0ea19..ed3d984 100644 --- a/examples/hdl4se_riscv/verilog/riscv_axi/riscv_core_v5.v +++ b/examples/hdl4se_riscv/verilog/riscv_axi/riscv_core_v5.v @@ -118,7 +118,7 @@ module riscv_core_v5( reg [31:0] csr_r; always @(posedge wClk) - if (state == `RISCVSTATE_READ_REGS) + if (state == `RISCVSTATE_READ_REGS && wReadReady) case (bReadData[31:20]) 12'h301: csr_r <= misa; `ifdef CSRBASECOUNTER @@ -350,7 +350,7 @@ module riscv_core_v5( //DEFINE_FUNC(riscv_core_reg_gen_instr, "state, bReadData") { always @(posedge wClk) - if (state == `RISCVSTATE_READ_REGS) + if (state == `RISCVSTATE_READ_REGS && wReadReady) instr <= bReadData; //DEFINE_FUNC(riscv_core_reg_gen_readreg, "state, instr") { @@ -486,7 +486,10 @@ module riscv_core_v5( end else begin case (state) `RISCVSTATE_READ_INST: state <= `RISCVSTATE_READ_REGS; - `RISCVSTATE_READ_REGS: state <= `RISCVSTATE_EXEC_INST; + `RISCVSTATE_READ_REGS: + if (wReadReady) begin + state <= `RISCVSTATE_EXEC_INST; + end `RISCVSTATE_EXEC_INST: begin if (opcode == 5'h00) begin state <= `RISCVSTATE_WAIT_LD; @@ -562,7 +565,7 @@ module riscv_core_v5( //DEFINE_FUNC(riscv_core_gen_imm, "bReadData, state") { /* ÔÚRISCVSTATE_READ_REGSÖÜÆÚÉú³Éimm */ always @(posedge wClk) - if (state == `RISCVSTATE_READ_REGS) begin + if (state == `RISCVSTATE_READ_REGS && wReadReady) begin case (bReadData[6:2]) 5'h0d: imm <= {bReadData[31:12], 12'b0}; 5'h05: imm <= {bReadData[31:12], 12'b0}; @@ -720,14 +723,25 @@ module riscv_core_v5( always @(state or dstreg or dstvalue or bReadData or instr or regrddata or regrddata2 or pc) case (state) `RISCVSTATE_READ_REGS: begin - regno = bReadData[19:15]; /* instr */ - regwren = 0; - regena = 0; - regwrdata = 0; - regno2 = bReadData[24:20]; /* instr */ - regwren2 = 0; - regena2 = 0; - regwrdata2 = 0; + if (wReadReady) begin + regno = bReadData[19:15]; /* instr */ + regwren = 0; + regena = 0; + regwrdata = 0; + regno2 = bReadData[24:20]; /* instr */ + regwren2 = 0; + regena2 = 0; + regwrdata2 = 0; + end else begin + regno = 0; + regwren = 0; + regena = 0; + regwrdata = 0; + regno2 = 0; + regwren2 = 0; + regena2 = 0; + regwrdata2 = 0; + end end `RISCVSTATE_EXEC_INST, `RISCVSTATE_WAIT_LD, diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.cache/wt/webtalk_pa.xml b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.cache/wt/webtalk_pa.xml index 19c608f..4eb4aeb 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.cache/wt/webtalk_pa.xml +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.cache/wt/webtalk_pa.xml @@ -3,7 +3,7 @@ - +
@@ -17,20 +17,20 @@ This means code written to parse this file will need to be revisited each subseq - + - - + + - + - + @@ -55,12 +55,12 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + @@ -76,7 +76,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -113,13 +113,13 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + @@ -134,7 +134,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -145,13 +145,13 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + @@ -169,6 +169,11 @@ This means code written to parse this file will need to be revisited each subseq + + + + +
diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/hw_handoff/risc_axi_v5_top_bd.tcl b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/hw_handoff/risc_axi_v5_top_bd.tcl deleted file mode 100644 index 07815e6..0000000 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/hw_handoff/risc_axi_v5_top_bd.tcl +++ /dev/null @@ -1,245 +0,0 @@ - -################################################################ -# This is a generated script based on design: risc_axi_v5_top -# -# Though there are limitations about the generated script, -# the main purpose of this utility is to make learning -# IP Integrator Tcl commands easier. -################################################################ - -namespace eval _tcl { -proc get_script_folder {} { - set script_path [file normalize [info script]] - set script_folder [file dirname $script_path] - return $script_folder -} -} -variable script_folder -set script_folder [_tcl::get_script_folder] - -################################################################ -# Check if script is running in correct Vivado version. -################################################################ -set scripts_vivado_version 2021.1 -set current_vivado_version [version -short] - -if { [string first $scripts_vivado_version $current_vivado_version] == -1 } { - puts "" - catch {common::send_gid_msg -ssname BD::TCL -id 2041 -severity "ERROR" "This script was generated using Vivado <$scripts_vivado_version> and is being run in <$current_vivado_version> of Vivado. Please run the script in Vivado <$scripts_vivado_version> then open the design in Vivado <$current_vivado_version>. Upgrade the design by running \"Tools => Report => Report IP Status...\", then run write_bd_tcl to create an updated script."} - - return 1 -} - -################################################################ -# START -################################################################ - -# To test this script, run the following commands from Vivado Tcl console: -# source risc_axi_v5_top_script.tcl - - -# The design that will be created by this Tcl script contains the following -# module references: -# led_key, riscv_core_with_axi_master - -# Please add the sources of those modules before sourcing this Tcl script. - -# If there is no project opened, this script will create a -# project, but make sure you do not have an existing project -# <./myproj/project_1.xpr> in the current working folder. - -set list_projs [get_projects -quiet] -if { $list_projs eq "" } { - create_project project_1 myproj -part xc7z020clg400-2 -} - - -# CHANGE DESIGN NAME HERE -variable design_name -set design_name risc_axi_v5_top - -# If you do not already have an existing IP Integrator design open, -# you can create a design using the following command: -# create_bd_design $design_name - -# Creating design if needed -set errMsg "" -set nRet 0 - -set cur_design [current_bd_design -quiet] -set list_cells [get_bd_cells -quiet] - -if { ${design_name} eq "" } { - # USE CASES: - # 1) Design_name not set - - set errMsg "Please set the variable to a non-empty value." - set nRet 1 - -} elseif { ${cur_design} ne "" && ${list_cells} eq "" } { - # USE CASES: - # 2): Current design opened AND is empty AND names same. - # 3): Current design opened AND is empty AND names diff; design_name NOT in project. - # 4): Current design opened AND is empty AND names diff; design_name exists in project. - - if { $cur_design ne $design_name } { - common::send_gid_msg -ssname BD::TCL -id 2001 -severity "INFO" "Changing value of from <$design_name> to <$cur_design> since current design is empty." - set design_name [get_property NAME $cur_design] - } - common::send_gid_msg -ssname BD::TCL -id 2002 -severity "INFO" "Constructing design in IPI design <$cur_design>..." - -} elseif { ${cur_design} ne "" && $list_cells ne "" && $cur_design eq $design_name } { - # USE CASES: - # 5) Current design opened AND has components AND same names. - - set errMsg "Design <$design_name> already exists in your project, please set the variable to another value." - set nRet 1 -} elseif { [get_files -quiet ${design_name}.bd] ne "" } { - # USE CASES: - # 6) Current opened design, has components, but diff names, design_name exists in project. - # 7) No opened design, design_name exists in project. - - set errMsg "Design <$design_name> already exists in your project, please set the variable to another value." - set nRet 2 - -} else { - # USE CASES: - # 8) No opened design, design_name not in project. - # 9) Current opened design, has components, but diff names, design_name not in project. - - common::send_gid_msg -ssname BD::TCL -id 2003 -severity "INFO" "Currently there is no design <$design_name> in project, so creating one..." - - create_bd_design $design_name - - common::send_gid_msg -ssname BD::TCL -id 2004 -severity "INFO" "Making design <$design_name> as current_bd_design." - current_bd_design $design_name - -} - -common::send_gid_msg -ssname BD::TCL -id 2005 -severity "INFO" "Currently the variable is equal to \"$design_name\"." - -if { $nRet != 0 } { - catch {common::send_gid_msg -ssname BD::TCL -id 2006 -severity "ERROR" $errMsg} - return $nRet -} - -################################################################## -# DESIGN PROCs -################################################################## - - - -# Procedure to create entire design; Provide argument to make -# procedure reusable. If parentCell is "", will use root. -proc create_root_design { parentCell } { - - variable script_folder - variable design_name - - if { $parentCell eq "" } { - set parentCell [get_bd_cells /] - } - - # Get object for parentCell - set parentObj [get_bd_cells $parentCell] - if { $parentObj == "" } { - catch {common::send_gid_msg -ssname BD::TCL -id 2090 -severity "ERROR" "Unable to find parent cell <$parentCell>!"} - return - } - - # Make sure parentObj is hier blk - set parentType [get_property TYPE $parentObj] - if { $parentType ne "hier" } { - catch {common::send_gid_msg -ssname BD::TCL -id 2091 -severity "ERROR" "Parent <$parentObj> has TYPE = <$parentType>. Expected to be ."} - return - } - - # Save current instance; Restore later - set oldCurInst [current_bd_instance .] - - # Set parent object as current - current_bd_instance $parentObj - - - # Create interface ports - - # Create ports - set key [ create_bd_port -dir I -from 2 -to 0 -type data key ] - set led [ create_bd_port -dir O -from 3 -to 0 -type data led ] - set nwReset [ create_bd_port -dir I -type rst nwReset ] - set uart_rx [ create_bd_port -dir I -type data uart_rx ] - set uart_tx [ create_bd_port -dir O -type data uart_tx ] - set wClk [ create_bd_port -dir I -type clk -freq_hz 50000000 wClk ] - - # Create instance: axi_uartlite_0, and set properties - set axi_uartlite_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_uartlite:2.0 axi_uartlite_0 ] - set_property -dict [ list \ - CONFIG.C_BAUDRATE {115200} \ - ] $axi_uartlite_0 - - # Create instance: led_key_0, and set properties - set block_name led_key - set block_cell_name led_key_0 - if { [catch {set led_key_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } { - catch {common::send_gid_msg -ssname BD::TCL -id 2095 -severity "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} - return 1 - } elseif { $led_key_0 eq "" } { - catch {common::send_gid_msg -ssname BD::TCL -id 2096 -severity "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} - return 1 - } - - # Create instance: riscv_core_with_axi_0, and set properties - set block_name riscv_core_with_axi_master - set block_cell_name riscv_core_with_axi_0 - if { [catch {set riscv_core_with_axi_0 [create_bd_cell -type module -reference $block_name $block_cell_name] } errmsg] } { - catch {common::send_gid_msg -ssname BD::TCL -id 2095 -severity "ERROR" "Unable to add referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} - return 1 - } elseif { $riscv_core_with_axi_0 eq "" } { - catch {common::send_gid_msg -ssname BD::TCL -id 2096 -severity "ERROR" "Unable to referenced block <$block_name>. Please add the files for ${block_name}'s definition into the project."} - return 1 - } - - # Create instance: riscv_core_with_axi_0_axi_periph, and set properties - set riscv_core_with_axi_0_axi_periph [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_interconnect:2.1 riscv_core_with_axi_0_axi_periph ] - set_property -dict [ list \ - CONFIG.NUM_MI {2} \ - ] $riscv_core_with_axi_0_axi_periph - - # Create instance: rst_wClk_50M, and set properties - set rst_wClk_50M [ create_bd_cell -type ip -vlnv xilinx.com:ip:proc_sys_reset:5.0 rst_wClk_50M ] - - # Create interface connections - connect_bd_intf_net -intf_net riscv_core_with_axi_0_axi_periph_M00_AXI [get_bd_intf_pins axi_uartlite_0/S_AXI] [get_bd_intf_pins riscv_core_with_axi_0_axi_periph/M00_AXI] - connect_bd_intf_net -intf_net riscv_core_with_axi_0_axi_periph_M01_AXI [get_bd_intf_pins led_key_0/s00_axi] [get_bd_intf_pins riscv_core_with_axi_0_axi_periph/M01_AXI] - connect_bd_intf_net -intf_net riscv_core_with_axi_0_m00_axi [get_bd_intf_pins riscv_core_with_axi_0/m00_axi] [get_bd_intf_pins riscv_core_with_axi_0_axi_periph/S00_AXI] - - # Create port connections - connect_bd_net -net axi_uartlite_0_tx [get_bd_ports uart_tx] [get_bd_pins axi_uartlite_0/tx] - connect_bd_net -net key_1 [get_bd_ports key] [get_bd_pins led_key_0/key] - connect_bd_net -net led_key_0_led [get_bd_ports led] [get_bd_pins led_key_0/led] - connect_bd_net -net nwReset_1 [get_bd_ports nwReset] [get_bd_pins rst_wClk_50M/ext_reset_in] - connect_bd_net -net rst_wClk_50M_peripheral_aresetn [get_bd_pins axi_uartlite_0/s_axi_aresetn] [get_bd_pins led_key_0/s00_axi_aresetn] [get_bd_pins riscv_core_with_axi_0/m00_axi_aresetn] [get_bd_pins riscv_core_with_axi_0_axi_periph/ARESETN] [get_bd_pins riscv_core_with_axi_0_axi_periph/M00_ARESETN] [get_bd_pins riscv_core_with_axi_0_axi_periph/M01_ARESETN] [get_bd_pins riscv_core_with_axi_0_axi_periph/S00_ARESETN] [get_bd_pins rst_wClk_50M/peripheral_aresetn] - connect_bd_net -net uart_rx_1 [get_bd_ports uart_rx] [get_bd_pins axi_uartlite_0/rx] - connect_bd_net -net wClk_1 [get_bd_ports wClk] [get_bd_pins axi_uartlite_0/s_axi_aclk] [get_bd_pins led_key_0/s00_axi_aclk] [get_bd_pins riscv_core_with_axi_0/m00_axi_aclk] [get_bd_pins riscv_core_with_axi_0_axi_periph/ACLK] [get_bd_pins riscv_core_with_axi_0_axi_periph/M00_ACLK] [get_bd_pins riscv_core_with_axi_0_axi_periph/M01_ACLK] [get_bd_pins riscv_core_with_axi_0_axi_periph/S00_ACLK] [get_bd_pins rst_wClk_50M/slowest_sync_clk] - - # Create address segments - assign_bd_address -offset 0xF0000100 -range 0x00000080 -target_address_space [get_bd_addr_spaces riscv_core_with_axi_0/m00_axi] [get_bd_addr_segs axi_uartlite_0/S_AXI/Reg] -force - assign_bd_address -offset 0xF0000000 -range 0x00000080 -target_address_space [get_bd_addr_spaces riscv_core_with_axi_0/m00_axi] [get_bd_addr_segs led_key_0/s00_axi/reg0] -force - - - # Restore current instance - current_bd_instance $oldCurInst - - validate_bd_design - save_bd_design -} -# End of create_root_design() - - -################################################################## -# MAIN FLOW -################################################################## - -create_root_design "" - - diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xml b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xml index 0172d27..03d8100 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xml +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xml @@ -1058,36 +1058,36 @@ module_ref 1 - - - - + + + + - + - - - - - - - - - - + + + + + + + + + + - - + + - + - + diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bxml b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bxml index cd12976..b7c1aad 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bxml +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bxml @@ -2,54 +2,10 @@ Composite Fileset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top_ooc.xdc b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top_ooc.xdc deleted file mode 100644 index a2031a7..0000000 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top_ooc.xdc +++ /dev/null @@ -1,11 +0,0 @@ -################################################################################ - -# This XDC is used only for OOC mode of synthesis, implementation -# This constraints file contains default clock frequencies to be used during -# out-of-context flows such as OOC Synthesis and Hierarchical Designs. -# This constraints file is not used in normal top-down synthesis (default flow -# of Vivado) -################################################################################ -create_clock -name wClk -period 20 [get_ports wClk] - -################################################################################ \ No newline at end of file diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/sim/risc_axi_v5_top.v b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/sim/risc_axi_v5_top.v deleted file mode 100644 index ecfd0f6..0000000 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/sim/risc_axi_v5_top.v +++ /dev/null @@ -1,1127 +0,0 @@ -//Copyright 1986-2021 Xilinx, Inc. All Rights Reserved. -//-------------------------------------------------------------------------------- -//Tool Version: Vivado v.2021.1 (win64) Build 3247384 Thu Jun 10 19:36:33 MDT 2021 -//Date : Tue Sep 14 08:44:08 2021 -//Host : DESKTOP-USCR63D running 64-bit major release (build 9200) -//Command : generate_target risc_axi_v5_top.bd -//Design : risc_axi_v5_top -//Purpose : IP block netlist -//-------------------------------------------------------------------------------- -`timescale 1 ps / 1 ps - -module m00_couplers_imp_DIBHKD - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]m00_couplers_to_m00_couplers_ARADDR; - wire m00_couplers_to_m00_couplers_ARREADY; - wire m00_couplers_to_m00_couplers_ARVALID; - wire [31:0]m00_couplers_to_m00_couplers_AWADDR; - wire m00_couplers_to_m00_couplers_AWREADY; - wire m00_couplers_to_m00_couplers_AWVALID; - wire m00_couplers_to_m00_couplers_BREADY; - wire [1:0]m00_couplers_to_m00_couplers_BRESP; - wire m00_couplers_to_m00_couplers_BVALID; - wire [31:0]m00_couplers_to_m00_couplers_RDATA; - wire m00_couplers_to_m00_couplers_RREADY; - wire [1:0]m00_couplers_to_m00_couplers_RRESP; - wire m00_couplers_to_m00_couplers_RVALID; - wire [31:0]m00_couplers_to_m00_couplers_WDATA; - wire m00_couplers_to_m00_couplers_WREADY; - wire [3:0]m00_couplers_to_m00_couplers_WSTRB; - wire m00_couplers_to_m00_couplers_WVALID; - - assign M_AXI_araddr[31:0] = m00_couplers_to_m00_couplers_ARADDR; - assign M_AXI_arvalid = m00_couplers_to_m00_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = m00_couplers_to_m00_couplers_AWADDR; - assign M_AXI_awvalid = m00_couplers_to_m00_couplers_AWVALID; - assign M_AXI_bready = m00_couplers_to_m00_couplers_BREADY; - assign M_AXI_rready = m00_couplers_to_m00_couplers_RREADY; - assign M_AXI_wdata[31:0] = m00_couplers_to_m00_couplers_WDATA; - assign M_AXI_wstrb[3:0] = m00_couplers_to_m00_couplers_WSTRB; - assign M_AXI_wvalid = m00_couplers_to_m00_couplers_WVALID; - assign S_AXI_arready = m00_couplers_to_m00_couplers_ARREADY; - assign S_AXI_awready = m00_couplers_to_m00_couplers_AWREADY; - assign S_AXI_bresp[1:0] = m00_couplers_to_m00_couplers_BRESP; - assign S_AXI_bvalid = m00_couplers_to_m00_couplers_BVALID; - assign S_AXI_rdata[31:0] = m00_couplers_to_m00_couplers_RDATA; - assign S_AXI_rresp[1:0] = m00_couplers_to_m00_couplers_RRESP; - assign S_AXI_rvalid = m00_couplers_to_m00_couplers_RVALID; - assign S_AXI_wready = m00_couplers_to_m00_couplers_WREADY; - assign m00_couplers_to_m00_couplers_ARADDR = S_AXI_araddr[31:0]; - assign m00_couplers_to_m00_couplers_ARREADY = M_AXI_arready; - assign m00_couplers_to_m00_couplers_ARVALID = S_AXI_arvalid; - assign m00_couplers_to_m00_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign m00_couplers_to_m00_couplers_AWREADY = M_AXI_awready; - assign m00_couplers_to_m00_couplers_AWVALID = S_AXI_awvalid; - assign m00_couplers_to_m00_couplers_BREADY = S_AXI_bready; - assign m00_couplers_to_m00_couplers_BRESP = M_AXI_bresp[1:0]; - assign m00_couplers_to_m00_couplers_BVALID = M_AXI_bvalid; - assign m00_couplers_to_m00_couplers_RDATA = M_AXI_rdata[31:0]; - assign m00_couplers_to_m00_couplers_RREADY = S_AXI_rready; - assign m00_couplers_to_m00_couplers_RRESP = M_AXI_rresp[1:0]; - assign m00_couplers_to_m00_couplers_RVALID = M_AXI_rvalid; - assign m00_couplers_to_m00_couplers_WDATA = S_AXI_wdata[31:0]; - assign m00_couplers_to_m00_couplers_WREADY = M_AXI_wready; - assign m00_couplers_to_m00_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign m00_couplers_to_m00_couplers_WVALID = S_AXI_wvalid; -endmodule - -module m01_couplers_imp_15DQFTV - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arprot, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awprot, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arprot, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awprot, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - output [2:0]M_AXI_arprot; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - output [2:0]M_AXI_awprot; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - input [2:0]S_AXI_arprot; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - input [2:0]S_AXI_awprot; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]m01_couplers_to_m01_couplers_ARADDR; - wire [2:0]m01_couplers_to_m01_couplers_ARPROT; - wire m01_couplers_to_m01_couplers_ARREADY; - wire m01_couplers_to_m01_couplers_ARVALID; - wire [31:0]m01_couplers_to_m01_couplers_AWADDR; - wire [2:0]m01_couplers_to_m01_couplers_AWPROT; - wire m01_couplers_to_m01_couplers_AWREADY; - wire m01_couplers_to_m01_couplers_AWVALID; - wire m01_couplers_to_m01_couplers_BREADY; - wire [1:0]m01_couplers_to_m01_couplers_BRESP; - wire m01_couplers_to_m01_couplers_BVALID; - wire [31:0]m01_couplers_to_m01_couplers_RDATA; - wire m01_couplers_to_m01_couplers_RREADY; - wire [1:0]m01_couplers_to_m01_couplers_RRESP; - wire m01_couplers_to_m01_couplers_RVALID; - wire [31:0]m01_couplers_to_m01_couplers_WDATA; - wire m01_couplers_to_m01_couplers_WREADY; - wire [3:0]m01_couplers_to_m01_couplers_WSTRB; - wire m01_couplers_to_m01_couplers_WVALID; - - assign M_AXI_araddr[31:0] = m01_couplers_to_m01_couplers_ARADDR; - assign M_AXI_arprot[2:0] = m01_couplers_to_m01_couplers_ARPROT; - assign M_AXI_arvalid = m01_couplers_to_m01_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = m01_couplers_to_m01_couplers_AWADDR; - assign M_AXI_awprot[2:0] = m01_couplers_to_m01_couplers_AWPROT; - assign M_AXI_awvalid = m01_couplers_to_m01_couplers_AWVALID; - assign M_AXI_bready = m01_couplers_to_m01_couplers_BREADY; - assign M_AXI_rready = m01_couplers_to_m01_couplers_RREADY; - assign M_AXI_wdata[31:0] = m01_couplers_to_m01_couplers_WDATA; - assign M_AXI_wstrb[3:0] = m01_couplers_to_m01_couplers_WSTRB; - assign M_AXI_wvalid = m01_couplers_to_m01_couplers_WVALID; - assign S_AXI_arready = m01_couplers_to_m01_couplers_ARREADY; - assign S_AXI_awready = m01_couplers_to_m01_couplers_AWREADY; - assign S_AXI_bresp[1:0] = m01_couplers_to_m01_couplers_BRESP; - assign S_AXI_bvalid = m01_couplers_to_m01_couplers_BVALID; - assign S_AXI_rdata[31:0] = m01_couplers_to_m01_couplers_RDATA; - assign S_AXI_rresp[1:0] = m01_couplers_to_m01_couplers_RRESP; - assign S_AXI_rvalid = m01_couplers_to_m01_couplers_RVALID; - assign S_AXI_wready = m01_couplers_to_m01_couplers_WREADY; - assign m01_couplers_to_m01_couplers_ARADDR = S_AXI_araddr[31:0]; - assign m01_couplers_to_m01_couplers_ARPROT = S_AXI_arprot[2:0]; - assign m01_couplers_to_m01_couplers_ARREADY = M_AXI_arready; - assign m01_couplers_to_m01_couplers_ARVALID = S_AXI_arvalid; - assign m01_couplers_to_m01_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign m01_couplers_to_m01_couplers_AWPROT = S_AXI_awprot[2:0]; - assign m01_couplers_to_m01_couplers_AWREADY = M_AXI_awready; - assign m01_couplers_to_m01_couplers_AWVALID = S_AXI_awvalid; - assign m01_couplers_to_m01_couplers_BREADY = S_AXI_bready; - assign m01_couplers_to_m01_couplers_BRESP = M_AXI_bresp[1:0]; - assign m01_couplers_to_m01_couplers_BVALID = M_AXI_bvalid; - assign m01_couplers_to_m01_couplers_RDATA = M_AXI_rdata[31:0]; - assign m01_couplers_to_m01_couplers_RREADY = S_AXI_rready; - assign m01_couplers_to_m01_couplers_RRESP = M_AXI_rresp[1:0]; - assign m01_couplers_to_m01_couplers_RVALID = M_AXI_rvalid; - assign m01_couplers_to_m01_couplers_WDATA = S_AXI_wdata[31:0]; - assign m01_couplers_to_m01_couplers_WREADY = M_AXI_wready; - assign m01_couplers_to_m01_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign m01_couplers_to_m01_couplers_WVALID = S_AXI_wvalid; -endmodule - -(* CORE_GENERATION_INFO = "risc_axi_v5_top,IP_Integrator,{x_ipVendor=xilinx.com,x_ipLibrary=BlockDiagram,x_ipName=risc_axi_v5_top,x_ipVersion=1.00.a,x_ipLanguage=VERILOG,numBlks=9,numReposBlks=5,numNonXlnxBlks=0,numHierBlks=4,maxHierDepth=0,numSysgenBlks=0,numHlsBlks=0,numHdlrefBlks=2,numPkgbdBlks=0,bdsource=USER,da_axi4_cnt=9,da_board_cnt=1,synth_mode=Global}" *) (* HW_HANDOFF = "risc_axi_v5_top.hwdef" *) -module risc_axi_v5_top - (key, - led, - nwReset, - uart_rx, - uart_tx, - wClk); - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.KEY DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.KEY, LAYERED_METADATA undef" *) input [2:0]key; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.LED DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.LED, LAYERED_METADATA undef" *) output [3:0]led; - (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 RST.NWRESET RST" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME RST.NWRESET, INSERT_VIP 0, POLARITY ACTIVE_LOW" *) input nwReset; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.UART_RX DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.UART_RX, LAYERED_METADATA undef" *) input uart_rx; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.UART_TX DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.UART_TX, LAYERED_METADATA undef" *) output uart_tx; - (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 CLK.WCLK CLK" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME CLK.WCLK, CLK_DOMAIN risc_axi_v5_top_wClk, FREQ_HZ 50000000, FREQ_TOLERANCE_HZ 0, INSERT_VIP 0, PHASE 0.0" *) input wClk; - - wire axi_uartlite_0_tx; - wire [2:0]key_1; - wire [3:0]led_key_0_led; - wire nwReset_1; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_ARADDR; - wire [2:0]riscv_core_with_axi_0_m00_axi_ARPROT; - wire riscv_core_with_axi_0_m00_axi_ARREADY; - wire riscv_core_with_axi_0_m00_axi_ARVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_AWADDR; - wire [2:0]riscv_core_with_axi_0_m00_axi_AWPROT; - wire riscv_core_with_axi_0_m00_axi_AWREADY; - wire riscv_core_with_axi_0_m00_axi_AWVALID; - wire riscv_core_with_axi_0_m00_axi_BREADY; - wire [1:0]riscv_core_with_axi_0_m00_axi_BRESP; - wire riscv_core_with_axi_0_m00_axi_BVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_RDATA; - wire riscv_core_with_axi_0_m00_axi_RREADY; - wire [1:0]riscv_core_with_axi_0_m00_axi_RRESP; - wire riscv_core_with_axi_0_m00_axi_RVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_WDATA; - wire riscv_core_with_axi_0_m00_axi_WREADY; - wire [3:0]riscv_core_with_axi_0_m00_axi_WSTRB; - wire riscv_core_with_axi_0_m00_axi_WVALID; - wire [0:0]rst_wClk_50M_peripheral_aresetn; - wire uart_rx_1; - wire wClk_1; - - assign key_1 = key[2:0]; - assign led[3:0] = led_key_0_led; - assign nwReset_1 = nwReset; - assign uart_rx_1 = uart_rx; - assign uart_tx = axi_uartlite_0_tx; - assign wClk_1 = wClk; - risc_axi_v5_top_axi_uartlite_0_0 axi_uartlite_0 - (.rx(uart_rx_1), - .s_axi_aclk(wClk_1), - .s_axi_araddr(riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR[3:0]), - .s_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .s_axi_arready(riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY), - .s_axi_arvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID), - .s_axi_awaddr(riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR[3:0]), - .s_axi_awready(riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY), - .s_axi_awvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID), - .s_axi_bready(riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY), - .s_axi_bresp(riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP), - .s_axi_bvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID), - .s_axi_rdata(riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA), - .s_axi_rready(riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY), - .s_axi_rresp(riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP), - .s_axi_rvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID), - .s_axi_wdata(riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA), - .s_axi_wready(riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY), - .s_axi_wstrb(riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB), - .s_axi_wvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID), - .tx(axi_uartlite_0_tx)); - risc_axi_v5_top_led_key_0_0 led_key_0 - (.key(key_1), - .led(led_key_0_led), - .s00_axi_aclk(wClk_1), - .s00_axi_araddr(riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR[3:0]), - .s00_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .s00_axi_arprot(riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT), - .s00_axi_arready(riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY), - .s00_axi_arvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID), - .s00_axi_awaddr(riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR[3:0]), - .s00_axi_awprot(riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT), - .s00_axi_awready(riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY), - .s00_axi_awvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID), - .s00_axi_bready(riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY), - .s00_axi_bresp(riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP), - .s00_axi_bvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID), - .s00_axi_rdata(riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA), - .s00_axi_rready(riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY), - .s00_axi_rresp(riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP), - .s00_axi_rvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID), - .s00_axi_wdata(riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA), - .s00_axi_wready(riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY), - .s00_axi_wstrb(riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB), - .s00_axi_wvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID)); - risc_axi_v5_top_riscv_core_with_axi_0_6 riscv_core_with_axi_0 - (.m00_axi_aclk(wClk_1), - .m00_axi_araddr(riscv_core_with_axi_0_m00_axi_ARADDR), - .m00_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .m00_axi_arprot(riscv_core_with_axi_0_m00_axi_ARPROT), - .m00_axi_arready(riscv_core_with_axi_0_m00_axi_ARREADY), - .m00_axi_arvalid(riscv_core_with_axi_0_m00_axi_ARVALID), - .m00_axi_awaddr(riscv_core_with_axi_0_m00_axi_AWADDR), - .m00_axi_awprot(riscv_core_with_axi_0_m00_axi_AWPROT), - .m00_axi_awready(riscv_core_with_axi_0_m00_axi_AWREADY), - .m00_axi_awvalid(riscv_core_with_axi_0_m00_axi_AWVALID), - .m00_axi_bready(riscv_core_with_axi_0_m00_axi_BREADY), - .m00_axi_bresp(riscv_core_with_axi_0_m00_axi_BRESP), - .m00_axi_bvalid(riscv_core_with_axi_0_m00_axi_BVALID), - .m00_axi_rdata(riscv_core_with_axi_0_m00_axi_RDATA), - .m00_axi_rready(riscv_core_with_axi_0_m00_axi_RREADY), - .m00_axi_rresp(riscv_core_with_axi_0_m00_axi_RRESP), - .m00_axi_rvalid(riscv_core_with_axi_0_m00_axi_RVALID), - .m00_axi_wdata(riscv_core_with_axi_0_m00_axi_WDATA), - .m00_axi_wready(riscv_core_with_axi_0_m00_axi_WREADY), - .m00_axi_wstrb(riscv_core_with_axi_0_m00_axi_WSTRB), - .m00_axi_wvalid(riscv_core_with_axi_0_m00_axi_WVALID)); - risc_axi_v5_top_riscv_core_with_axi_0_axi_periph_0 riscv_core_with_axi_0_axi_periph - (.ACLK(wClk_1), - .ARESETN(rst_wClk_50M_peripheral_aresetn), - .M00_ACLK(wClk_1), - .M00_ARESETN(rst_wClk_50M_peripheral_aresetn), - .M00_AXI_araddr(riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR), - .M00_AXI_arready(riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY), - .M00_AXI_arvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID), - .M00_AXI_awaddr(riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR), - .M00_AXI_awready(riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY), - .M00_AXI_awvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID), - .M00_AXI_bready(riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY), - .M00_AXI_bresp(riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP), - .M00_AXI_bvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID), - .M00_AXI_rdata(riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA), - .M00_AXI_rready(riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY), - .M00_AXI_rresp(riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP), - .M00_AXI_rvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID), - .M00_AXI_wdata(riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA), - .M00_AXI_wready(riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY), - .M00_AXI_wstrb(riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB), - .M00_AXI_wvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID), - .M01_ACLK(wClk_1), - .M01_ARESETN(rst_wClk_50M_peripheral_aresetn), - .M01_AXI_araddr(riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR), - .M01_AXI_arprot(riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT), - .M01_AXI_arready(riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY), - .M01_AXI_arvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID), - .M01_AXI_awaddr(riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR), - .M01_AXI_awprot(riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT), - .M01_AXI_awready(riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY), - .M01_AXI_awvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID), - .M01_AXI_bready(riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY), - .M01_AXI_bresp(riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP), - .M01_AXI_bvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID), - .M01_AXI_rdata(riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA), - .M01_AXI_rready(riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY), - .M01_AXI_rresp(riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP), - .M01_AXI_rvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID), - .M01_AXI_wdata(riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA), - .M01_AXI_wready(riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY), - .M01_AXI_wstrb(riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB), - .M01_AXI_wvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID), - .S00_ACLK(wClk_1), - .S00_ARESETN(rst_wClk_50M_peripheral_aresetn), - .S00_AXI_araddr(riscv_core_with_axi_0_m00_axi_ARADDR), - .S00_AXI_arprot(riscv_core_with_axi_0_m00_axi_ARPROT), - .S00_AXI_arready(riscv_core_with_axi_0_m00_axi_ARREADY), - .S00_AXI_arvalid(riscv_core_with_axi_0_m00_axi_ARVALID), - .S00_AXI_awaddr(riscv_core_with_axi_0_m00_axi_AWADDR), - .S00_AXI_awprot(riscv_core_with_axi_0_m00_axi_AWPROT), - .S00_AXI_awready(riscv_core_with_axi_0_m00_axi_AWREADY), - .S00_AXI_awvalid(riscv_core_with_axi_0_m00_axi_AWVALID), - .S00_AXI_bready(riscv_core_with_axi_0_m00_axi_BREADY), - .S00_AXI_bresp(riscv_core_with_axi_0_m00_axi_BRESP), - .S00_AXI_bvalid(riscv_core_with_axi_0_m00_axi_BVALID), - .S00_AXI_rdata(riscv_core_with_axi_0_m00_axi_RDATA), - .S00_AXI_rready(riscv_core_with_axi_0_m00_axi_RREADY), - .S00_AXI_rresp(riscv_core_with_axi_0_m00_axi_RRESP), - .S00_AXI_rvalid(riscv_core_with_axi_0_m00_axi_RVALID), - .S00_AXI_wdata(riscv_core_with_axi_0_m00_axi_WDATA), - .S00_AXI_wready(riscv_core_with_axi_0_m00_axi_WREADY), - .S00_AXI_wstrb(riscv_core_with_axi_0_m00_axi_WSTRB), - .S00_AXI_wvalid(riscv_core_with_axi_0_m00_axi_WVALID)); - risc_axi_v5_top_rst_wClk_50M_0 rst_wClk_50M - (.aux_reset_in(1'b1), - .dcm_locked(1'b1), - .ext_reset_in(nwReset_1), - .mb_debug_sys_rst(1'b0), - .peripheral_aresetn(rst_wClk_50M_peripheral_aresetn), - .slowest_sync_clk(wClk_1)); -endmodule - -module risc_axi_v5_top_riscv_core_with_axi_0_axi_periph_0 - (ACLK, - ARESETN, - M00_ACLK, - M00_ARESETN, - M00_AXI_araddr, - M00_AXI_arready, - M00_AXI_arvalid, - M00_AXI_awaddr, - M00_AXI_awready, - M00_AXI_awvalid, - M00_AXI_bready, - M00_AXI_bresp, - M00_AXI_bvalid, - M00_AXI_rdata, - M00_AXI_rready, - M00_AXI_rresp, - M00_AXI_rvalid, - M00_AXI_wdata, - M00_AXI_wready, - M00_AXI_wstrb, - M00_AXI_wvalid, - M01_ACLK, - M01_ARESETN, - M01_AXI_araddr, - M01_AXI_arprot, - M01_AXI_arready, - M01_AXI_arvalid, - M01_AXI_awaddr, - M01_AXI_awprot, - M01_AXI_awready, - M01_AXI_awvalid, - M01_AXI_bready, - M01_AXI_bresp, - M01_AXI_bvalid, - M01_AXI_rdata, - M01_AXI_rready, - M01_AXI_rresp, - M01_AXI_rvalid, - M01_AXI_wdata, - M01_AXI_wready, - M01_AXI_wstrb, - M01_AXI_wvalid, - S00_ACLK, - S00_ARESETN, - S00_AXI_araddr, - S00_AXI_arprot, - S00_AXI_arready, - S00_AXI_arvalid, - S00_AXI_awaddr, - S00_AXI_awprot, - S00_AXI_awready, - S00_AXI_awvalid, - S00_AXI_bready, - S00_AXI_bresp, - S00_AXI_bvalid, - S00_AXI_rdata, - S00_AXI_rready, - S00_AXI_rresp, - S00_AXI_rvalid, - S00_AXI_wdata, - S00_AXI_wready, - S00_AXI_wstrb, - S00_AXI_wvalid); - input ACLK; - input ARESETN; - input M00_ACLK; - input M00_ARESETN; - output [31:0]M00_AXI_araddr; - input M00_AXI_arready; - output M00_AXI_arvalid; - output [31:0]M00_AXI_awaddr; - input M00_AXI_awready; - output M00_AXI_awvalid; - output M00_AXI_bready; - input [1:0]M00_AXI_bresp; - input M00_AXI_bvalid; - input [31:0]M00_AXI_rdata; - output M00_AXI_rready; - input [1:0]M00_AXI_rresp; - input M00_AXI_rvalid; - output [31:0]M00_AXI_wdata; - input M00_AXI_wready; - output [3:0]M00_AXI_wstrb; - output M00_AXI_wvalid; - input M01_ACLK; - input M01_ARESETN; - output [31:0]M01_AXI_araddr; - output [2:0]M01_AXI_arprot; - input M01_AXI_arready; - output M01_AXI_arvalid; - output [31:0]M01_AXI_awaddr; - output [2:0]M01_AXI_awprot; - input M01_AXI_awready; - output M01_AXI_awvalid; - output M01_AXI_bready; - input [1:0]M01_AXI_bresp; - input M01_AXI_bvalid; - input [31:0]M01_AXI_rdata; - output M01_AXI_rready; - input [1:0]M01_AXI_rresp; - input M01_AXI_rvalid; - output [31:0]M01_AXI_wdata; - input M01_AXI_wready; - output [3:0]M01_AXI_wstrb; - output M01_AXI_wvalid; - input S00_ACLK; - input S00_ARESETN; - input [31:0]S00_AXI_araddr; - input [2:0]S00_AXI_arprot; - output S00_AXI_arready; - input S00_AXI_arvalid; - input [31:0]S00_AXI_awaddr; - input [2:0]S00_AXI_awprot; - output S00_AXI_awready; - input S00_AXI_awvalid; - input S00_AXI_bready; - output [1:0]S00_AXI_bresp; - output S00_AXI_bvalid; - output [31:0]S00_AXI_rdata; - input S00_AXI_rready; - output [1:0]S00_AXI_rresp; - output S00_AXI_rvalid; - input [31:0]S00_AXI_wdata; - output S00_AXI_wready; - input [3:0]S00_AXI_wstrb; - input S00_AXI_wvalid; - - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - wire [1:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - wire [1:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY; - wire [3:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - wire [2:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - wire [2:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - wire [1:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - wire [1:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY; - wire [3:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - wire riscv_core_with_axi_0_axi_periph_ACLK_net; - wire riscv_core_with_axi_0_axi_periph_ARESETN_net; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID; - wire [31:0]s00_couplers_to_xbar_ARADDR; - wire [2:0]s00_couplers_to_xbar_ARPROT; - wire [0:0]s00_couplers_to_xbar_ARREADY; - wire s00_couplers_to_xbar_ARVALID; - wire [31:0]s00_couplers_to_xbar_AWADDR; - wire [2:0]s00_couplers_to_xbar_AWPROT; - wire [0:0]s00_couplers_to_xbar_AWREADY; - wire s00_couplers_to_xbar_AWVALID; - wire s00_couplers_to_xbar_BREADY; - wire [1:0]s00_couplers_to_xbar_BRESP; - wire [0:0]s00_couplers_to_xbar_BVALID; - wire [31:0]s00_couplers_to_xbar_RDATA; - wire s00_couplers_to_xbar_RREADY; - wire [1:0]s00_couplers_to_xbar_RRESP; - wire [0:0]s00_couplers_to_xbar_RVALID; - wire [31:0]s00_couplers_to_xbar_WDATA; - wire [0:0]s00_couplers_to_xbar_WREADY; - wire [3:0]s00_couplers_to_xbar_WSTRB; - wire s00_couplers_to_xbar_WVALID; - wire [31:0]xbar_to_m00_couplers_ARADDR; - wire xbar_to_m00_couplers_ARREADY; - wire [0:0]xbar_to_m00_couplers_ARVALID; - wire [31:0]xbar_to_m00_couplers_AWADDR; - wire xbar_to_m00_couplers_AWREADY; - wire [0:0]xbar_to_m00_couplers_AWVALID; - wire [0:0]xbar_to_m00_couplers_BREADY; - wire [1:0]xbar_to_m00_couplers_BRESP; - wire xbar_to_m00_couplers_BVALID; - wire [31:0]xbar_to_m00_couplers_RDATA; - wire [0:0]xbar_to_m00_couplers_RREADY; - wire [1:0]xbar_to_m00_couplers_RRESP; - wire xbar_to_m00_couplers_RVALID; - wire [31:0]xbar_to_m00_couplers_WDATA; - wire xbar_to_m00_couplers_WREADY; - wire [3:0]xbar_to_m00_couplers_WSTRB; - wire [0:0]xbar_to_m00_couplers_WVALID; - wire [63:32]xbar_to_m01_couplers_ARADDR; - wire [5:3]xbar_to_m01_couplers_ARPROT; - wire xbar_to_m01_couplers_ARREADY; - wire [1:1]xbar_to_m01_couplers_ARVALID; - wire [63:32]xbar_to_m01_couplers_AWADDR; - wire [5:3]xbar_to_m01_couplers_AWPROT; - wire xbar_to_m01_couplers_AWREADY; - wire [1:1]xbar_to_m01_couplers_AWVALID; - wire [1:1]xbar_to_m01_couplers_BREADY; - wire [1:0]xbar_to_m01_couplers_BRESP; - wire xbar_to_m01_couplers_BVALID; - wire [31:0]xbar_to_m01_couplers_RDATA; - wire [1:1]xbar_to_m01_couplers_RREADY; - wire [1:0]xbar_to_m01_couplers_RRESP; - wire xbar_to_m01_couplers_RVALID; - wire [63:32]xbar_to_m01_couplers_WDATA; - wire xbar_to_m01_couplers_WREADY; - wire [7:4]xbar_to_m01_couplers_WSTRB; - wire [1:1]xbar_to_m01_couplers_WVALID; - wire [5:0]NLW_xbar_m_axi_arprot_UNCONNECTED; - wire [5:0]NLW_xbar_m_axi_awprot_UNCONNECTED; - - assign M00_AXI_araddr[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - assign M00_AXI_arvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - assign M00_AXI_awaddr[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - assign M00_AXI_awvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - assign M00_AXI_bready = m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - assign M00_AXI_rready = m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - assign M00_AXI_wdata[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - assign M00_AXI_wstrb[3:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - assign M00_AXI_wvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - assign M01_AXI_araddr[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - assign M01_AXI_arprot[2:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT; - assign M01_AXI_arvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - assign M01_AXI_awaddr[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - assign M01_AXI_awprot[2:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT; - assign M01_AXI_awvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - assign M01_AXI_bready = m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - assign M01_AXI_rready = m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - assign M01_AXI_wdata[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - assign M01_AXI_wstrb[3:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - assign M01_AXI_wvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - assign S00_AXI_arready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY; - assign S00_AXI_awready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY; - assign S00_AXI_bresp[1:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP; - assign S00_AXI_bvalid = riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID; - assign S00_AXI_rdata[31:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA; - assign S00_AXI_rresp[1:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP; - assign S00_AXI_rvalid = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID; - assign S00_AXI_wready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY = M00_AXI_arready; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY = M00_AXI_awready; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP = M00_AXI_bresp[1:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID = M00_AXI_bvalid; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA = M00_AXI_rdata[31:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP = M00_AXI_rresp[1:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID = M00_AXI_rvalid; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY = M00_AXI_wready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY = M01_AXI_arready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY = M01_AXI_awready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP = M01_AXI_bresp[1:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID = M01_AXI_bvalid; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA = M01_AXI_rdata[31:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP = M01_AXI_rresp[1:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID = M01_AXI_rvalid; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY = M01_AXI_wready; - assign riscv_core_with_axi_0_axi_periph_ACLK_net = ACLK; - assign riscv_core_with_axi_0_axi_periph_ARESETN_net = ARESETN; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR = S00_AXI_araddr[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT = S00_AXI_arprot[2:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID = S00_AXI_arvalid; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR = S00_AXI_awaddr[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT = S00_AXI_awprot[2:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID = S00_AXI_awvalid; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY = S00_AXI_bready; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY = S00_AXI_rready; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA = S00_AXI_wdata[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB = S00_AXI_wstrb[3:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID = S00_AXI_wvalid; - m00_couplers_imp_DIBHKD m00_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR), - .M_AXI_arready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY), - .M_AXI_arvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID), - .M_AXI_awaddr(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR), - .M_AXI_awready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY), - .M_AXI_awvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID), - .M_AXI_bready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY), - .M_AXI_bresp(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP), - .M_AXI_bvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID), - .M_AXI_rdata(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA), - .M_AXI_rready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY), - .M_AXI_rresp(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP), - .M_AXI_rvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID), - .M_AXI_wdata(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA), - .M_AXI_wready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY), - .M_AXI_wstrb(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB), - .M_AXI_wvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(xbar_to_m00_couplers_ARADDR), - .S_AXI_arready(xbar_to_m00_couplers_ARREADY), - .S_AXI_arvalid(xbar_to_m00_couplers_ARVALID), - .S_AXI_awaddr(xbar_to_m00_couplers_AWADDR), - .S_AXI_awready(xbar_to_m00_couplers_AWREADY), - .S_AXI_awvalid(xbar_to_m00_couplers_AWVALID), - .S_AXI_bready(xbar_to_m00_couplers_BREADY), - .S_AXI_bresp(xbar_to_m00_couplers_BRESP), - .S_AXI_bvalid(xbar_to_m00_couplers_BVALID), - .S_AXI_rdata(xbar_to_m00_couplers_RDATA), - .S_AXI_rready(xbar_to_m00_couplers_RREADY), - .S_AXI_rresp(xbar_to_m00_couplers_RRESP), - .S_AXI_rvalid(xbar_to_m00_couplers_RVALID), - .S_AXI_wdata(xbar_to_m00_couplers_WDATA), - .S_AXI_wready(xbar_to_m00_couplers_WREADY), - .S_AXI_wstrb(xbar_to_m00_couplers_WSTRB), - .S_AXI_wvalid(xbar_to_m00_couplers_WVALID)); - m01_couplers_imp_15DQFTV m01_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR), - .M_AXI_arprot(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT), - .M_AXI_arready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY), - .M_AXI_arvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID), - .M_AXI_awaddr(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR), - .M_AXI_awprot(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT), - .M_AXI_awready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY), - .M_AXI_awvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID), - .M_AXI_bready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY), - .M_AXI_bresp(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP), - .M_AXI_bvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID), - .M_AXI_rdata(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA), - .M_AXI_rready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY), - .M_AXI_rresp(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP), - .M_AXI_rvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID), - .M_AXI_wdata(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA), - .M_AXI_wready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY), - .M_AXI_wstrb(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB), - .M_AXI_wvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(xbar_to_m01_couplers_ARADDR), - .S_AXI_arprot(xbar_to_m01_couplers_ARPROT), - .S_AXI_arready(xbar_to_m01_couplers_ARREADY), - .S_AXI_arvalid(xbar_to_m01_couplers_ARVALID), - .S_AXI_awaddr(xbar_to_m01_couplers_AWADDR), - .S_AXI_awprot(xbar_to_m01_couplers_AWPROT), - .S_AXI_awready(xbar_to_m01_couplers_AWREADY), - .S_AXI_awvalid(xbar_to_m01_couplers_AWVALID), - .S_AXI_bready(xbar_to_m01_couplers_BREADY), - .S_AXI_bresp(xbar_to_m01_couplers_BRESP), - .S_AXI_bvalid(xbar_to_m01_couplers_BVALID), - .S_AXI_rdata(xbar_to_m01_couplers_RDATA), - .S_AXI_rready(xbar_to_m01_couplers_RREADY), - .S_AXI_rresp(xbar_to_m01_couplers_RRESP), - .S_AXI_rvalid(xbar_to_m01_couplers_RVALID), - .S_AXI_wdata(xbar_to_m01_couplers_WDATA), - .S_AXI_wready(xbar_to_m01_couplers_WREADY), - .S_AXI_wstrb(xbar_to_m01_couplers_WSTRB), - .S_AXI_wvalid(xbar_to_m01_couplers_WVALID)); - s00_couplers_imp_4FUU9H s00_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(s00_couplers_to_xbar_ARADDR), - .M_AXI_arprot(s00_couplers_to_xbar_ARPROT), - .M_AXI_arready(s00_couplers_to_xbar_ARREADY), - .M_AXI_arvalid(s00_couplers_to_xbar_ARVALID), - .M_AXI_awaddr(s00_couplers_to_xbar_AWADDR), - .M_AXI_awprot(s00_couplers_to_xbar_AWPROT), - .M_AXI_awready(s00_couplers_to_xbar_AWREADY), - .M_AXI_awvalid(s00_couplers_to_xbar_AWVALID), - .M_AXI_bready(s00_couplers_to_xbar_BREADY), - .M_AXI_bresp(s00_couplers_to_xbar_BRESP), - .M_AXI_bvalid(s00_couplers_to_xbar_BVALID), - .M_AXI_rdata(s00_couplers_to_xbar_RDATA), - .M_AXI_rready(s00_couplers_to_xbar_RREADY), - .M_AXI_rresp(s00_couplers_to_xbar_RRESP), - .M_AXI_rvalid(s00_couplers_to_xbar_RVALID), - .M_AXI_wdata(s00_couplers_to_xbar_WDATA), - .M_AXI_wready(s00_couplers_to_xbar_WREADY), - .M_AXI_wstrb(s00_couplers_to_xbar_WSTRB), - .M_AXI_wvalid(s00_couplers_to_xbar_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR), - .S_AXI_arprot(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT), - .S_AXI_arready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY), - .S_AXI_arvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID), - .S_AXI_awaddr(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR), - .S_AXI_awprot(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT), - .S_AXI_awready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY), - .S_AXI_awvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID), - .S_AXI_bready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY), - .S_AXI_bresp(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP), - .S_AXI_bvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID), - .S_AXI_rdata(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA), - .S_AXI_rready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY), - .S_AXI_rresp(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP), - .S_AXI_rvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID), - .S_AXI_wdata(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA), - .S_AXI_wready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY), - .S_AXI_wstrb(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB), - .S_AXI_wvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID)); - risc_axi_v5_top_xbar_0 xbar - (.aclk(riscv_core_with_axi_0_axi_periph_ACLK_net), - .aresetn(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .m_axi_araddr({xbar_to_m01_couplers_ARADDR,xbar_to_m00_couplers_ARADDR}), - .m_axi_arprot({xbar_to_m01_couplers_ARPROT,NLW_xbar_m_axi_arprot_UNCONNECTED[2:0]}), - .m_axi_arready({xbar_to_m01_couplers_ARREADY,xbar_to_m00_couplers_ARREADY}), - .m_axi_arvalid({xbar_to_m01_couplers_ARVALID,xbar_to_m00_couplers_ARVALID}), - .m_axi_awaddr({xbar_to_m01_couplers_AWADDR,xbar_to_m00_couplers_AWADDR}), - .m_axi_awprot({xbar_to_m01_couplers_AWPROT,NLW_xbar_m_axi_awprot_UNCONNECTED[2:0]}), - .m_axi_awready({xbar_to_m01_couplers_AWREADY,xbar_to_m00_couplers_AWREADY}), - .m_axi_awvalid({xbar_to_m01_couplers_AWVALID,xbar_to_m00_couplers_AWVALID}), - .m_axi_bready({xbar_to_m01_couplers_BREADY,xbar_to_m00_couplers_BREADY}), - .m_axi_bresp({xbar_to_m01_couplers_BRESP,xbar_to_m00_couplers_BRESP}), - .m_axi_bvalid({xbar_to_m01_couplers_BVALID,xbar_to_m00_couplers_BVALID}), - .m_axi_rdata({xbar_to_m01_couplers_RDATA,xbar_to_m00_couplers_RDATA}), - .m_axi_rready({xbar_to_m01_couplers_RREADY,xbar_to_m00_couplers_RREADY}), - .m_axi_rresp({xbar_to_m01_couplers_RRESP,xbar_to_m00_couplers_RRESP}), - .m_axi_rvalid({xbar_to_m01_couplers_RVALID,xbar_to_m00_couplers_RVALID}), - .m_axi_wdata({xbar_to_m01_couplers_WDATA,xbar_to_m00_couplers_WDATA}), - .m_axi_wready({xbar_to_m01_couplers_WREADY,xbar_to_m00_couplers_WREADY}), - .m_axi_wstrb({xbar_to_m01_couplers_WSTRB,xbar_to_m00_couplers_WSTRB}), - .m_axi_wvalid({xbar_to_m01_couplers_WVALID,xbar_to_m00_couplers_WVALID}), - .s_axi_araddr(s00_couplers_to_xbar_ARADDR), - .s_axi_arprot(s00_couplers_to_xbar_ARPROT), - .s_axi_arready(s00_couplers_to_xbar_ARREADY), - .s_axi_arvalid(s00_couplers_to_xbar_ARVALID), - .s_axi_awaddr(s00_couplers_to_xbar_AWADDR), - .s_axi_awprot(s00_couplers_to_xbar_AWPROT), - .s_axi_awready(s00_couplers_to_xbar_AWREADY), - .s_axi_awvalid(s00_couplers_to_xbar_AWVALID), - .s_axi_bready(s00_couplers_to_xbar_BREADY), - .s_axi_bresp(s00_couplers_to_xbar_BRESP), - .s_axi_bvalid(s00_couplers_to_xbar_BVALID), - .s_axi_rdata(s00_couplers_to_xbar_RDATA), - .s_axi_rready(s00_couplers_to_xbar_RREADY), - .s_axi_rresp(s00_couplers_to_xbar_RRESP), - .s_axi_rvalid(s00_couplers_to_xbar_RVALID), - .s_axi_wdata(s00_couplers_to_xbar_WDATA), - .s_axi_wready(s00_couplers_to_xbar_WREADY), - .s_axi_wstrb(s00_couplers_to_xbar_WSTRB), - .s_axi_wvalid(s00_couplers_to_xbar_WVALID)); -endmodule - -module s00_couplers_imp_4FUU9H - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arprot, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awprot, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arprot, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awprot, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - output [2:0]M_AXI_arprot; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - output [2:0]M_AXI_awprot; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - input [2:0]S_AXI_arprot; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - input [2:0]S_AXI_awprot; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]s00_couplers_to_s00_couplers_ARADDR; - wire [2:0]s00_couplers_to_s00_couplers_ARPROT; - wire s00_couplers_to_s00_couplers_ARREADY; - wire s00_couplers_to_s00_couplers_ARVALID; - wire [31:0]s00_couplers_to_s00_couplers_AWADDR; - wire [2:0]s00_couplers_to_s00_couplers_AWPROT; - wire s00_couplers_to_s00_couplers_AWREADY; - wire s00_couplers_to_s00_couplers_AWVALID; - wire s00_couplers_to_s00_couplers_BREADY; - wire [1:0]s00_couplers_to_s00_couplers_BRESP; - wire s00_couplers_to_s00_couplers_BVALID; - wire [31:0]s00_couplers_to_s00_couplers_RDATA; - wire s00_couplers_to_s00_couplers_RREADY; - wire [1:0]s00_couplers_to_s00_couplers_RRESP; - wire s00_couplers_to_s00_couplers_RVALID; - wire [31:0]s00_couplers_to_s00_couplers_WDATA; - wire s00_couplers_to_s00_couplers_WREADY; - wire [3:0]s00_couplers_to_s00_couplers_WSTRB; - wire s00_couplers_to_s00_couplers_WVALID; - - assign M_AXI_araddr[31:0] = s00_couplers_to_s00_couplers_ARADDR; - assign M_AXI_arprot[2:0] = s00_couplers_to_s00_couplers_ARPROT; - assign M_AXI_arvalid = s00_couplers_to_s00_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = s00_couplers_to_s00_couplers_AWADDR; - assign M_AXI_awprot[2:0] = s00_couplers_to_s00_couplers_AWPROT; - assign M_AXI_awvalid = s00_couplers_to_s00_couplers_AWVALID; - assign M_AXI_bready = s00_couplers_to_s00_couplers_BREADY; - assign M_AXI_rready = s00_couplers_to_s00_couplers_RREADY; - assign M_AXI_wdata[31:0] = s00_couplers_to_s00_couplers_WDATA; - assign M_AXI_wstrb[3:0] = s00_couplers_to_s00_couplers_WSTRB; - assign M_AXI_wvalid = s00_couplers_to_s00_couplers_WVALID; - assign S_AXI_arready = s00_couplers_to_s00_couplers_ARREADY; - assign S_AXI_awready = s00_couplers_to_s00_couplers_AWREADY; - assign S_AXI_bresp[1:0] = s00_couplers_to_s00_couplers_BRESP; - assign S_AXI_bvalid = s00_couplers_to_s00_couplers_BVALID; - assign S_AXI_rdata[31:0] = s00_couplers_to_s00_couplers_RDATA; - assign S_AXI_rresp[1:0] = s00_couplers_to_s00_couplers_RRESP; - assign S_AXI_rvalid = s00_couplers_to_s00_couplers_RVALID; - assign S_AXI_wready = s00_couplers_to_s00_couplers_WREADY; - assign s00_couplers_to_s00_couplers_ARADDR = S_AXI_araddr[31:0]; - assign s00_couplers_to_s00_couplers_ARPROT = S_AXI_arprot[2:0]; - assign s00_couplers_to_s00_couplers_ARREADY = M_AXI_arready; - assign s00_couplers_to_s00_couplers_ARVALID = S_AXI_arvalid; - assign s00_couplers_to_s00_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign s00_couplers_to_s00_couplers_AWPROT = S_AXI_awprot[2:0]; - assign s00_couplers_to_s00_couplers_AWREADY = M_AXI_awready; - assign s00_couplers_to_s00_couplers_AWVALID = S_AXI_awvalid; - assign s00_couplers_to_s00_couplers_BREADY = S_AXI_bready; - assign s00_couplers_to_s00_couplers_BRESP = M_AXI_bresp[1:0]; - assign s00_couplers_to_s00_couplers_BVALID = M_AXI_bvalid; - assign s00_couplers_to_s00_couplers_RDATA = M_AXI_rdata[31:0]; - assign s00_couplers_to_s00_couplers_RREADY = S_AXI_rready; - assign s00_couplers_to_s00_couplers_RRESP = M_AXI_rresp[1:0]; - assign s00_couplers_to_s00_couplers_RVALID = M_AXI_rvalid; - assign s00_couplers_to_s00_couplers_WDATA = S_AXI_wdata[31:0]; - assign s00_couplers_to_s00_couplers_WREADY = M_AXI_wready; - assign s00_couplers_to_s00_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign s00_couplers_to_s00_couplers_WVALID = S_AXI_wvalid; -endmodule diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/synth/risc_axi_v5_top.v b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/synth/risc_axi_v5_top.v deleted file mode 100644 index ecfd0f6..0000000 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.gen/sources_1/bd/risc_axi_v5_top/synth/risc_axi_v5_top.v +++ /dev/null @@ -1,1127 +0,0 @@ -//Copyright 1986-2021 Xilinx, Inc. All Rights Reserved. -//-------------------------------------------------------------------------------- -//Tool Version: Vivado v.2021.1 (win64) Build 3247384 Thu Jun 10 19:36:33 MDT 2021 -//Date : Tue Sep 14 08:44:08 2021 -//Host : DESKTOP-USCR63D running 64-bit major release (build 9200) -//Command : generate_target risc_axi_v5_top.bd -//Design : risc_axi_v5_top -//Purpose : IP block netlist -//-------------------------------------------------------------------------------- -`timescale 1 ps / 1 ps - -module m00_couplers_imp_DIBHKD - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]m00_couplers_to_m00_couplers_ARADDR; - wire m00_couplers_to_m00_couplers_ARREADY; - wire m00_couplers_to_m00_couplers_ARVALID; - wire [31:0]m00_couplers_to_m00_couplers_AWADDR; - wire m00_couplers_to_m00_couplers_AWREADY; - wire m00_couplers_to_m00_couplers_AWVALID; - wire m00_couplers_to_m00_couplers_BREADY; - wire [1:0]m00_couplers_to_m00_couplers_BRESP; - wire m00_couplers_to_m00_couplers_BVALID; - wire [31:0]m00_couplers_to_m00_couplers_RDATA; - wire m00_couplers_to_m00_couplers_RREADY; - wire [1:0]m00_couplers_to_m00_couplers_RRESP; - wire m00_couplers_to_m00_couplers_RVALID; - wire [31:0]m00_couplers_to_m00_couplers_WDATA; - wire m00_couplers_to_m00_couplers_WREADY; - wire [3:0]m00_couplers_to_m00_couplers_WSTRB; - wire m00_couplers_to_m00_couplers_WVALID; - - assign M_AXI_araddr[31:0] = m00_couplers_to_m00_couplers_ARADDR; - assign M_AXI_arvalid = m00_couplers_to_m00_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = m00_couplers_to_m00_couplers_AWADDR; - assign M_AXI_awvalid = m00_couplers_to_m00_couplers_AWVALID; - assign M_AXI_bready = m00_couplers_to_m00_couplers_BREADY; - assign M_AXI_rready = m00_couplers_to_m00_couplers_RREADY; - assign M_AXI_wdata[31:0] = m00_couplers_to_m00_couplers_WDATA; - assign M_AXI_wstrb[3:0] = m00_couplers_to_m00_couplers_WSTRB; - assign M_AXI_wvalid = m00_couplers_to_m00_couplers_WVALID; - assign S_AXI_arready = m00_couplers_to_m00_couplers_ARREADY; - assign S_AXI_awready = m00_couplers_to_m00_couplers_AWREADY; - assign S_AXI_bresp[1:0] = m00_couplers_to_m00_couplers_BRESP; - assign S_AXI_bvalid = m00_couplers_to_m00_couplers_BVALID; - assign S_AXI_rdata[31:0] = m00_couplers_to_m00_couplers_RDATA; - assign S_AXI_rresp[1:0] = m00_couplers_to_m00_couplers_RRESP; - assign S_AXI_rvalid = m00_couplers_to_m00_couplers_RVALID; - assign S_AXI_wready = m00_couplers_to_m00_couplers_WREADY; - assign m00_couplers_to_m00_couplers_ARADDR = S_AXI_araddr[31:0]; - assign m00_couplers_to_m00_couplers_ARREADY = M_AXI_arready; - assign m00_couplers_to_m00_couplers_ARVALID = S_AXI_arvalid; - assign m00_couplers_to_m00_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign m00_couplers_to_m00_couplers_AWREADY = M_AXI_awready; - assign m00_couplers_to_m00_couplers_AWVALID = S_AXI_awvalid; - assign m00_couplers_to_m00_couplers_BREADY = S_AXI_bready; - assign m00_couplers_to_m00_couplers_BRESP = M_AXI_bresp[1:0]; - assign m00_couplers_to_m00_couplers_BVALID = M_AXI_bvalid; - assign m00_couplers_to_m00_couplers_RDATA = M_AXI_rdata[31:0]; - assign m00_couplers_to_m00_couplers_RREADY = S_AXI_rready; - assign m00_couplers_to_m00_couplers_RRESP = M_AXI_rresp[1:0]; - assign m00_couplers_to_m00_couplers_RVALID = M_AXI_rvalid; - assign m00_couplers_to_m00_couplers_WDATA = S_AXI_wdata[31:0]; - assign m00_couplers_to_m00_couplers_WREADY = M_AXI_wready; - assign m00_couplers_to_m00_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign m00_couplers_to_m00_couplers_WVALID = S_AXI_wvalid; -endmodule - -module m01_couplers_imp_15DQFTV - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arprot, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awprot, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arprot, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awprot, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - output [2:0]M_AXI_arprot; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - output [2:0]M_AXI_awprot; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - input [2:0]S_AXI_arprot; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - input [2:0]S_AXI_awprot; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]m01_couplers_to_m01_couplers_ARADDR; - wire [2:0]m01_couplers_to_m01_couplers_ARPROT; - wire m01_couplers_to_m01_couplers_ARREADY; - wire m01_couplers_to_m01_couplers_ARVALID; - wire [31:0]m01_couplers_to_m01_couplers_AWADDR; - wire [2:0]m01_couplers_to_m01_couplers_AWPROT; - wire m01_couplers_to_m01_couplers_AWREADY; - wire m01_couplers_to_m01_couplers_AWVALID; - wire m01_couplers_to_m01_couplers_BREADY; - wire [1:0]m01_couplers_to_m01_couplers_BRESP; - wire m01_couplers_to_m01_couplers_BVALID; - wire [31:0]m01_couplers_to_m01_couplers_RDATA; - wire m01_couplers_to_m01_couplers_RREADY; - wire [1:0]m01_couplers_to_m01_couplers_RRESP; - wire m01_couplers_to_m01_couplers_RVALID; - wire [31:0]m01_couplers_to_m01_couplers_WDATA; - wire m01_couplers_to_m01_couplers_WREADY; - wire [3:0]m01_couplers_to_m01_couplers_WSTRB; - wire m01_couplers_to_m01_couplers_WVALID; - - assign M_AXI_araddr[31:0] = m01_couplers_to_m01_couplers_ARADDR; - assign M_AXI_arprot[2:0] = m01_couplers_to_m01_couplers_ARPROT; - assign M_AXI_arvalid = m01_couplers_to_m01_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = m01_couplers_to_m01_couplers_AWADDR; - assign M_AXI_awprot[2:0] = m01_couplers_to_m01_couplers_AWPROT; - assign M_AXI_awvalid = m01_couplers_to_m01_couplers_AWVALID; - assign M_AXI_bready = m01_couplers_to_m01_couplers_BREADY; - assign M_AXI_rready = m01_couplers_to_m01_couplers_RREADY; - assign M_AXI_wdata[31:0] = m01_couplers_to_m01_couplers_WDATA; - assign M_AXI_wstrb[3:0] = m01_couplers_to_m01_couplers_WSTRB; - assign M_AXI_wvalid = m01_couplers_to_m01_couplers_WVALID; - assign S_AXI_arready = m01_couplers_to_m01_couplers_ARREADY; - assign S_AXI_awready = m01_couplers_to_m01_couplers_AWREADY; - assign S_AXI_bresp[1:0] = m01_couplers_to_m01_couplers_BRESP; - assign S_AXI_bvalid = m01_couplers_to_m01_couplers_BVALID; - assign S_AXI_rdata[31:0] = m01_couplers_to_m01_couplers_RDATA; - assign S_AXI_rresp[1:0] = m01_couplers_to_m01_couplers_RRESP; - assign S_AXI_rvalid = m01_couplers_to_m01_couplers_RVALID; - assign S_AXI_wready = m01_couplers_to_m01_couplers_WREADY; - assign m01_couplers_to_m01_couplers_ARADDR = S_AXI_araddr[31:0]; - assign m01_couplers_to_m01_couplers_ARPROT = S_AXI_arprot[2:0]; - assign m01_couplers_to_m01_couplers_ARREADY = M_AXI_arready; - assign m01_couplers_to_m01_couplers_ARVALID = S_AXI_arvalid; - assign m01_couplers_to_m01_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign m01_couplers_to_m01_couplers_AWPROT = S_AXI_awprot[2:0]; - assign m01_couplers_to_m01_couplers_AWREADY = M_AXI_awready; - assign m01_couplers_to_m01_couplers_AWVALID = S_AXI_awvalid; - assign m01_couplers_to_m01_couplers_BREADY = S_AXI_bready; - assign m01_couplers_to_m01_couplers_BRESP = M_AXI_bresp[1:0]; - assign m01_couplers_to_m01_couplers_BVALID = M_AXI_bvalid; - assign m01_couplers_to_m01_couplers_RDATA = M_AXI_rdata[31:0]; - assign m01_couplers_to_m01_couplers_RREADY = S_AXI_rready; - assign m01_couplers_to_m01_couplers_RRESP = M_AXI_rresp[1:0]; - assign m01_couplers_to_m01_couplers_RVALID = M_AXI_rvalid; - assign m01_couplers_to_m01_couplers_WDATA = S_AXI_wdata[31:0]; - assign m01_couplers_to_m01_couplers_WREADY = M_AXI_wready; - assign m01_couplers_to_m01_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign m01_couplers_to_m01_couplers_WVALID = S_AXI_wvalid; -endmodule - -(* CORE_GENERATION_INFO = "risc_axi_v5_top,IP_Integrator,{x_ipVendor=xilinx.com,x_ipLibrary=BlockDiagram,x_ipName=risc_axi_v5_top,x_ipVersion=1.00.a,x_ipLanguage=VERILOG,numBlks=9,numReposBlks=5,numNonXlnxBlks=0,numHierBlks=4,maxHierDepth=0,numSysgenBlks=0,numHlsBlks=0,numHdlrefBlks=2,numPkgbdBlks=0,bdsource=USER,da_axi4_cnt=9,da_board_cnt=1,synth_mode=Global}" *) (* HW_HANDOFF = "risc_axi_v5_top.hwdef" *) -module risc_axi_v5_top - (key, - led, - nwReset, - uart_rx, - uart_tx, - wClk); - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.KEY DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.KEY, LAYERED_METADATA undef" *) input [2:0]key; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.LED DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.LED, LAYERED_METADATA undef" *) output [3:0]led; - (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 RST.NWRESET RST" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME RST.NWRESET, INSERT_VIP 0, POLARITY ACTIVE_LOW" *) input nwReset; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.UART_RX DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.UART_RX, LAYERED_METADATA undef" *) input uart_rx; - (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.UART_TX DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.UART_TX, LAYERED_METADATA undef" *) output uart_tx; - (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 CLK.WCLK CLK" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME CLK.WCLK, CLK_DOMAIN risc_axi_v5_top_wClk, FREQ_HZ 50000000, FREQ_TOLERANCE_HZ 0, INSERT_VIP 0, PHASE 0.0" *) input wClk; - - wire axi_uartlite_0_tx; - wire [2:0]key_1; - wire [3:0]led_key_0_led; - wire nwReset_1; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB; - wire riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB; - wire riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_ARADDR; - wire [2:0]riscv_core_with_axi_0_m00_axi_ARPROT; - wire riscv_core_with_axi_0_m00_axi_ARREADY; - wire riscv_core_with_axi_0_m00_axi_ARVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_AWADDR; - wire [2:0]riscv_core_with_axi_0_m00_axi_AWPROT; - wire riscv_core_with_axi_0_m00_axi_AWREADY; - wire riscv_core_with_axi_0_m00_axi_AWVALID; - wire riscv_core_with_axi_0_m00_axi_BREADY; - wire [1:0]riscv_core_with_axi_0_m00_axi_BRESP; - wire riscv_core_with_axi_0_m00_axi_BVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_RDATA; - wire riscv_core_with_axi_0_m00_axi_RREADY; - wire [1:0]riscv_core_with_axi_0_m00_axi_RRESP; - wire riscv_core_with_axi_0_m00_axi_RVALID; - wire [31:0]riscv_core_with_axi_0_m00_axi_WDATA; - wire riscv_core_with_axi_0_m00_axi_WREADY; - wire [3:0]riscv_core_with_axi_0_m00_axi_WSTRB; - wire riscv_core_with_axi_0_m00_axi_WVALID; - wire [0:0]rst_wClk_50M_peripheral_aresetn; - wire uart_rx_1; - wire wClk_1; - - assign key_1 = key[2:0]; - assign led[3:0] = led_key_0_led; - assign nwReset_1 = nwReset; - assign uart_rx_1 = uart_rx; - assign uart_tx = axi_uartlite_0_tx; - assign wClk_1 = wClk; - risc_axi_v5_top_axi_uartlite_0_0 axi_uartlite_0 - (.rx(uart_rx_1), - .s_axi_aclk(wClk_1), - .s_axi_araddr(riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR[3:0]), - .s_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .s_axi_arready(riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY), - .s_axi_arvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID), - .s_axi_awaddr(riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR[3:0]), - .s_axi_awready(riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY), - .s_axi_awvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID), - .s_axi_bready(riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY), - .s_axi_bresp(riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP), - .s_axi_bvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID), - .s_axi_rdata(riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA), - .s_axi_rready(riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY), - .s_axi_rresp(riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP), - .s_axi_rvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID), - .s_axi_wdata(riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA), - .s_axi_wready(riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY), - .s_axi_wstrb(riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB), - .s_axi_wvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID), - .tx(axi_uartlite_0_tx)); - risc_axi_v5_top_led_key_0_0 led_key_0 - (.key(key_1), - .led(led_key_0_led), - .s00_axi_aclk(wClk_1), - .s00_axi_araddr(riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR[3:0]), - .s00_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .s00_axi_arprot(riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT), - .s00_axi_arready(riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY), - .s00_axi_arvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID), - .s00_axi_awaddr(riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR[3:0]), - .s00_axi_awprot(riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT), - .s00_axi_awready(riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY), - .s00_axi_awvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID), - .s00_axi_bready(riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY), - .s00_axi_bresp(riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP), - .s00_axi_bvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID), - .s00_axi_rdata(riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA), - .s00_axi_rready(riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY), - .s00_axi_rresp(riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP), - .s00_axi_rvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID), - .s00_axi_wdata(riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA), - .s00_axi_wready(riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY), - .s00_axi_wstrb(riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB), - .s00_axi_wvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID)); - risc_axi_v5_top_riscv_core_with_axi_0_6 riscv_core_with_axi_0 - (.m00_axi_aclk(wClk_1), - .m00_axi_araddr(riscv_core_with_axi_0_m00_axi_ARADDR), - .m00_axi_aresetn(rst_wClk_50M_peripheral_aresetn), - .m00_axi_arprot(riscv_core_with_axi_0_m00_axi_ARPROT), - .m00_axi_arready(riscv_core_with_axi_0_m00_axi_ARREADY), - .m00_axi_arvalid(riscv_core_with_axi_0_m00_axi_ARVALID), - .m00_axi_awaddr(riscv_core_with_axi_0_m00_axi_AWADDR), - .m00_axi_awprot(riscv_core_with_axi_0_m00_axi_AWPROT), - .m00_axi_awready(riscv_core_with_axi_0_m00_axi_AWREADY), - .m00_axi_awvalid(riscv_core_with_axi_0_m00_axi_AWVALID), - .m00_axi_bready(riscv_core_with_axi_0_m00_axi_BREADY), - .m00_axi_bresp(riscv_core_with_axi_0_m00_axi_BRESP), - .m00_axi_bvalid(riscv_core_with_axi_0_m00_axi_BVALID), - .m00_axi_rdata(riscv_core_with_axi_0_m00_axi_RDATA), - .m00_axi_rready(riscv_core_with_axi_0_m00_axi_RREADY), - .m00_axi_rresp(riscv_core_with_axi_0_m00_axi_RRESP), - .m00_axi_rvalid(riscv_core_with_axi_0_m00_axi_RVALID), - .m00_axi_wdata(riscv_core_with_axi_0_m00_axi_WDATA), - .m00_axi_wready(riscv_core_with_axi_0_m00_axi_WREADY), - .m00_axi_wstrb(riscv_core_with_axi_0_m00_axi_WSTRB), - .m00_axi_wvalid(riscv_core_with_axi_0_m00_axi_WVALID)); - risc_axi_v5_top_riscv_core_with_axi_0_axi_periph_0 riscv_core_with_axi_0_axi_periph - (.ACLK(wClk_1), - .ARESETN(rst_wClk_50M_peripheral_aresetn), - .M00_ACLK(wClk_1), - .M00_ARESETN(rst_wClk_50M_peripheral_aresetn), - .M00_AXI_araddr(riscv_core_with_axi_0_axi_periph_M00_AXI_ARADDR), - .M00_AXI_arready(riscv_core_with_axi_0_axi_periph_M00_AXI_ARREADY), - .M00_AXI_arvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_ARVALID), - .M00_AXI_awaddr(riscv_core_with_axi_0_axi_periph_M00_AXI_AWADDR), - .M00_AXI_awready(riscv_core_with_axi_0_axi_periph_M00_AXI_AWREADY), - .M00_AXI_awvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_AWVALID), - .M00_AXI_bready(riscv_core_with_axi_0_axi_periph_M00_AXI_BREADY), - .M00_AXI_bresp(riscv_core_with_axi_0_axi_periph_M00_AXI_BRESP), - .M00_AXI_bvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_BVALID), - .M00_AXI_rdata(riscv_core_with_axi_0_axi_periph_M00_AXI_RDATA), - .M00_AXI_rready(riscv_core_with_axi_0_axi_periph_M00_AXI_RREADY), - .M00_AXI_rresp(riscv_core_with_axi_0_axi_periph_M00_AXI_RRESP), - .M00_AXI_rvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_RVALID), - .M00_AXI_wdata(riscv_core_with_axi_0_axi_periph_M00_AXI_WDATA), - .M00_AXI_wready(riscv_core_with_axi_0_axi_periph_M00_AXI_WREADY), - .M00_AXI_wstrb(riscv_core_with_axi_0_axi_periph_M00_AXI_WSTRB), - .M00_AXI_wvalid(riscv_core_with_axi_0_axi_periph_M00_AXI_WVALID), - .M01_ACLK(wClk_1), - .M01_ARESETN(rst_wClk_50M_peripheral_aresetn), - .M01_AXI_araddr(riscv_core_with_axi_0_axi_periph_M01_AXI_ARADDR), - .M01_AXI_arprot(riscv_core_with_axi_0_axi_periph_M01_AXI_ARPROT), - .M01_AXI_arready(riscv_core_with_axi_0_axi_periph_M01_AXI_ARREADY), - .M01_AXI_arvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_ARVALID), - .M01_AXI_awaddr(riscv_core_with_axi_0_axi_periph_M01_AXI_AWADDR), - .M01_AXI_awprot(riscv_core_with_axi_0_axi_periph_M01_AXI_AWPROT), - .M01_AXI_awready(riscv_core_with_axi_0_axi_periph_M01_AXI_AWREADY), - .M01_AXI_awvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_AWVALID), - .M01_AXI_bready(riscv_core_with_axi_0_axi_periph_M01_AXI_BREADY), - .M01_AXI_bresp(riscv_core_with_axi_0_axi_periph_M01_AXI_BRESP), - .M01_AXI_bvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_BVALID), - .M01_AXI_rdata(riscv_core_with_axi_0_axi_periph_M01_AXI_RDATA), - .M01_AXI_rready(riscv_core_with_axi_0_axi_periph_M01_AXI_RREADY), - .M01_AXI_rresp(riscv_core_with_axi_0_axi_periph_M01_AXI_RRESP), - .M01_AXI_rvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_RVALID), - .M01_AXI_wdata(riscv_core_with_axi_0_axi_periph_M01_AXI_WDATA), - .M01_AXI_wready(riscv_core_with_axi_0_axi_periph_M01_AXI_WREADY), - .M01_AXI_wstrb(riscv_core_with_axi_0_axi_periph_M01_AXI_WSTRB), - .M01_AXI_wvalid(riscv_core_with_axi_0_axi_periph_M01_AXI_WVALID), - .S00_ACLK(wClk_1), - .S00_ARESETN(rst_wClk_50M_peripheral_aresetn), - .S00_AXI_araddr(riscv_core_with_axi_0_m00_axi_ARADDR), - .S00_AXI_arprot(riscv_core_with_axi_0_m00_axi_ARPROT), - .S00_AXI_arready(riscv_core_with_axi_0_m00_axi_ARREADY), - .S00_AXI_arvalid(riscv_core_with_axi_0_m00_axi_ARVALID), - .S00_AXI_awaddr(riscv_core_with_axi_0_m00_axi_AWADDR), - .S00_AXI_awprot(riscv_core_with_axi_0_m00_axi_AWPROT), - .S00_AXI_awready(riscv_core_with_axi_0_m00_axi_AWREADY), - .S00_AXI_awvalid(riscv_core_with_axi_0_m00_axi_AWVALID), - .S00_AXI_bready(riscv_core_with_axi_0_m00_axi_BREADY), - .S00_AXI_bresp(riscv_core_with_axi_0_m00_axi_BRESP), - .S00_AXI_bvalid(riscv_core_with_axi_0_m00_axi_BVALID), - .S00_AXI_rdata(riscv_core_with_axi_0_m00_axi_RDATA), - .S00_AXI_rready(riscv_core_with_axi_0_m00_axi_RREADY), - .S00_AXI_rresp(riscv_core_with_axi_0_m00_axi_RRESP), - .S00_AXI_rvalid(riscv_core_with_axi_0_m00_axi_RVALID), - .S00_AXI_wdata(riscv_core_with_axi_0_m00_axi_WDATA), - .S00_AXI_wready(riscv_core_with_axi_0_m00_axi_WREADY), - .S00_AXI_wstrb(riscv_core_with_axi_0_m00_axi_WSTRB), - .S00_AXI_wvalid(riscv_core_with_axi_0_m00_axi_WVALID)); - risc_axi_v5_top_rst_wClk_50M_0 rst_wClk_50M - (.aux_reset_in(1'b1), - .dcm_locked(1'b1), - .ext_reset_in(nwReset_1), - .mb_debug_sys_rst(1'b0), - .peripheral_aresetn(rst_wClk_50M_peripheral_aresetn), - .slowest_sync_clk(wClk_1)); -endmodule - -module risc_axi_v5_top_riscv_core_with_axi_0_axi_periph_0 - (ACLK, - ARESETN, - M00_ACLK, - M00_ARESETN, - M00_AXI_araddr, - M00_AXI_arready, - M00_AXI_arvalid, - M00_AXI_awaddr, - M00_AXI_awready, - M00_AXI_awvalid, - M00_AXI_bready, - M00_AXI_bresp, - M00_AXI_bvalid, - M00_AXI_rdata, - M00_AXI_rready, - M00_AXI_rresp, - M00_AXI_rvalid, - M00_AXI_wdata, - M00_AXI_wready, - M00_AXI_wstrb, - M00_AXI_wvalid, - M01_ACLK, - M01_ARESETN, - M01_AXI_araddr, - M01_AXI_arprot, - M01_AXI_arready, - M01_AXI_arvalid, - M01_AXI_awaddr, - M01_AXI_awprot, - M01_AXI_awready, - M01_AXI_awvalid, - M01_AXI_bready, - M01_AXI_bresp, - M01_AXI_bvalid, - M01_AXI_rdata, - M01_AXI_rready, - M01_AXI_rresp, - M01_AXI_rvalid, - M01_AXI_wdata, - M01_AXI_wready, - M01_AXI_wstrb, - M01_AXI_wvalid, - S00_ACLK, - S00_ARESETN, - S00_AXI_araddr, - S00_AXI_arprot, - S00_AXI_arready, - S00_AXI_arvalid, - S00_AXI_awaddr, - S00_AXI_awprot, - S00_AXI_awready, - S00_AXI_awvalid, - S00_AXI_bready, - S00_AXI_bresp, - S00_AXI_bvalid, - S00_AXI_rdata, - S00_AXI_rready, - S00_AXI_rresp, - S00_AXI_rvalid, - S00_AXI_wdata, - S00_AXI_wready, - S00_AXI_wstrb, - S00_AXI_wvalid); - input ACLK; - input ARESETN; - input M00_ACLK; - input M00_ARESETN; - output [31:0]M00_AXI_araddr; - input M00_AXI_arready; - output M00_AXI_arvalid; - output [31:0]M00_AXI_awaddr; - input M00_AXI_awready; - output M00_AXI_awvalid; - output M00_AXI_bready; - input [1:0]M00_AXI_bresp; - input M00_AXI_bvalid; - input [31:0]M00_AXI_rdata; - output M00_AXI_rready; - input [1:0]M00_AXI_rresp; - input M00_AXI_rvalid; - output [31:0]M00_AXI_wdata; - input M00_AXI_wready; - output [3:0]M00_AXI_wstrb; - output M00_AXI_wvalid; - input M01_ACLK; - input M01_ARESETN; - output [31:0]M01_AXI_araddr; - output [2:0]M01_AXI_arprot; - input M01_AXI_arready; - output M01_AXI_arvalid; - output [31:0]M01_AXI_awaddr; - output [2:0]M01_AXI_awprot; - input M01_AXI_awready; - output M01_AXI_awvalid; - output M01_AXI_bready; - input [1:0]M01_AXI_bresp; - input M01_AXI_bvalid; - input [31:0]M01_AXI_rdata; - output M01_AXI_rready; - input [1:0]M01_AXI_rresp; - input M01_AXI_rvalid; - output [31:0]M01_AXI_wdata; - input M01_AXI_wready; - output [3:0]M01_AXI_wstrb; - output M01_AXI_wvalid; - input S00_ACLK; - input S00_ARESETN; - input [31:0]S00_AXI_araddr; - input [2:0]S00_AXI_arprot; - output S00_AXI_arready; - input S00_AXI_arvalid; - input [31:0]S00_AXI_awaddr; - input [2:0]S00_AXI_awprot; - output S00_AXI_awready; - input S00_AXI_awvalid; - input S00_AXI_bready; - output [1:0]S00_AXI_bresp; - output S00_AXI_bvalid; - output [31:0]S00_AXI_rdata; - input S00_AXI_rready; - output [1:0]S00_AXI_rresp; - output S00_AXI_rvalid; - input [31:0]S00_AXI_wdata; - output S00_AXI_wready; - input [3:0]S00_AXI_wstrb; - input S00_AXI_wvalid; - - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - wire [1:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - wire [1:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID; - wire [31:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY; - wire [3:0]m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - wire m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - wire [2:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - wire [2:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - wire [1:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - wire [1:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID; - wire [31:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY; - wire [3:0]m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - wire m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - wire riscv_core_with_axi_0_axi_periph_ACLK_net; - wire riscv_core_with_axi_0_axi_periph_ARESETN_net; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR; - wire [2:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY; - wire [1:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID; - wire [31:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY; - wire [3:0]riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB; - wire riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID; - wire [31:0]s00_couplers_to_xbar_ARADDR; - wire [2:0]s00_couplers_to_xbar_ARPROT; - wire [0:0]s00_couplers_to_xbar_ARREADY; - wire s00_couplers_to_xbar_ARVALID; - wire [31:0]s00_couplers_to_xbar_AWADDR; - wire [2:0]s00_couplers_to_xbar_AWPROT; - wire [0:0]s00_couplers_to_xbar_AWREADY; - wire s00_couplers_to_xbar_AWVALID; - wire s00_couplers_to_xbar_BREADY; - wire [1:0]s00_couplers_to_xbar_BRESP; - wire [0:0]s00_couplers_to_xbar_BVALID; - wire [31:0]s00_couplers_to_xbar_RDATA; - wire s00_couplers_to_xbar_RREADY; - wire [1:0]s00_couplers_to_xbar_RRESP; - wire [0:0]s00_couplers_to_xbar_RVALID; - wire [31:0]s00_couplers_to_xbar_WDATA; - wire [0:0]s00_couplers_to_xbar_WREADY; - wire [3:0]s00_couplers_to_xbar_WSTRB; - wire s00_couplers_to_xbar_WVALID; - wire [31:0]xbar_to_m00_couplers_ARADDR; - wire xbar_to_m00_couplers_ARREADY; - wire [0:0]xbar_to_m00_couplers_ARVALID; - wire [31:0]xbar_to_m00_couplers_AWADDR; - wire xbar_to_m00_couplers_AWREADY; - wire [0:0]xbar_to_m00_couplers_AWVALID; - wire [0:0]xbar_to_m00_couplers_BREADY; - wire [1:0]xbar_to_m00_couplers_BRESP; - wire xbar_to_m00_couplers_BVALID; - wire [31:0]xbar_to_m00_couplers_RDATA; - wire [0:0]xbar_to_m00_couplers_RREADY; - wire [1:0]xbar_to_m00_couplers_RRESP; - wire xbar_to_m00_couplers_RVALID; - wire [31:0]xbar_to_m00_couplers_WDATA; - wire xbar_to_m00_couplers_WREADY; - wire [3:0]xbar_to_m00_couplers_WSTRB; - wire [0:0]xbar_to_m00_couplers_WVALID; - wire [63:32]xbar_to_m01_couplers_ARADDR; - wire [5:3]xbar_to_m01_couplers_ARPROT; - wire xbar_to_m01_couplers_ARREADY; - wire [1:1]xbar_to_m01_couplers_ARVALID; - wire [63:32]xbar_to_m01_couplers_AWADDR; - wire [5:3]xbar_to_m01_couplers_AWPROT; - wire xbar_to_m01_couplers_AWREADY; - wire [1:1]xbar_to_m01_couplers_AWVALID; - wire [1:1]xbar_to_m01_couplers_BREADY; - wire [1:0]xbar_to_m01_couplers_BRESP; - wire xbar_to_m01_couplers_BVALID; - wire [31:0]xbar_to_m01_couplers_RDATA; - wire [1:1]xbar_to_m01_couplers_RREADY; - wire [1:0]xbar_to_m01_couplers_RRESP; - wire xbar_to_m01_couplers_RVALID; - wire [63:32]xbar_to_m01_couplers_WDATA; - wire xbar_to_m01_couplers_WREADY; - wire [7:4]xbar_to_m01_couplers_WSTRB; - wire [1:1]xbar_to_m01_couplers_WVALID; - wire [5:0]NLW_xbar_m_axi_arprot_UNCONNECTED; - wire [5:0]NLW_xbar_m_axi_awprot_UNCONNECTED; - - assign M00_AXI_araddr[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - assign M00_AXI_arvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - assign M00_AXI_awaddr[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - assign M00_AXI_awvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - assign M00_AXI_bready = m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - assign M00_AXI_rready = m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - assign M00_AXI_wdata[31:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - assign M00_AXI_wstrb[3:0] = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - assign M00_AXI_wvalid = m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - assign M01_AXI_araddr[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR; - assign M01_AXI_arprot[2:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT; - assign M01_AXI_arvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID; - assign M01_AXI_awaddr[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR; - assign M01_AXI_awprot[2:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT; - assign M01_AXI_awvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID; - assign M01_AXI_bready = m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY; - assign M01_AXI_rready = m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY; - assign M01_AXI_wdata[31:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA; - assign M01_AXI_wstrb[3:0] = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB; - assign M01_AXI_wvalid = m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID; - assign S00_AXI_arready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY; - assign S00_AXI_awready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY; - assign S00_AXI_bresp[1:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP; - assign S00_AXI_bvalid = riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID; - assign S00_AXI_rdata[31:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA; - assign S00_AXI_rresp[1:0] = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP; - assign S00_AXI_rvalid = riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID; - assign S00_AXI_wready = riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY = M00_AXI_arready; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY = M00_AXI_awready; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP = M00_AXI_bresp[1:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID = M00_AXI_bvalid; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA = M00_AXI_rdata[31:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP = M00_AXI_rresp[1:0]; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID = M00_AXI_rvalid; - assign m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY = M00_AXI_wready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY = M01_AXI_arready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY = M01_AXI_awready; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP = M01_AXI_bresp[1:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID = M01_AXI_bvalid; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA = M01_AXI_rdata[31:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP = M01_AXI_rresp[1:0]; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID = M01_AXI_rvalid; - assign m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY = M01_AXI_wready; - assign riscv_core_with_axi_0_axi_periph_ACLK_net = ACLK; - assign riscv_core_with_axi_0_axi_periph_ARESETN_net = ARESETN; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR = S00_AXI_araddr[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT = S00_AXI_arprot[2:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID = S00_AXI_arvalid; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR = S00_AXI_awaddr[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT = S00_AXI_awprot[2:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID = S00_AXI_awvalid; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY = S00_AXI_bready; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY = S00_AXI_rready; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA = S00_AXI_wdata[31:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB = S00_AXI_wstrb[3:0]; - assign riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID = S00_AXI_wvalid; - m00_couplers_imp_DIBHKD m00_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR), - .M_AXI_arready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY), - .M_AXI_arvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID), - .M_AXI_awaddr(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR), - .M_AXI_awready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY), - .M_AXI_awvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID), - .M_AXI_bready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY), - .M_AXI_bresp(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP), - .M_AXI_bvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID), - .M_AXI_rdata(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA), - .M_AXI_rready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY), - .M_AXI_rresp(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP), - .M_AXI_rvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID), - .M_AXI_wdata(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA), - .M_AXI_wready(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY), - .M_AXI_wstrb(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB), - .M_AXI_wvalid(m00_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(xbar_to_m00_couplers_ARADDR), - .S_AXI_arready(xbar_to_m00_couplers_ARREADY), - .S_AXI_arvalid(xbar_to_m00_couplers_ARVALID), - .S_AXI_awaddr(xbar_to_m00_couplers_AWADDR), - .S_AXI_awready(xbar_to_m00_couplers_AWREADY), - .S_AXI_awvalid(xbar_to_m00_couplers_AWVALID), - .S_AXI_bready(xbar_to_m00_couplers_BREADY), - .S_AXI_bresp(xbar_to_m00_couplers_BRESP), - .S_AXI_bvalid(xbar_to_m00_couplers_BVALID), - .S_AXI_rdata(xbar_to_m00_couplers_RDATA), - .S_AXI_rready(xbar_to_m00_couplers_RREADY), - .S_AXI_rresp(xbar_to_m00_couplers_RRESP), - .S_AXI_rvalid(xbar_to_m00_couplers_RVALID), - .S_AXI_wdata(xbar_to_m00_couplers_WDATA), - .S_AXI_wready(xbar_to_m00_couplers_WREADY), - .S_AXI_wstrb(xbar_to_m00_couplers_WSTRB), - .S_AXI_wvalid(xbar_to_m00_couplers_WVALID)); - m01_couplers_imp_15DQFTV m01_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARADDR), - .M_AXI_arprot(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARPROT), - .M_AXI_arready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARREADY), - .M_AXI_arvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_ARVALID), - .M_AXI_awaddr(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWADDR), - .M_AXI_awprot(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWPROT), - .M_AXI_awready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWREADY), - .M_AXI_awvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_AWVALID), - .M_AXI_bready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BREADY), - .M_AXI_bresp(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BRESP), - .M_AXI_bvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_BVALID), - .M_AXI_rdata(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RDATA), - .M_AXI_rready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RREADY), - .M_AXI_rresp(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RRESP), - .M_AXI_rvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_RVALID), - .M_AXI_wdata(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WDATA), - .M_AXI_wready(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WREADY), - .M_AXI_wstrb(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WSTRB), - .M_AXI_wvalid(m01_couplers_to_riscv_core_with_axi_0_axi_periph_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(xbar_to_m01_couplers_ARADDR), - .S_AXI_arprot(xbar_to_m01_couplers_ARPROT), - .S_AXI_arready(xbar_to_m01_couplers_ARREADY), - .S_AXI_arvalid(xbar_to_m01_couplers_ARVALID), - .S_AXI_awaddr(xbar_to_m01_couplers_AWADDR), - .S_AXI_awprot(xbar_to_m01_couplers_AWPROT), - .S_AXI_awready(xbar_to_m01_couplers_AWREADY), - .S_AXI_awvalid(xbar_to_m01_couplers_AWVALID), - .S_AXI_bready(xbar_to_m01_couplers_BREADY), - .S_AXI_bresp(xbar_to_m01_couplers_BRESP), - .S_AXI_bvalid(xbar_to_m01_couplers_BVALID), - .S_AXI_rdata(xbar_to_m01_couplers_RDATA), - .S_AXI_rready(xbar_to_m01_couplers_RREADY), - .S_AXI_rresp(xbar_to_m01_couplers_RRESP), - .S_AXI_rvalid(xbar_to_m01_couplers_RVALID), - .S_AXI_wdata(xbar_to_m01_couplers_WDATA), - .S_AXI_wready(xbar_to_m01_couplers_WREADY), - .S_AXI_wstrb(xbar_to_m01_couplers_WSTRB), - .S_AXI_wvalid(xbar_to_m01_couplers_WVALID)); - s00_couplers_imp_4FUU9H s00_couplers - (.M_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .M_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .M_AXI_araddr(s00_couplers_to_xbar_ARADDR), - .M_AXI_arprot(s00_couplers_to_xbar_ARPROT), - .M_AXI_arready(s00_couplers_to_xbar_ARREADY), - .M_AXI_arvalid(s00_couplers_to_xbar_ARVALID), - .M_AXI_awaddr(s00_couplers_to_xbar_AWADDR), - .M_AXI_awprot(s00_couplers_to_xbar_AWPROT), - .M_AXI_awready(s00_couplers_to_xbar_AWREADY), - .M_AXI_awvalid(s00_couplers_to_xbar_AWVALID), - .M_AXI_bready(s00_couplers_to_xbar_BREADY), - .M_AXI_bresp(s00_couplers_to_xbar_BRESP), - .M_AXI_bvalid(s00_couplers_to_xbar_BVALID), - .M_AXI_rdata(s00_couplers_to_xbar_RDATA), - .M_AXI_rready(s00_couplers_to_xbar_RREADY), - .M_AXI_rresp(s00_couplers_to_xbar_RRESP), - .M_AXI_rvalid(s00_couplers_to_xbar_RVALID), - .M_AXI_wdata(s00_couplers_to_xbar_WDATA), - .M_AXI_wready(s00_couplers_to_xbar_WREADY), - .M_AXI_wstrb(s00_couplers_to_xbar_WSTRB), - .M_AXI_wvalid(s00_couplers_to_xbar_WVALID), - .S_ACLK(riscv_core_with_axi_0_axi_periph_ACLK_net), - .S_ARESETN(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .S_AXI_araddr(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARADDR), - .S_AXI_arprot(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARPROT), - .S_AXI_arready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARREADY), - .S_AXI_arvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_ARVALID), - .S_AXI_awaddr(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWADDR), - .S_AXI_awprot(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWPROT), - .S_AXI_awready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWREADY), - .S_AXI_awvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_AWVALID), - .S_AXI_bready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BREADY), - .S_AXI_bresp(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BRESP), - .S_AXI_bvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_BVALID), - .S_AXI_rdata(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RDATA), - .S_AXI_rready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RREADY), - .S_AXI_rresp(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RRESP), - .S_AXI_rvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_RVALID), - .S_AXI_wdata(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WDATA), - .S_AXI_wready(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WREADY), - .S_AXI_wstrb(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WSTRB), - .S_AXI_wvalid(riscv_core_with_axi_0_axi_periph_to_s00_couplers_WVALID)); - risc_axi_v5_top_xbar_0 xbar - (.aclk(riscv_core_with_axi_0_axi_periph_ACLK_net), - .aresetn(riscv_core_with_axi_0_axi_periph_ARESETN_net), - .m_axi_araddr({xbar_to_m01_couplers_ARADDR,xbar_to_m00_couplers_ARADDR}), - .m_axi_arprot({xbar_to_m01_couplers_ARPROT,NLW_xbar_m_axi_arprot_UNCONNECTED[2:0]}), - .m_axi_arready({xbar_to_m01_couplers_ARREADY,xbar_to_m00_couplers_ARREADY}), - .m_axi_arvalid({xbar_to_m01_couplers_ARVALID,xbar_to_m00_couplers_ARVALID}), - .m_axi_awaddr({xbar_to_m01_couplers_AWADDR,xbar_to_m00_couplers_AWADDR}), - .m_axi_awprot({xbar_to_m01_couplers_AWPROT,NLW_xbar_m_axi_awprot_UNCONNECTED[2:0]}), - .m_axi_awready({xbar_to_m01_couplers_AWREADY,xbar_to_m00_couplers_AWREADY}), - .m_axi_awvalid({xbar_to_m01_couplers_AWVALID,xbar_to_m00_couplers_AWVALID}), - .m_axi_bready({xbar_to_m01_couplers_BREADY,xbar_to_m00_couplers_BREADY}), - .m_axi_bresp({xbar_to_m01_couplers_BRESP,xbar_to_m00_couplers_BRESP}), - .m_axi_bvalid({xbar_to_m01_couplers_BVALID,xbar_to_m00_couplers_BVALID}), - .m_axi_rdata({xbar_to_m01_couplers_RDATA,xbar_to_m00_couplers_RDATA}), - .m_axi_rready({xbar_to_m01_couplers_RREADY,xbar_to_m00_couplers_RREADY}), - .m_axi_rresp({xbar_to_m01_couplers_RRESP,xbar_to_m00_couplers_RRESP}), - .m_axi_rvalid({xbar_to_m01_couplers_RVALID,xbar_to_m00_couplers_RVALID}), - .m_axi_wdata({xbar_to_m01_couplers_WDATA,xbar_to_m00_couplers_WDATA}), - .m_axi_wready({xbar_to_m01_couplers_WREADY,xbar_to_m00_couplers_WREADY}), - .m_axi_wstrb({xbar_to_m01_couplers_WSTRB,xbar_to_m00_couplers_WSTRB}), - .m_axi_wvalid({xbar_to_m01_couplers_WVALID,xbar_to_m00_couplers_WVALID}), - .s_axi_araddr(s00_couplers_to_xbar_ARADDR), - .s_axi_arprot(s00_couplers_to_xbar_ARPROT), - .s_axi_arready(s00_couplers_to_xbar_ARREADY), - .s_axi_arvalid(s00_couplers_to_xbar_ARVALID), - .s_axi_awaddr(s00_couplers_to_xbar_AWADDR), - .s_axi_awprot(s00_couplers_to_xbar_AWPROT), - .s_axi_awready(s00_couplers_to_xbar_AWREADY), - .s_axi_awvalid(s00_couplers_to_xbar_AWVALID), - .s_axi_bready(s00_couplers_to_xbar_BREADY), - .s_axi_bresp(s00_couplers_to_xbar_BRESP), - .s_axi_bvalid(s00_couplers_to_xbar_BVALID), - .s_axi_rdata(s00_couplers_to_xbar_RDATA), - .s_axi_rready(s00_couplers_to_xbar_RREADY), - .s_axi_rresp(s00_couplers_to_xbar_RRESP), - .s_axi_rvalid(s00_couplers_to_xbar_RVALID), - .s_axi_wdata(s00_couplers_to_xbar_WDATA), - .s_axi_wready(s00_couplers_to_xbar_WREADY), - .s_axi_wstrb(s00_couplers_to_xbar_WSTRB), - .s_axi_wvalid(s00_couplers_to_xbar_WVALID)); -endmodule - -module s00_couplers_imp_4FUU9H - (M_ACLK, - M_ARESETN, - M_AXI_araddr, - M_AXI_arprot, - M_AXI_arready, - M_AXI_arvalid, - M_AXI_awaddr, - M_AXI_awprot, - M_AXI_awready, - M_AXI_awvalid, - M_AXI_bready, - M_AXI_bresp, - M_AXI_bvalid, - M_AXI_rdata, - M_AXI_rready, - M_AXI_rresp, - M_AXI_rvalid, - M_AXI_wdata, - M_AXI_wready, - M_AXI_wstrb, - M_AXI_wvalid, - S_ACLK, - S_ARESETN, - S_AXI_araddr, - S_AXI_arprot, - S_AXI_arready, - S_AXI_arvalid, - S_AXI_awaddr, - S_AXI_awprot, - S_AXI_awready, - S_AXI_awvalid, - S_AXI_bready, - S_AXI_bresp, - S_AXI_bvalid, - S_AXI_rdata, - S_AXI_rready, - S_AXI_rresp, - S_AXI_rvalid, - S_AXI_wdata, - S_AXI_wready, - S_AXI_wstrb, - S_AXI_wvalid); - input M_ACLK; - input M_ARESETN; - output [31:0]M_AXI_araddr; - output [2:0]M_AXI_arprot; - input M_AXI_arready; - output M_AXI_arvalid; - output [31:0]M_AXI_awaddr; - output [2:0]M_AXI_awprot; - input M_AXI_awready; - output M_AXI_awvalid; - output M_AXI_bready; - input [1:0]M_AXI_bresp; - input M_AXI_bvalid; - input [31:0]M_AXI_rdata; - output M_AXI_rready; - input [1:0]M_AXI_rresp; - input M_AXI_rvalid; - output [31:0]M_AXI_wdata; - input M_AXI_wready; - output [3:0]M_AXI_wstrb; - output M_AXI_wvalid; - input S_ACLK; - input S_ARESETN; - input [31:0]S_AXI_araddr; - input [2:0]S_AXI_arprot; - output S_AXI_arready; - input S_AXI_arvalid; - input [31:0]S_AXI_awaddr; - input [2:0]S_AXI_awprot; - output S_AXI_awready; - input S_AXI_awvalid; - input S_AXI_bready; - output [1:0]S_AXI_bresp; - output S_AXI_bvalid; - output [31:0]S_AXI_rdata; - input S_AXI_rready; - output [1:0]S_AXI_rresp; - output S_AXI_rvalid; - input [31:0]S_AXI_wdata; - output S_AXI_wready; - input [3:0]S_AXI_wstrb; - input S_AXI_wvalid; - - wire [31:0]s00_couplers_to_s00_couplers_ARADDR; - wire [2:0]s00_couplers_to_s00_couplers_ARPROT; - wire s00_couplers_to_s00_couplers_ARREADY; - wire s00_couplers_to_s00_couplers_ARVALID; - wire [31:0]s00_couplers_to_s00_couplers_AWADDR; - wire [2:0]s00_couplers_to_s00_couplers_AWPROT; - wire s00_couplers_to_s00_couplers_AWREADY; - wire s00_couplers_to_s00_couplers_AWVALID; - wire s00_couplers_to_s00_couplers_BREADY; - wire [1:0]s00_couplers_to_s00_couplers_BRESP; - wire s00_couplers_to_s00_couplers_BVALID; - wire [31:0]s00_couplers_to_s00_couplers_RDATA; - wire s00_couplers_to_s00_couplers_RREADY; - wire [1:0]s00_couplers_to_s00_couplers_RRESP; - wire s00_couplers_to_s00_couplers_RVALID; - wire [31:0]s00_couplers_to_s00_couplers_WDATA; - wire s00_couplers_to_s00_couplers_WREADY; - wire [3:0]s00_couplers_to_s00_couplers_WSTRB; - wire s00_couplers_to_s00_couplers_WVALID; - - assign M_AXI_araddr[31:0] = s00_couplers_to_s00_couplers_ARADDR; - assign M_AXI_arprot[2:0] = s00_couplers_to_s00_couplers_ARPROT; - assign M_AXI_arvalid = s00_couplers_to_s00_couplers_ARVALID; - assign M_AXI_awaddr[31:0] = s00_couplers_to_s00_couplers_AWADDR; - assign M_AXI_awprot[2:0] = s00_couplers_to_s00_couplers_AWPROT; - assign M_AXI_awvalid = s00_couplers_to_s00_couplers_AWVALID; - assign M_AXI_bready = s00_couplers_to_s00_couplers_BREADY; - assign M_AXI_rready = s00_couplers_to_s00_couplers_RREADY; - assign M_AXI_wdata[31:0] = s00_couplers_to_s00_couplers_WDATA; - assign M_AXI_wstrb[3:0] = s00_couplers_to_s00_couplers_WSTRB; - assign M_AXI_wvalid = s00_couplers_to_s00_couplers_WVALID; - assign S_AXI_arready = s00_couplers_to_s00_couplers_ARREADY; - assign S_AXI_awready = s00_couplers_to_s00_couplers_AWREADY; - assign S_AXI_bresp[1:0] = s00_couplers_to_s00_couplers_BRESP; - assign S_AXI_bvalid = s00_couplers_to_s00_couplers_BVALID; - assign S_AXI_rdata[31:0] = s00_couplers_to_s00_couplers_RDATA; - assign S_AXI_rresp[1:0] = s00_couplers_to_s00_couplers_RRESP; - assign S_AXI_rvalid = s00_couplers_to_s00_couplers_RVALID; - assign S_AXI_wready = s00_couplers_to_s00_couplers_WREADY; - assign s00_couplers_to_s00_couplers_ARADDR = S_AXI_araddr[31:0]; - assign s00_couplers_to_s00_couplers_ARPROT = S_AXI_arprot[2:0]; - assign s00_couplers_to_s00_couplers_ARREADY = M_AXI_arready; - assign s00_couplers_to_s00_couplers_ARVALID = S_AXI_arvalid; - assign s00_couplers_to_s00_couplers_AWADDR = S_AXI_awaddr[31:0]; - assign s00_couplers_to_s00_couplers_AWPROT = S_AXI_awprot[2:0]; - assign s00_couplers_to_s00_couplers_AWREADY = M_AXI_awready; - assign s00_couplers_to_s00_couplers_AWVALID = S_AXI_awvalid; - assign s00_couplers_to_s00_couplers_BREADY = S_AXI_bready; - assign s00_couplers_to_s00_couplers_BRESP = M_AXI_bresp[1:0]; - assign s00_couplers_to_s00_couplers_BVALID = M_AXI_bvalid; - assign s00_couplers_to_s00_couplers_RDATA = M_AXI_rdata[31:0]; - assign s00_couplers_to_s00_couplers_RREADY = S_AXI_rready; - assign s00_couplers_to_s00_couplers_RRESP = M_AXI_rresp[1:0]; - assign s00_couplers_to_s00_couplers_RVALID = M_AXI_rvalid; - assign s00_couplers_to_s00_couplers_WDATA = S_AXI_wdata[31:0]; - assign s00_couplers_to_s00_couplers_WREADY = M_AXI_wready; - assign s00_couplers_to_s00_couplers_WSTRB = S_AXI_wstrb[3:0]; - assign s00_couplers_to_s00_couplers_WVALID = S_AXI_wvalid; -endmodule diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xci b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xci index c01399f..7d11ab2 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xci +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_led_key_0_0/risc_axi_v5_top_led_key_0_0.xci @@ -75,36 +75,36 @@ - - - - + + + + - + - - - - - - - - - - + + + + + + + + + + - - + + - + - + @@ -113,18 +113,18 @@ +:[{"direction":"out","physical_left":"0","physical_right":"0","is_vector":"false"}],"s00_axi_wstrb":[{"direction":"in","physical_left":"3","physical_right":"0","is_vector":"true"}],"s00_axi_wvalid":[{"direction":"in","physical_left":"0","physical_right":"0","is_vector":"false"}]},"interfaces":{"s00_axi":{"vlnv":"xilinx.com:interface:aximm:1.0","abstraction_type":"xilinx.com:interface:aximm_rtl:1.0","mode":"slave","memory_map_ref":"s00_axi","parameters":{"ADDR_WIDTH":[{"value":"4","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"ARUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"AWUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_infe +rred":false,"is_static_object":false}],"BUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"CLK_DOMAIN":[{"value":"risc_axi_v5_top_wClk","value_src":"default_prop","value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":false,"is_static_object":false}],"DATA_WIDTH":[{"value":"32","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"FREQ_HZ":[{"value":"50000000","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_BRESP":[{"value":"1","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":fals +e,"is_static_object":false}],"HAS_BURST":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_CACHE":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_LOCK":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_PROT":[{"value":"1","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_QOS":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_REGION":[{"val +ue":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_RRESP":[{"value":"1","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"HAS_WSTRB":[{"value":"1","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"ID_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":false,"is_static_object":false}],"MAX_BURST_LENGTH":[{"value":"1","value_src":"auto","value_permis +sion":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"NUM_READ_OUTSTANDING":[{"value":"1","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"NUM_READ_THREADS":[{"value":"1","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"NUM_WRITE_OUTSTANDING":[{"value":"1","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"NUM_WRITE_THREADS":[{"value":"1","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"PHASE":[{"value":"0.0","value_src":"default","value_permission":"bd_and_user" +,"resolve_type":"generated","format":"float","usage":"none","is_ips_inferred":false,"is_static_object":false}],"PROTOCOL":[{"value":"AXI4LITE","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":false,"is_static_object":false}],"READ_WRITE_MODE":[{"value":"READ_WRITE","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":false,"is_static_object":false}],"RUSER_BITS_PER_BYTE":[{"value":"0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"RUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"SUPPORTS_NARROW_BURST":[{"value":"0","value_src":"auto","value_permission":"bd_and_user +","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"WUSER_BITS_PER_BYTE":[{"value":"0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"WUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}]},"port_maps":{"ARADDR":[{"physical_name":"s00_axi_araddr","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0","port_maps_used":"none"}],"ARPROT":[{"physical_name":"s00_axi_arprot","physical_left":"2","physical_right":"0","logical_left":"2","logical_right":"0","port_maps_used":"none"}],"ARREADY":[{"physical_name":"s00_axi_arready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"ARVALID":[{"physical_name":" +s00_axi_arvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"AWADDR":[{"physical_name":"s00_axi_awaddr","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0","port_maps_used":"none"}],"AWPROT":[{"physical_name":"s00_axi_awprot","physical_left":"2","physical_right":"0","logical_left":"2","logical_right":"0","port_maps_used":"none"}],"AWREADY":[{"physical_name":"s00_axi_awready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"AWVALID":[{"physical_name":"s00_axi_awvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"BREADY":[{"physical_name":"s00_axi_bready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"BRESP":[{"physical_name":"s00_axi_bresp","physical_left":"1","physical_right":"0","logical_left":"1","logical_right":"0", +"port_maps_used":"none"}],"BVALID":[{"physical_name":"s00_axi_bvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"RDATA":[{"physical_name":"s00_axi_rdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"RREADY":[{"physical_name":"s00_axi_rready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"RRESP":[{"physical_name":"s00_axi_rresp","physical_left":"1","physical_right":"0","logical_left":"1","logical_right":"0","port_maps_used":"none"}],"RVALID":[{"physical_name":"s00_axi_rvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"WDATA":[{"physical_name":"s00_axi_wdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"WREADY":[{"physical_name":"s00_axi_wready","physical_left":"0","physical_r +ight":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"WSTRB":[{"physical_name":"s00_axi_wstrb","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0","port_maps_used":"none"}],"WVALID":[{"physical_name":"s00_axi_wvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}},"s00_axi_aclk":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","parameters":{"ASSOCIATED_BUSIF":[{"value":"s00_axi","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}],"ASSOCIATED_RESET":[{"value":"s00_axi_aresetn","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}],"CLK_DOMAIN":[{"value":"risc_axi_v5_top_wClk","value_src":"default_prop", +"value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":false,"is_static_object":false}],"FREQ_HZ":[{"value":"50000000","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"FREQ_TOLERANCE_HZ":[{"value":"0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":false,"is_static_object":false}],"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":false,"is_static_object":false}],"PHASE":[{"value":"0.0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"float","usage":"none","is_ips_inferred":false,"is_static_object":false}]},"port_maps":{"CLK":[{"physical_name":"s00_axi_aclk","physical_left":"0","physical_r +ight":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}},"s00_axi_aresetn":{"vlnv":"xilinx.com:signal:reset:1.0","abstraction_type":"xilinx.com:signal:reset_rtl:1.0","mode":"slave","parameters":{"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":false,"is_static_object":false}],"POLARITY":[{"value":"ACTIVE_LOW","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}]},"port_maps":{"RST":[{"physical_name":"s00_axi_aresetn","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}}},"memory_maps":{"s00_axi":{"address_blocks":{"reg0":[{"base_address":"0","range":"16","display_name":"","description":"","usage":"register","access":""}]}}}}}"/> diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_riscv_core_with_axi_0_6/risc_axi_v5_top_riscv_core_with_axi_0_6.xci b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_riscv_core_with_axi_0_6/risc_axi_v5_top_riscv_core_with_axi_0_6.xci index 4950ab1..94967cf 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_riscv_core_with_axi_0_6/risc_axi_v5_top_riscv_core_with_axi_0_6.xci +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ip/risc_axi_v5_top_riscv_core_with_axi_0_6/risc_axi_v5_top_riscv_core_with_axi_0_6.xci @@ -15,9 +15,9 @@ 0 0 0 - risc_axi_v5_top_wClk + 32 - 50000000 + 100000000 1 0 0 @@ -42,8 +42,8 @@ 0 0 0 - risc_axi_v5_top_wClk - 50000000 + + 100000000 0 0 0.0 @@ -78,7 +78,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -113,17 +113,17 @@ +"is_static_object":false}],"CLK_DOMAIN":[{"value":"","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":true,"is_static_object":false}],"DATA_WIDTH":[{"value":"32","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"FREQ_HZ":[{"value":"100000000","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_BRESP":[{"value":"1","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_BURST":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_CACHE":[{"value":"0","value_src":"co +nstant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_LOCK":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_PROT":[{"value":"1","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_QOS":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_REGION":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"HAS_RRESP":[{"value":"1","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips +_inferred":true,"is_static_object":false}],"HAS_WSTRB":[{"value":"1","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"ID_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":true,"is_static_object":false}],"MAX_BURST_LENGTH":[{"value":"1","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"NUM_READ_OUTSTANDING":[{"value":"1","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"NUM_READ_THREADS +":[{"value":"1","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"NUM_WRITE_OUTSTANDING":[{"value":"1","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"NUM_WRITE_THREADS":[{"value":"1","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"PHASE":[{"value":"0.0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"float","usage":"none","is_ips_inferred":true,"is_static_object":false}],"PROTOCOL":[{"value":"AXI4LITE","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":true,"is_static_object":false}],"READ_WRITE_MODE":[{"value":"READ_WRITE","value_ +src":"constant","value_permission":"bd","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":true,"is_static_object":false}],"RUSER_BITS_PER_BYTE":[{"value":"0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"RUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission":"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"SUPPORTS_NARROW_BURST":[{"value":"0","value_src":"auto","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"WUSER_BITS_PER_BYTE":[{"value":"0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"WUSER_WIDTH":[{"value":"0","value_src":"constant","value_permission": +"bd","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}]},"port_maps":{"ARADDR":[{"physical_name":"m00_axi_araddr","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"ARPROT":[{"physical_name":"m00_axi_arprot","physical_left":"2","physical_right":"0","logical_left":"2","logical_right":"0","port_maps_used":"none"}],"ARREADY":[{"physical_name":"m00_axi_arready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"ARVALID":[{"physical_name":"m00_axi_arvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"AWADDR":[{"physical_name":"m00_axi_awaddr","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"AWPROT":[{"physical_name":"m00_axi_awprot","physical_left":"2","physical_right":"0","logical_left":"2","logical_r +ight":"0","port_maps_used":"none"}],"AWREADY":[{"physical_name":"m00_axi_awready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"AWVALID":[{"physical_name":"m00_axi_awvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"BREADY":[{"physical_name":"m00_axi_bready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"BRESP":[{"physical_name":"m00_axi_bresp","physical_left":"1","physical_right":"0","logical_left":"1","logical_right":"0","port_maps_used":"none"}],"BVALID":[{"physical_name":"m00_axi_bvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"RDATA":[{"physical_name":"m00_axi_rdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"RREADY":[{"physical_name":"m00_axi_rready","physical_left":" +0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"RRESP":[{"physical_name":"m00_axi_rresp","physical_left":"1","physical_right":"0","logical_left":"1","logical_right":"0","port_maps_used":"none"}],"RVALID":[{"physical_name":"m00_axi_rvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"WDATA":[{"physical_name":"m00_axi_wdata","physical_left":"31","physical_right":"0","logical_left":"31","logical_right":"0","port_maps_used":"none"}],"WREADY":[{"physical_name":"m00_axi_wready","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}],"WSTRB":[{"physical_name":"m00_axi_wstrb","physical_left":"3","physical_right":"0","logical_left":"3","logical_right":"0","port_maps_used":"none"}],"WVALID":[{"physical_name":"m00_axi_wvalid","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}},"m00_axi_acl +k":{"vlnv":"xilinx.com:signal:clock:1.0","abstraction_type":"xilinx.com:signal:clock_rtl:1.0","mode":"slave","parameters":{"ASSOCIATED_BUSIF":[{"value":"m00_axi","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}],"ASSOCIATED_RESET":[{"value":"m00_axi_aresetn","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}],"CLK_DOMAIN":[{"value":"","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"string","usage":"none","is_ips_inferred":true,"is_static_object":false}],"FREQ_HZ":[{"value":"100000000","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"FREQ_TOLERANCE_HZ":[{"value":"0","value_src":"default","value_permission" +:"bd_and_user","resolve_type":"generated","format":"long","usage":"none","is_ips_inferred":true,"is_static_object":false}],"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":true,"is_static_object":false}],"PHASE":[{"value":"0.0","value_src":"default","value_permission":"bd_and_user","resolve_type":"generated","format":"float","usage":"none","is_ips_inferred":true,"is_static_object":false}]},"port_maps":{"CLK":[{"physical_name":"m00_axi_aclk","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}},"m00_axi_aresetn":{"vlnv":"xilinx.com:signal:reset:1.0","abstraction_type":"xilinx.com:signal:reset_rtl:1.0","mode":"slave","parameters":{"INSERT_VIP":[{"value":"0","value_src":"default","value_permission":"user","resolve_type":"user","format":"long","usage":"simulation.rtl","is_ips_inferred":true,"is_static_object":false}],"POLARITY":[{ +"value":"ACTIVE_LOW","value_src":"constant","value_permission":"bd_and_user","resolve_type":"immediate","format":"string","usage":"all","is_ips_inferred":false,"is_static_object":true}]},"port_maps":{"RST":[{"physical_name":"m00_axi_aresetn","physical_left":"0","physical_right":"0","logical_left":"0","logical_right":"0","port_maps_used":"none"}]}}},"address_spaces":{"m00_axi":{"range":"4294967296","display_name":"","description":""}}}}"/> diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd index 73a7cd7..8d02bc4 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd @@ -7,8 +7,7 @@ "name": "risc_axi_v5_top", "rev_ctrl_bd_flag": "RevCtrlBdOff", "synth_flow_mode": "None", - "tool_version": "2021.1", - "validated": "true" + "tool_version": "2021.1" }, "design_tree": { "riscv_core_with_axi_0_axi_periph": { @@ -19,92 +18,42 @@ }, "rst_wClk_50M": "", "axi_uartlite_0": "", - "riscv_core_with_axi_0": "", - "led_key_0": "" + "led_key_0": "", + "riscv_core_with_axi_0": "" }, "ports": { "wClk": { "type": "clk", "direction": "I", "parameters": { - "CLK_DOMAIN": { - "value": "risc_axi_v5_top_wClk", - "value_src": "default" - }, "FREQ_HZ": { "value": "50000000" - }, - "FREQ_TOLERANCE_HZ": { - "value": "0", - "value_src": "default" - }, - "INSERT_VIP": { - "value": "0", - "value_src": "default" - }, - "PHASE": { - "value": "0.0", - "value_src": "default" } } }, "nwReset": { "type": "rst", - "direction": "I", - "parameters": { - "INSERT_VIP": { - "value": "0", - "value_src": "default" - }, - "POLARITY": { - "value": "ACTIVE_LOW", - "value_src": "default" - } - } + "direction": "I" }, "key": { "type": "data", "direction": "I", "left": "2", - "right": "0", - "parameters": { - "LAYERED_METADATA": { - "value": "undef", - "value_src": "default" - } - } + "right": "0" }, "led": { "type": "data", "direction": "O", "left": "3", - "right": "0", - "parameters": { - "LAYERED_METADATA": { - "value": "undef", - "value_src": "default" - } - } + "right": "0" }, "uart_tx": { "type": "data", - "direction": "O", - "parameters": { - "LAYERED_METADATA": { - "value": "undef", - "value_src": "default" - } - } + "direction": "O" }, "uart_rx": { "type": "data", - "direction": "I", - "parameters": { - "LAYERED_METADATA": { - "value": "undef", - "value_src": "default" - } - } + "direction": "I" } }, "components": { @@ -477,19 +426,19 @@ } } }, - "riscv_core_with_axi_0": { - "vlnv": "xilinx.com:module_ref:riscv_core_with_axi_master:1.0", - "xci_name": "risc_axi_v5_top_riscv_core_with_axi_0_6", - "xci_path": "ip\\risc_axi_v5_top_riscv_core_with_axi_0_6\\risc_axi_v5_top_riscv_core_with_axi_0_6.xci", - "inst_hier_path": "riscv_core_with_axi_0", + "led_key_0": { + "vlnv": "xilinx.com:module_ref:led_key:1.0", + "xci_name": "risc_axi_v5_top_led_key_0_0", + "xci_path": "ip\\risc_axi_v5_top_led_key_0_0\\risc_axi_v5_top_led_key_0_0.xci", + "inst_hier_path": "led_key_0", "reference_info": { "ref_type": "hdl", - "ref_name": "riscv_core_with_axi_master", + "ref_name": "led_key", "boundary_crc": "0x0" }, "interface_ports": { - "m00_axi": { - "mode": "Master", + "s00_axi": { + "mode": "Slave", "vlnv_bus_definition": "xilinx.com:interface:aximm:1.0", "vlnv": "xilinx.com:interface:aximm_rtl:1.0", "parameters": { @@ -506,7 +455,7 @@ "value_src": "constant" }, "ADDR_WIDTH": { - "value": "32", + "value": "4", "value_src": "constant" }, "AWUSER_WIDTH": { @@ -590,121 +539,115 @@ "value_src": "default_prop" } }, - "address_space_ref": "m00_axi", - "base_address": { - "minimum": "0x00000000", - "maximum": "0xFFFFFFFF", - "width": "32" - }, "port_maps": { "AWADDR": { - "physical_name": "m00_axi_awaddr", - "direction": "O", - "left": "31", + "physical_name": "s00_axi_awaddr", + "direction": "I", + "left": "3", "right": "0" }, "AWPROT": { - "physical_name": "m00_axi_awprot", - "direction": "O", + "physical_name": "s00_axi_awprot", + "direction": "I", "left": "2", "right": "0" }, "AWVALID": { - "physical_name": "m00_axi_awvalid", - "direction": "O" + "physical_name": "s00_axi_awvalid", + "direction": "I" }, "AWREADY": { - "physical_name": "m00_axi_awready", - "direction": "I" + "physical_name": "s00_axi_awready", + "direction": "O" }, "WDATA": { - "physical_name": "m00_axi_wdata", - "direction": "O", + "physical_name": "s00_axi_wdata", + "direction": "I", "left": "31", "right": "0" }, "WSTRB": { - "physical_name": "m00_axi_wstrb", - "direction": "O", + "physical_name": "s00_axi_wstrb", + "direction": "I", "left": "3", "right": "0" }, "WVALID": { - "physical_name": "m00_axi_wvalid", - "direction": "O" + "physical_name": "s00_axi_wvalid", + "direction": "I" }, "WREADY": { - "physical_name": "m00_axi_wready", - "direction": "I" + "physical_name": "s00_axi_wready", + "direction": "O" }, "BRESP": { - "physical_name": "m00_axi_bresp", - "direction": "I", + "physical_name": "s00_axi_bresp", + "direction": "O", "left": "1", "right": "0" }, "BVALID": { - "physical_name": "m00_axi_bvalid", - "direction": "I" + "physical_name": "s00_axi_bvalid", + "direction": "O" }, "BREADY": { - "physical_name": "m00_axi_bready", - "direction": "O" + "physical_name": "s00_axi_bready", + "direction": "I" }, "ARADDR": { - "physical_name": "m00_axi_araddr", - "direction": "O", - "left": "31", + "physical_name": "s00_axi_araddr", + "direction": "I", + "left": "3", "right": "0" }, "ARPROT": { - "physical_name": "m00_axi_arprot", - "direction": "O", + "physical_name": "s00_axi_arprot", + "direction": "I", "left": "2", "right": "0" }, "ARVALID": { - "physical_name": "m00_axi_arvalid", - "direction": "O" + "physical_name": "s00_axi_arvalid", + "direction": "I" }, "ARREADY": { - "physical_name": "m00_axi_arready", - "direction": "I" + "physical_name": "s00_axi_arready", + "direction": "O" }, "RDATA": { - "physical_name": "m00_axi_rdata", - "direction": "I", + "physical_name": "s00_axi_rdata", + "direction": "O", "left": "31", "right": "0" }, "RRESP": { - "physical_name": "m00_axi_rresp", - "direction": "I", + "physical_name": "s00_axi_rresp", + "direction": "O", "left": "1", "right": "0" }, "RVALID": { - "physical_name": "m00_axi_rvalid", - "direction": "I" + "physical_name": "s00_axi_rvalid", + "direction": "O" }, "RREADY": { - "physical_name": "m00_axi_rready", - "direction": "O" + "physical_name": "s00_axi_rready", + "direction": "I" } } } }, "ports": { - "m00_axi_aclk": { + "s00_axi_aclk": { "type": "clk", "direction": "I", "parameters": { "ASSOCIATED_BUSIF": { - "value": "m00_axi", + "value": "s00_axi", "value_src": "constant" }, "ASSOCIATED_RESET": { - "value": "m00_axi_aresetn", + "value": "s00_axi_aresetn", "value_src": "constant" }, "CLK_DOMAIN": { @@ -713,7 +656,7 @@ } } }, - "m00_axi_aresetn": { + "s00_axi_aresetn": { "type": "rst", "direction": "I", "parameters": { @@ -722,30 +665,38 @@ "value_src": "constant" } } - } - }, - "addressing": { - "address_spaces": { - "m00_axi": { - "range": "4G", - "width": "32" + }, + "key": { + "direction": "I", + "left": "2", + "right": "0", + "parameters": { + "LAYERED_METADATA": { + "value": "undef", + "value_src": "default_prop" + } } + }, + "led": { + "direction": "O", + "left": "3", + "right": "0" } } }, - "led_key_0": { - "vlnv": "xilinx.com:module_ref:led_key:1.0", - "xci_name": "risc_axi_v5_top_led_key_0_0", - "xci_path": "ip\\risc_axi_v5_top_led_key_0_0\\risc_axi_v5_top_led_key_0_0.xci", - "inst_hier_path": "led_key_0", + "riscv_core_with_axi_0": { + "vlnv": "xilinx.com:module_ref:riscv_core_with_axi_master:1.0", + "xci_name": "risc_axi_v5_top_riscv_core_with_axi_0_6", + "xci_path": "ip\\risc_axi_v5_top_riscv_core_with_axi_0_6\\risc_axi_v5_top_riscv_core_with_axi_0_6.xci", + "inst_hier_path": "riscv_core_with_axi_0", "reference_info": { "ref_type": "hdl", - "ref_name": "led_key", + "ref_name": "riscv_core_with_axi_master", "boundary_crc": "0x0" }, "interface_ports": { - "s00_axi": { - "mode": "Slave", + "m00_axi": { + "mode": "Master", "vlnv_bus_definition": "xilinx.com:interface:aximm:1.0", "vlnv": "xilinx.com:interface:aximm_rtl:1.0", "parameters": { @@ -762,7 +713,7 @@ "value_src": "constant" }, "ADDR_WIDTH": { - "value": "4", + "value": "32", "value_src": "constant" }, "AWUSER_WIDTH": { @@ -840,130 +791,128 @@ "MAX_BURST_LENGTH": { "value": "1", "value_src": "auto" - }, - "CLK_DOMAIN": { - "value": "risc_axi_v5_top_wClk", - "value_src": "default_prop" } }, + "address_space_ref": "m00_axi", + "base_address": { + "minimum": "0x00000000", + "maximum": "0xFFFFFFFF", + "width": "32" + }, "port_maps": { "AWADDR": { - "physical_name": "s00_axi_awaddr", - "direction": "I", - "left": "3", + "physical_name": "m00_axi_awaddr", + "direction": "O", + "left": "31", "right": "0" }, "AWPROT": { - "physical_name": "s00_axi_awprot", - "direction": "I", + "physical_name": "m00_axi_awprot", + "direction": "O", "left": "2", "right": "0" }, "AWVALID": { - "physical_name": "s00_axi_awvalid", - "direction": "I" + "physical_name": "m00_axi_awvalid", + "direction": "O" }, "AWREADY": { - "physical_name": "s00_axi_awready", - "direction": "O" + "physical_name": "m00_axi_awready", + "direction": "I" }, "WDATA": { - "physical_name": "s00_axi_wdata", - "direction": "I", + "physical_name": "m00_axi_wdata", + "direction": "O", "left": "31", "right": "0" }, "WSTRB": { - "physical_name": "s00_axi_wstrb", - "direction": "I", + "physical_name": "m00_axi_wstrb", + "direction": "O", "left": "3", "right": "0" }, "WVALID": { - "physical_name": "s00_axi_wvalid", - "direction": "I" + "physical_name": "m00_axi_wvalid", + "direction": "O" }, "WREADY": { - "physical_name": "s00_axi_wready", - "direction": "O" + "physical_name": "m00_axi_wready", + "direction": "I" }, "BRESP": { - "physical_name": "s00_axi_bresp", - "direction": "O", + "physical_name": "m00_axi_bresp", + "direction": "I", "left": "1", "right": "0" }, "BVALID": { - "physical_name": "s00_axi_bvalid", - "direction": "O" + "physical_name": "m00_axi_bvalid", + "direction": "I" }, "BREADY": { - "physical_name": "s00_axi_bready", - "direction": "I" + "physical_name": "m00_axi_bready", + "direction": "O" }, "ARADDR": { - "physical_name": "s00_axi_araddr", - "direction": "I", - "left": "3", + "physical_name": "m00_axi_araddr", + "direction": "O", + "left": "31", "right": "0" }, "ARPROT": { - "physical_name": "s00_axi_arprot", - "direction": "I", + "physical_name": "m00_axi_arprot", + "direction": "O", "left": "2", "right": "0" }, "ARVALID": { - "physical_name": "s00_axi_arvalid", - "direction": "I" + "physical_name": "m00_axi_arvalid", + "direction": "O" }, "ARREADY": { - "physical_name": "s00_axi_arready", - "direction": "O" + "physical_name": "m00_axi_arready", + "direction": "I" }, "RDATA": { - "physical_name": "s00_axi_rdata", - "direction": "O", + "physical_name": "m00_axi_rdata", + "direction": "I", "left": "31", "right": "0" }, "RRESP": { - "physical_name": "s00_axi_rresp", - "direction": "O", + "physical_name": "m00_axi_rresp", + "direction": "I", "left": "1", "right": "0" }, "RVALID": { - "physical_name": "s00_axi_rvalid", - "direction": "O" + "physical_name": "m00_axi_rvalid", + "direction": "I" }, "RREADY": { - "physical_name": "s00_axi_rready", - "direction": "I" + "physical_name": "m00_axi_rready", + "direction": "O" } } } }, "ports": { - "s00_axi_aclk": { + "m00_axi_aclk": { "type": "clk", "direction": "I", "parameters": { "ASSOCIATED_BUSIF": { - "value": "s00_axi", + "value": "m00_axi", "value_src": "constant" }, "ASSOCIATED_RESET": { - "value": "s00_axi_aresetn", + "value": "m00_axi_aresetn", "value_src": "constant" - }, - "CLK_DOMAIN": { - "value": "risc_axi_v5_top_wClk", - "value_src": "default_prop" } } }, - "s00_axi_aresetn": { + "m00_axi_aresetn": { "type": "rst", "direction": "I", "parameters": { @@ -972,22 +921,14 @@ "value_src": "constant" } } - }, - "key": { - "direction": "I", - "left": "2", - "right": "0", - "parameters": { - "LAYERED_METADATA": { - "value": "undef", - "value_src": "default_prop" - } + } + }, + "addressing": { + "address_spaces": { + "m00_axi": { + "range": "4G", + "width": "32" } - }, - "led": { - "direction": "O", - "left": "3", - "right": "0" } } } @@ -1045,8 +986,8 @@ "riscv_core_with_axi_0_axi_periph/ARESETN", "riscv_core_with_axi_0_axi_periph/M01_ARESETN", "axi_uartlite_0/s_axi_aresetn", - "riscv_core_with_axi_0/m00_axi_aresetn", - "led_key_0/s00_axi_aresetn" + "led_key_0/s00_axi_aresetn", + "riscv_core_with_axi_0/m00_axi_aresetn" ] }, "uart_rx_1": { @@ -1064,8 +1005,8 @@ "riscv_core_with_axi_0_axi_periph/ACLK", "riscv_core_with_axi_0_axi_periph/M01_ACLK", "axi_uartlite_0/s_axi_aclk", - "riscv_core_with_axi_0/m00_axi_aclk", - "led_key_0/s00_axi_aclk" + "led_key_0/s00_axi_aclk", + "riscv_core_with_axi_0/m00_axi_aclk" ] } }, diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bda b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bda index 03dda8b..517fa33 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bda +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bda @@ -26,10 +26,6 @@ PM - risc_axi_v5_top - BC - - 0xF0000000 C_BASEADDR 0xF000007F @@ -47,6 +43,10 @@ register AC + + risc_axi_v5_top + BC + 2 risc_axi_v5_top @@ -70,14 +70,14 @@ register AC - + 2 - + 2 diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ui/bd_df8a7a1a.ui b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ui/bd_df8a7a1a.ui index f443177..0ff6f63 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ui/bd_df8a7a1a.ui +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.srcs/sources_1/bd/risc_axi_v5_top/ui/bd_df8a7a1a.ui @@ -14,8 +14,8 @@ preplace portBus led -pg 1 -lvl 3 -x 740 -y -390 -defaultsOSRD preplace inst riscv_core_with_axi_0_axi_periph -pg 1 -lvl 1 -x 10 -y -250 -defaultsOSRD preplace inst rst_wClk_50M -pg 1 -lvl 1 -x 10 -y -470 -defaultsOSRD preplace inst axi_uartlite_0 -pg 1 -lvl 2 -x 520 -y -310 -defaultsOSRD -preplace inst riscv_core_with_axi_0 -pg 1 -lvl 1 -x 10 -y 0 -defaultsOSRD preplace inst led_key_0 -pg 1 -lvl 2 -x 520 -y -40 -defaultsOSRD +preplace inst riscv_core_with_axi_0 -pg 1 -lvl 1 -x 10 -y 0 -defaultsOSRD preplace netloc axi_uartlite_0_tx 1 2 1 660 -300n preplace netloc key_1 1 0 2 -550 -80 200 preplace netloc led_key_0_led 1 2 1 670 -390n diff --git a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.xpr b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.xpr index c93262b..fd145f0 100644 --- a/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.xpr +++ b/examples/hdl4se_riscv/z7/riscv_axi_v5/riscv_axi_v5.xpr @@ -94,64 +94,65 @@ - + - + - + - + - + - + - + - + - + + @@ -195,6 +196,14 @@ + + + + + + + +