提交 c6d66fde 编写于 作者: 饶先宏's avatar 饶先宏

202109150616

上级 1fada2d5
......@@ -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,
......
......@@ -3,7 +3,7 @@
<!--The data in this file is primarily intended for consumption by Xilinx tools.
The structure and the elements are likely to change over the next few releases.
This means code written to parse this file will need to be revisited each subsequent release.-->
<application name="pa" timeStamp="Tue Sep 14 08:44:12 2021">
<application name="pa" timeStamp="Wed Sep 15 06:06:24 2021">
<section name="Project Information" visible="false">
<property name="ProjectID" value="a22297d9082e42c7bf714eb0954ec847" type="ProjectID"/>
<property name="ProjectIteration" value="47" type="ProjectIteration"/>
......@@ -17,20 +17,20 @@ This means code written to parse this file will need to be revisited each subseq
<property name="ImplStrategy" value="Vivado Implementation Defaults" type="ImplStrategy"/>
</item>
<item name="Java Command Handlers">
<property name="AddSources" value="7" type="JavaHandler"/>
<property name="AddSources" value="8" type="JavaHandler"/>
<property name="AutoConnectTarget" value="7" type="JavaHandler"/>
<property name="CoreView" value="3" type="JavaHandler"/>
<property name="CreateBlockDesign" value="1" type="JavaHandler"/>
<property name="CreateTopHDL" value="1" type="JavaHandler"/>
<property name="CustomizeCore" value="2" type="JavaHandler"/>
<property name="CustomizeRSBBlock" value="12" type="JavaHandler"/>
<property name="EditDelete" value="18" type="JavaHandler"/>
<property name="CustomizeRSBBlock" value="13" type="JavaHandler"/>
<property name="EditDelete" value="20" type="JavaHandler"/>
<property name="EditProperties" value="3" type="JavaHandler"/>
<property name="ExitApp" value="5" type="JavaHandler"/>
<property name="ExitApp" value="6" type="JavaHandler"/>
<property name="IPPackagerWizardHandler" value="4" type="JavaHandler"/>
<property name="LaunchProgramFpga" value="26" type="JavaHandler"/>
<property name="ManageCompositeTargets" value="9" type="JavaHandler"/>
<property name="OpenBlockDesign" value="18" type="JavaHandler"/>
<property name="OpenBlockDesign" value="19" type="JavaHandler"/>
<property name="OpenHardwareManager" value="34" type="JavaHandler"/>
<property name="OpenProject" value="2" type="JavaHandler"/>
<property name="OpenRecentTarget" value="8" type="JavaHandler"/>
......@@ -55,12 +55,12 @@ This means code written to parse this file will need to be revisited each subseq
</item>
<item name="Gui Handlers">
<property name="AbstractFileView_CLOSE" value="2" type="GuiHandlerData"/>
<property name="ApplyRSBMultiAutomationDialog_CHECKBOX_TREE" value="6" type="GuiHandlerData"/>
<property name="ApplyRSBMultiAutomationDialog_CHECKBOX_TREE" value="9" type="GuiHandlerData"/>
<property name="BaseDialog_APPLY" value="1" type="GuiHandlerData"/>
<property name="BaseDialog_CANCEL" value="26" type="GuiHandlerData"/>
<property name="BaseDialog_OK" value="87" type="GuiHandlerData"/>
<property name="BaseDialog_OK" value="91" type="GuiHandlerData"/>
<property name="BaseDialog_YES" value="7" type="GuiHandlerData"/>
<property name="CmdMsgDialog_OK" value="19" type="GuiHandlerData"/>
<property name="CmdMsgDialog_OK" value="20" type="GuiHandlerData"/>
<property name="CmdMsgDialog_OPEN_MESSAGES_VIEW" value="1" type="GuiHandlerData"/>
<property name="CoreTreeTablePanel_CORE_TREE_TABLE" value="30" type="GuiHandlerData"/>
<property name="CreateConstraintsFilePanel_FILE_NAME" value="1" type="GuiHandlerData"/>
......@@ -76,7 +76,7 @@ This means code written to parse this file will need to be revisited each subseq
<property name="CustomizeCoreDialog_DOCUMENTATION" value="3" type="GuiHandlerData"/>
<property name="DefineModulesDialog_ENTITY_NAME" value="1" type="GuiHandlerData"/>
<property name="FileSetPanel_FILE_SET_PANEL_TREE" value="208" type="GuiHandlerData"/>
<property name="FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE" value="179" type="GuiHandlerData"/>
<property name="FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE" value="182" type="GuiHandlerData"/>
<property name="GraphicalView_ZOOM_IN" value="11" type="GuiHandlerData"/>
<property name="GraphicalView_ZOOM_OUT" value="2" type="GuiHandlerData"/>
<property name="HACGCCoeFileWidget_BROWSE" value="11" type="GuiHandlerData"/>
......@@ -113,13 +113,13 @@ This means code written to parse this file will need to be revisited each subseq
<property name="PACommandNames_SIMULATION_LIVE_RUN" value="94" type="GuiHandlerData"/>
<property name="PACommandNames_SIMULATION_RUN_BEHAVIORAL" value="15" type="GuiHandlerData"/>
<property name="PACommandNames_SIMULATION_SETTINGS" value="1" type="GuiHandlerData"/>
<property name="PAViews_ADDRESS_EDITOR" value="3" type="GuiHandlerData"/>
<property name="PAViews_ADDRESS_EDITOR" value="4" type="GuiHandlerData"/>
<property name="PAViews_CODE" value="15" type="GuiHandlerData"/>
<property name="PAViews_IP_CATALOG" value="1" type="GuiHandlerData"/>
<property name="PAViews_PROJECT_SUMMARY" value="43" type="GuiHandlerData"/>
<property name="PAViews_PROJECT_SUMMARY" value="44" type="GuiHandlerData"/>
<property name="PAViews_SCHEMATIC" value="1" type="GuiHandlerData"/>
<property name="PAViews_SYSTEM" value="2" type="GuiHandlerData"/>
<property name="PlanAheadTab_REFRESH_CHANGED_MODULES" value="29" type="GuiHandlerData"/>
<property name="PlanAheadTab_REFRESH_CHANGED_MODULES" value="31" type="GuiHandlerData"/>
<property name="ProgramFpgaDialog_PROGRAM" value="26" type="GuiHandlerData"/>
<property name="ProgressDialog_BACKGROUND" value="1" type="GuiHandlerData"/>
<property name="ProjectTab_RELOAD" value="1" type="GuiHandlerData"/>
......@@ -134,7 +134,7 @@ This means code written to parse this file will need to be revisited each subseq
<property name="RSBAddModuleDialog_HIDE_INCOMPATIBLE_MODULES" value="2" type="GuiHandlerData"/>
<property name="RSBAddModuleDialog_MODULE_LIST" value="12" type="GuiHandlerData"/>
<property name="RSBAddModuleDialog_MODULE_TYPE" value="2" type="GuiHandlerData"/>
<property name="RSBApplyAutomationBar_RUN_CONNECTION_AUTOMATION" value="10" type="GuiHandlerData"/>
<property name="RSBApplyAutomationBar_RUN_CONNECTION_AUTOMATION" value="12" type="GuiHandlerData"/>
<property name="RSBBasePortTablePanel_PINS_TABLE" value="2" type="GuiHandlerData"/>
<property name="RTLOptionsPanel_SELECT_TOP_MODULE_OF_YOUR_DESIGN" value="1" type="GuiHandlerData"/>
<property name="SaveProjectUtils_SAVE" value="2" type="GuiHandlerData"/>
......@@ -145,13 +145,13 @@ This means code written to parse this file will need to be revisited each subseq
<property name="SimpleOutputProductDialog_SYNTHESIZE_DESIGN_GLOBALLY" value="3" type="GuiHandlerData"/>
<property name="SimulationObjectsPanel_SIMULATION_OBJECTS_TREE_TABLE" value="145" type="GuiHandlerData"/>
<property name="SimulationScopesPanel_SIMULATE_SCOPE_TABLE" value="83" type="GuiHandlerData"/>
<property name="SrcChooserPanel_ADD_HDL_AND_NETLIST_FILES_TO_YOUR_PROJECT" value="8" type="GuiHandlerData"/>
<property name="SrcChooserPanel_ADD_HDL_AND_NETLIST_FILES_TO_YOUR_PROJECT" value="9" type="GuiHandlerData"/>
<property name="SrcChooserPanel_CREATE_FILE" value="1" type="GuiHandlerData"/>
<property name="SrcMenu_IP_HIERARCHY" value="2" type="GuiHandlerData"/>
<property name="SrcMenu_REFRESH_HIERARCHY" value="1" type="GuiHandlerData"/>
<property name="SyntheticaGettingStartedView_RECENT_PROJECTS" value="12" type="GuiHandlerData"/>
<property name="SyntheticaGettingStartedView_RECENT_PROJECTS" value="13" type="GuiHandlerData"/>
<property name="SystemBuilderMenu_ADD_IP" value="2" type="GuiHandlerData"/>
<property name="SystemBuilderMenu_ADD_MODULE" value="29" type="GuiHandlerData"/>
<property name="SystemBuilderMenu_ADD_MODULE" value="30" type="GuiHandlerData"/>
<property name="SystemBuilderMenu_CREATE_PORT" value="6" type="GuiHandlerData"/>
<property name="SystemBuilderView_ADD_IP" value="1" type="GuiHandlerData"/>
<property name="SystemBuilderView_ORIENTATION" value="2" type="GuiHandlerData"/>
......@@ -169,6 +169,11 @@ This means code written to parse this file will need to be revisited each subseq
<property name="WaveformView_NEXT_TRANSITION" value="865" type="GuiHandlerData"/>
<property name="WaveformView_PREVIOUS_TRANSITION" value="50" type="GuiHandlerData"/>
</item>
<item name="Other">
<property name="GuiMode" value="18" type="GuiMode"/>
<property name="BatchMode" value="0" type="BatchMode"/>
<property name="TclMode" value="13" type="TclMode"/>
</item>
</section>
</application>
</document>
################################################################
# 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 <design_name> 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 <design_name> 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 <design_name> 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 <design_name> 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 <design_name> 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 <hier>."}
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 ""
......@@ -1058,36 +1058,36 @@
<xilinx:definitionSource>module_ref</xilinx:definitionSource>
<xilinx:coreRevision>1</xilinx:coreRevision>
<xilinx:configElementInfos>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ADDR_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ARUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.AWUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.BUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ADDR_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ARUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.AWUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.BUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.CLK_DOMAIN" xilinx:valueSource="default_prop" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.DATA_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.DATA_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.FREQ_HZ" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_BRESP" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_BURST" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_CACHE" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_LOCK" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_PROT" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_QOS" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_REGION" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_RRESP" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_WSTRB" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ID_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_BRESP" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_BURST" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_CACHE" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_LOCK" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_PROT" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_QOS" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_REGION" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_RRESP" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.HAS_WSTRB" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.ID_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.MAX_BURST_LENGTH" xilinx:valueSource="auto" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.NUM_READ_OUTSTANDING" xilinx:valueSource="auto" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.NUM_READ_THREADS" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.NUM_WRITE_OUTSTANDING" xilinx:valueSource="auto" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.NUM_WRITE_THREADS" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.PHASE" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.PROTOCOL" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.READ_WRITE_MODE" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.PROTOCOL" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.READ_WRITE_MODE" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.RUSER_BITS_PER_BYTE" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.RUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.RUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.SUPPORTS_NARROW_BURST" xilinx:valueSource="auto" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.WUSER_BITS_PER_BYTE" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.WUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI.WUSER_WIDTH" xilinx:valueSource="constant" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI_ACLK.ASSOCIATED_BUSIF" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI_ACLK.ASSOCIATED_RESET" xilinx:valuePermission="bd_and_user"/>
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.S00_AXI_ACLK.CLK_DOMAIN" xilinx:valueSource="default_prop" xilinx:valuePermission="bd_and_user"/>
......
......@@ -2,54 +2,10 @@
<Root MajorVersion="0" MinorVersion="39">
<CompositeFile CompositeFileTopName="risc_axi_v5_top" CanBeSetAsTop="false" CanDisplayChildGraph="true">
<Description>Composite Fileset</Description>
<Generation Name="SYNTHESIS" State="GENERATED" Timestamp="1631580249"/>
<Generation Name="IMPLEMENTATION" State="GENERATED" Timestamp="1631580249"/>
<Generation Name="SIMULATION" State="GENERATED" Timestamp="1631580249"/>
<Generation Name="HW_HANDOFF" State="GENERATED" Timestamp="1631580249"/>
<FileCollection Name="SOURCES" Type="SOURCES">
<File Name="synth\risc_axi_v5_top.v" Type="Verilog">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="SYNTHESIS"/>
<UsedIn Val="IMPLEMENTATION"/>
</File>
<File Name="sim\risc_axi_v5_top.v" Type="Verilog">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="SIMULATION"/>
</File>
<File Name="risc_axi_v5_top_ooc.xdc" Type="XDC">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="SYNTHESIS"/>
<UsedIn Val="IMPLEMENTATION"/>
<UsedIn Val="OUT_OF_CONTEXT"/>
</File>
<File Name="hw_handoff\risc_axi_v5_top.hwh" Type="HwHandoff">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="HW_HANDOFF"/>
</File>
<File Name="risc_axi_v5_top.bda">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="HW_HANDOFF"/>
</File>
<File Name="hw_handoff\risc_axi_v5_top_bd.tcl">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="HW_HANDOFF"/>
</File>
<File Name="synth\risc_axi_v5_top.hwdef">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="HW_HANDOFF"/>
</File>
<File Name="sim\risc_axi_v5_top.protoinst">
<Properties IsEditable="false" IsVisible="true" IsNetlistSimulation="false" Timestamp="0" IsTrackable="false" IsStatusTracked="false"/>
<Library Name="xil_defaultlib"/>
<UsedIn Val="SIMULATION"/>
</File>
</FileCollection>
<Generation Name="SYNTHESIS" State="RESET" Timestamp="1631657011"/>
<Generation Name="IMPLEMENTATION" State="RESET" Timestamp="1631657011"/>
<Generation Name="SIMULATION" State="RESET" Timestamp="1631657011"/>
<Generation Name="HW_HANDOFF" State="RESET" Timestamp="1631657011"/>
<FileCollection Name="SOURCES" Type="SOURCES"/>
</CompositeFile>
</Root>
################################################################################
# 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
......@@ -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"
]
}
},
......
......@@ -26,10 +26,6 @@
<data key="VT">PM</data>
</node>
<node id="n1">
<data key="VM">risc_axi_v5_top</data>
<data key="VT">BC</data>
</node>
<node id="n2">
<data key="BA">0xF0000000</data>
<data key="BP">C_BASEADDR</data>
<data key="HA">0xF000007F</data>
......@@ -47,6 +43,10 @@
<data key="TU">register</data>
<data key="VT">AC</data>
</node>
<node id="n2">
<data key="VM">risc_axi_v5_top</data>
<data key="VT">BC</data>
</node>
<node id="n3">
<data key="VH">2</data>
<data key="VM">risc_axi_v5_top</data>
......@@ -70,14 +70,14 @@
<data key="TU">register</data>
<data key="VT">AC</data>
</node>
<edge id="e0" source="n1" target="n3">
<edge id="e0" source="n2" target="n3">
</edge>
<edge id="e1" source="n3" target="n0">
</edge>
<edge id="e2" source="n4" target="n0">
<data key="EH">2</data>
</edge>
<edge id="e3" source="n2" target="n0">
<edge id="e3" source="n1" target="n0">
<data key="EH">2</data>
</edge>
</graph>
......
......@@ -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
......
......@@ -94,64 +94,65 @@
<FileSets Version="1" Minor="31">
<FileSet Name="sources_1" Type="DesignSrcs" RelSrcDir="$PSRCDIR/sources_1" RelGenDir="$PGENDIR/sources_1">
<Filter Type="Srcs"/>
<File Path="$PPRDIR/../../verilog/led_key/led_key.v">
<File Path="$PPRDIR/../../verilog/riscv_axi/div32.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PSRCDIR/sources_1/ip/ram4KB/ram4KB.xci">
<File Path="$PPRDIR/../../verilog/riscv_axi/mul32.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/riscv_axi/div32.v">
<File Path="$PPRDIR/../../verilog/riscv_axi/regfile.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/riscv_axi/mul32.v">
<File Path="$PPRDIR/../../verilog/riscv_axi/riscv_core_v5.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/riscv_axi/regfile.v">
<File Path="$PPRDIR/../../verilog/riscv_axi/riscv_core_with_axi_master.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/riscv_axi/riscv_core_v5.v">
<File Path="$PPRDIR/../../verilog/led_key/led_key.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/riscv_axi/riscv_core_with_axi_master.v">
<File Path="$PSRCDIR/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PSRCDIR/sources_1/bd/risc_axi_v5_top/risc_axi_v5_top.bd">
<File Path="$PGENDIR/sources_1/bd/risc_axi_v5_top/hdl/risc_axi_v5_top_wrapper.v">
<FileInfo>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PGENDIR/sources_1/bd/risc_axi_v5_top/hdl/risc_axi_v5_top_wrapper.v">
<File Path="$PSRCDIR/sources_1/ip/ram4KB/ram4KB.xci">
<FileInfo>
<Attr Name="AutoDisabled" Val="1"/>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
......@@ -195,6 +196,14 @@
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<File Path="$PPRDIR/../../verilog/axi/axi1to2.v">
<FileInfo>
<Attr Name="AutoDisabled" Val="1"/>
<Attr Name="UsedIn" Val="synthesis"/>
<Attr Name="UsedIn" Val="implementation"/>
<Attr Name="UsedIn" Val="simulation"/>
</FileInfo>
</File>
<Config>
<Option Name="DesignMode" Val="RTL"/>
<Option Name="TopModule" Val="risc_axi_v5_top_wrapper"/>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册