From 42f76f433c596e5127ea62b9679975f527c3ca61 Mon Sep 17 00:00:00 2001 From: Mike Thompson Date: Tue, 28 May 2024 18:23:18 +0000 Subject: [PATCH] Remove the Ibex example system (#272) --- doc/02_user/examples.rst | 24 +- examples/fpga/artya7/README.md | 95 --- examples/fpga/artya7/data/pins_artya7.xdc | 217 ------- examples/fpga/artya7/rtl/top_artya7.sv | 145 ----- examples/fpga/artya7/top_artya7.core | 64 -- .../util/vivado_hook_write_bitstream_pre.tcl | 24 - .../fpga/artya7/util/vivado_setup_hooks.tcl | 14 - .../obi2ahb/OBI2AHBM_Adapter Design Spec.pdf | Bin 462605 -> 0 bytes examples/obi2ahb/obi2ahbm_adapter.sv | 283 --------- examples/simple_system/README.md | 146 ----- examples/simple_system/cve2_simple_system.cc | 108 ---- .../simple_system/cve2_simple_system.core | 142 ----- examples/simple_system/cve2_simple_system.h | 26 - .../cve2_simple_system_core.core | 35 -- .../simple_system/cve2_simple_system_main.cc | 13 - .../simple_system/lint/verible_waiver.vbw | 1 - .../simple_system/lint/verilator_waiver.vlt | 40 -- .../simple_system/rtl/cve2_simple_system.sv | 295 --------- examples/simple_system/spike-simple-system.sh | 108 ---- examples/sw/.gitignore | 6 - examples/sw/benchmarks/README.md | 117 ---- examples/sw/benchmarks/coremark/Makefile | 19 - .../sw/benchmarks/coremark/cve2/core_portme.c | 189 ------ .../sw/benchmarks/coremark/cve2/core_portme.h | 201 ------ .../benchmarks/coremark/cve2/core_portme.mak | 100 --- .../sw/benchmarks/coremark/cve2/ee_printf.c | 579 ------------------ examples/sw/led/Makefile | 60 -- examples/sw/led/crt0.S | 89 --- examples/sw/led/led.c | 47 -- examples/sw/led/link.ld | 105 ---- examples/sw/simple_system/common/common.mk | 75 --- examples/sw/simple_system/common/crt0.S | 102 --- examples/sw/simple_system/common/link.ld | 90 --- .../common/simple_system_common.c | 197 ------ .../common/simple_system_common.h | 88 --- .../simple_system/common/simple_system_regs.h | 18 - examples/sw/simple_system/hello_test/Makefile | 14 - .../sw/simple_system/hello_test/hello_test.c | 41 -- 38 files changed, 14 insertions(+), 3903 deletions(-) delete mode 100644 examples/fpga/artya7/README.md delete mode 100644 examples/fpga/artya7/data/pins_artya7.xdc delete mode 100644 examples/fpga/artya7/rtl/top_artya7.sv delete mode 100644 examples/fpga/artya7/top_artya7.core delete mode 100644 examples/fpga/artya7/util/vivado_hook_write_bitstream_pre.tcl delete mode 100644 examples/fpga/artya7/util/vivado_setup_hooks.tcl delete mode 100755 examples/obi2ahb/OBI2AHBM_Adapter Design Spec.pdf delete mode 100755 examples/obi2ahb/obi2ahbm_adapter.sv delete mode 100644 examples/simple_system/README.md delete mode 100644 examples/simple_system/cve2_simple_system.cc delete mode 100644 examples/simple_system/cve2_simple_system.core delete mode 100644 examples/simple_system/cve2_simple_system.h delete mode 100644 examples/simple_system/cve2_simple_system_core.core delete mode 100644 examples/simple_system/cve2_simple_system_main.cc delete mode 100644 examples/simple_system/lint/verible_waiver.vbw delete mode 100644 examples/simple_system/lint/verilator_waiver.vlt delete mode 100644 examples/simple_system/rtl/cve2_simple_system.sv delete mode 100755 examples/simple_system/spike-simple-system.sh delete mode 100644 examples/sw/.gitignore delete mode 100644 examples/sw/benchmarks/README.md delete mode 100644 examples/sw/benchmarks/coremark/Makefile delete mode 100644 examples/sw/benchmarks/coremark/cve2/core_portme.c delete mode 100644 examples/sw/benchmarks/coremark/cve2/core_portme.h delete mode 100755 examples/sw/benchmarks/coremark/cve2/core_portme.mak delete mode 100644 examples/sw/benchmarks/coremark/cve2/ee_printf.c delete mode 100644 examples/sw/led/Makefile delete mode 100644 examples/sw/led/crt0.S delete mode 100644 examples/sw/led/led.c delete mode 100644 examples/sw/led/link.ld delete mode 100644 examples/sw/simple_system/common/common.mk delete mode 100644 examples/sw/simple_system/common/crt0.S delete mode 100644 examples/sw/simple_system/common/link.ld delete mode 100644 examples/sw/simple_system/common/simple_system_common.c delete mode 100644 examples/sw/simple_system/common/simple_system_common.h delete mode 100644 examples/sw/simple_system/common/simple_system_regs.h delete mode 100644 examples/sw/simple_system/hello_test/Makefile delete mode 100644 examples/sw/simple_system/hello_test/hello_test.c diff --git a/doc/02_user/examples.rst b/doc/02_user/examples.rst index ef9007f2a8..98ad60527c 100644 --- a/doc/02_user/examples.rst +++ b/doc/02_user/examples.rst @@ -3,16 +3,20 @@ Examples ======== -To make use of Ibex it has to be integrated as described in :ref:`core-integration`. +To make use of CVE2 please review the :ref:`core-integration` section of this document. +The CVE2 is simple enough to integrate into your own platform. +To get you started, we suggest a couple of very useful open-source platforms. -FPGA ----- +Ibex Minimal System +------------------- -A minimal example for the `Arty A7 `_ FPGA Development board is provided. -In this example Ibex is directly linked to a SRAM memory instance. -Four LEDs from the board are connected to the data bus and are updated each time when a word is written. -The memory is separated into a instruction and data section. -The instructions memory is initialized at synthesis time by reading the output from the software build. -The software writes to the data section the complementary lower for bits of a word every second resulting in blinking LEDs. +A minimal example for the `Arty A7 `_ FPGA Development board developed for Ibex should be portable to the CVE2 without significant effort. +If you are interested in using the Ibex minimal example, it can be found `here `_. + +X-HEEP +------ + +The CV32E20 (a specific configuration of the CVE2) has been integrated into the `X-HEEP `_ (eXtendable Heterogeneous Energy-Efficient Platform). +X-HEEP is a RISC-V microcontroller implemented in SystemVerilog that can be configured to integrate a number of CORE-V processors. +X-HEEP provides a simple customizable MCU to get you up and running quickly. -Find the description of how to build and program the Arty board in ``examples/fpga/artya7/README.md``. diff --git a/examples/fpga/artya7/README.md b/examples/fpga/artya7/README.md deleted file mode 100644 index 0c0d65acc8..0000000000 --- a/examples/fpga/artya7/README.md +++ /dev/null @@ -1,95 +0,0 @@ -# Ibex RISC-V Core SoC Example - -Please see [examples](https://ibex-core.readthedocs.io/en/latest/02_user/examples.html "Ibex User Manual") for a description of this example. - -## Requirements - -### Tools - - - RV32 compiler - - srecord - - `fusesoc` and its dependencies - - Xilinx Vivado - -### Hardware - - - Either a Digilent Arty A7-35 oder A7-100 board - -## Build - -The easiest way to build and execute this example is to call the following make goals from the root directory. - -Use the following for the Arty A7-35 - -``` -make build-arty-35 program-arty -``` - -and for the Arty A7-100 - -``` -make build-arty-100 program-arty -``` - -### Software - -First the software must be built. Go into `examples/sw/led` and call: - -``` -make CC=/path/to/RISC-V-compiler -``` - -The setting of `CC` is only required if `riscv32-unknown-elf-gcc` is not available through the `PATH` environment variable. -The path to the RV32 compiler `/path/to/RISC-V-compiler` depends on the environment. -For example, it can be for example `/opt/riscv/bin/riscv-none-embed-gcc` if the whole path is required or simply the name of the executable if it is available through the `PATH` environment variable. - -This should produce a `led.vmem` file which is used in the synthesis to update the SRAM storage. - - - -### Hardware - -Run either of the following commands at the top level to build the respective hardware. -Both variants of the Arty A7 are supported and can be selected via the `--parts` parameter. - -``` -fusesoc --cores-root=. run --target=synth --setup --build lowrisc:cve2:top_artya7 --part xc7a35ticsg324-1L -``` - -``` -fusesoc --cores-root=. run --target=synth --setup --build lowrisc:cve2:top_artya7 --part xc7a100tcsg324-1 -``` - -This will create a directory `build` which contains the output files, including -the bitstream. - - -Initial memory parameter `SRAMInitFile` can be given to FuseSoc to specify which .vmem file to load the design with. -Example use case includes loading `coremark.vmem` which can be used for performance/power analysis. - -Please see [CoreMark README](https://github.com/lowRISC/ibex/blob/master/examples/sw/benchmarks/README.md) for compiling CoreMark. - -``` -fusesoc --cores-root=. run --target=synth --setup --build lowrisc:cve2:top_artya7 --part xc7a100tcsg324-1 --SRAMInitFile=examples/sw/benchmarks/coremark/coremark.vmem -``` - -#### Power Analysis Using Vivado - -Setting `FPGAPowerAnalysis` parameter to 1 allows user to run a power analysis using Vivado. -It uses a post-implementation functional simulation on Vivado to log switching activity. -This switching activity is then used to generate a detailed power report. -In order to use it with CoreMark run the command below - -``` -fusesoc --cores-root=. run --target=synth --setup --build lowrisc:cve2:top_artya7 --part xc7a100tcsg324-1 --SRAMInitFile=examples/sw/benchmarks/coremark/coremark.vmem --FPGAPowerAnalysis=1 -``` - -## Program - -After the board is connected to the computer it can be programmed with: - -``` -fusesoc --cores-root=. run --target=synth --run lowrisc:cve2:top_artya7 -``` - -LED1/LED3 and LED0/LED2 should alternately be on after the FPGA programming is finished. diff --git a/examples/fpga/artya7/data/pins_artya7.xdc b/examples/fpga/artya7/data/pins_artya7.xdc deleted file mode 100644 index a43b31bc9e..0000000000 --- a/examples/fpga/artya7/data/pins_artya7.xdc +++ /dev/null @@ -1,217 +0,0 @@ -## Based on https://github.com/Digilent/digilent-xdc/blob/master/Arty-A7-100-Master.xdc -## This file is a general .xdc for the Arty A7-100 Rev. D -## To use it in a project: -## - uncomment the lines corresponding to used pins -## - rename the used ports (in each line, after get_ports) according to the top level signal names in the project - -## Clock signal -set_property -dict { PACKAGE_PIN E3 IOSTANDARD LVCMOS33 } [get_ports { IO_CLK }]; #IO_L12P_T1_MRCC_35 Sch=gclk[100] -create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports { IO_CLK }]; - -## Switches -#set_property -dict { PACKAGE_PIN A8 IOSTANDARD LVCMOS33 } [get_ports { sw[0] }]; #IO_L12N_T1_MRCC_16 Sch=sw[0] -#set_property -dict { PACKAGE_PIN C11 IOSTANDARD LVCMOS33 } [get_ports { sw[1] }]; #IO_L13P_T2_MRCC_16 Sch=sw[1] -#set_property -dict { PACKAGE_PIN C10 IOSTANDARD LVCMOS33 } [get_ports { sw[2] }]; #IO_L13N_T2_MRCC_16 Sch=sw[2] -#set_property -dict { PACKAGE_PIN A10 IOSTANDARD LVCMOS33 } [get_ports { sw[3] }]; #IO_L14P_T2_SRCC_16 Sch=sw[3] - -## RGB LEDs -#set_property -dict { PACKAGE_PIN E1 IOSTANDARD LVCMOS33 } [get_ports { led0_b }]; #IO_L18N_T2_35 Sch=led0_b -#set_property -dict { PACKAGE_PIN F6 IOSTANDARD LVCMOS33 } [get_ports { led0_g }]; #IO_L19N_T3_VREF_35 Sch=led0_g -#set_property -dict { PACKAGE_PIN G6 IOSTANDARD LVCMOS33 } [get_ports { led0_r }]; #IO_L19P_T3_35 Sch=led0_r -#set_property -dict { PACKAGE_PIN G4 IOSTANDARD LVCMOS33 } [get_ports { led1_b }]; #IO_L20P_T3_35 Sch=led1_b -#set_property -dict { PACKAGE_PIN J4 IOSTANDARD LVCMOS33 } [get_ports { led1_g }]; #IO_L21P_T3_DQS_35 Sch=led1_g -#set_property -dict { PACKAGE_PIN G3 IOSTANDARD LVCMOS33 } [get_ports { led1_r }]; #IO_L20N_T3_35 Sch=led1_r -#set_property -dict { PACKAGE_PIN H4 IOSTANDARD LVCMOS33 } [get_ports { led2_b }]; #IO_L21N_T3_DQS_35 Sch=led2_b -#set_property -dict { PACKAGE_PIN J2 IOSTANDARD LVCMOS33 } [get_ports { led2_g }]; #IO_L22N_T3_35 Sch=led2_g -#set_property -dict { PACKAGE_PIN J3 IOSTANDARD LVCMOS33 } [get_ports { led2_r }]; #IO_L22P_T3_35 Sch=led2_r -#set_property -dict { PACKAGE_PIN K2 IOSTANDARD LVCMOS33 } [get_ports { led3_b }]; #IO_L23P_T3_35 Sch=led3_b -#set_property -dict { PACKAGE_PIN H6 IOSTANDARD LVCMOS33 } [get_ports { led3_g }]; #IO_L24P_T3_35 Sch=led3_g -#set_property -dict { PACKAGE_PIN K1 IOSTANDARD LVCMOS33 } [get_ports { led3_r }]; #IO_L23N_T3_35 Sch=led3_r - -## LEDs -set_property -dict { PACKAGE_PIN H5 IOSTANDARD LVCMOS33 } [get_ports { LED[0] }]; #IO_L24N_T3_35 Sch=led[4] -set_property -dict { PACKAGE_PIN J5 IOSTANDARD LVCMOS33 } [get_ports { LED[1] }]; #IO_25_35 Sch=led[5] -set_property -dict { PACKAGE_PIN T9 IOSTANDARD LVCMOS33 } [get_ports { LED[2] }]; #IO_L24P_T3_A01_D17_14 Sch=led[6] -set_property -dict { PACKAGE_PIN T10 IOSTANDARD LVCMOS33 } [get_ports { LED[3] }]; #IO_L24N_T3_A00_D16_14 Sch=led[7] - -## Buttons -#set_property -dict { PACKAGE_PIN D9 IOSTANDARD LVCMOS33 } [get_ports { btn[0] }]; #IO_L6N_T0_VREF_16 Sch=btn[0] -#set_property -dict { PACKAGE_PIN C9 IOSTANDARD LVCMOS33 } [get_ports { btn[1] }]; #IO_L11P_T1_SRCC_16 Sch=btn[1] -#set_property -dict { PACKAGE_PIN B9 IOSTANDARD LVCMOS33 } [get_ports { btn[2] }]; #IO_L11N_T1_SRCC_16 Sch=btn[2] -#set_property -dict { PACKAGE_PIN B8 IOSTANDARD LVCMOS33 } [get_ports { btn[3] }]; #IO_L12P_T1_MRCC_16 Sch=btn[3] - -## Pmod Header JA -#set_property -dict { PACKAGE_PIN G13 IOSTANDARD LVCMOS33 } [get_ports { ja[0] }]; #IO_0_15 Sch=ja[1] -#set_property -dict { PACKAGE_PIN B11 IOSTANDARD LVCMOS33 } [get_ports { ja[1] }]; #IO_L4P_T0_15 Sch=ja[2] -#set_property -dict { PACKAGE_PIN A11 IOSTANDARD LVCMOS33 } [get_ports { ja[2] }]; #IO_L4N_T0_15 Sch=ja[3] -#set_property -dict { PACKAGE_PIN D12 IOSTANDARD LVCMOS33 } [get_ports { ja[3] }]; #IO_L6P_T0_15 Sch=ja[4] -#set_property -dict { PACKAGE_PIN D13 IOSTANDARD LVCMOS33 } [get_ports { ja[4] }]; #IO_L6N_T0_VREF_15 Sch=ja[7] -#set_property -dict { PACKAGE_PIN B18 IOSTANDARD LVCMOS33 } [get_ports { ja[5] }]; #IO_L10P_T1_AD11P_15 Sch=ja[8] -#set_property -dict { PACKAGE_PIN A18 IOSTANDARD LVCMOS33 } [get_ports { ja[6] }]; #IO_L10N_T1_AD11N_15 Sch=ja[9] -#set_property -dict { PACKAGE_PIN K16 IOSTANDARD LVCMOS33 } [get_ports { ja[7] }]; #IO_25_15 Sch=ja[10] - -## Pmod Header JB -#set_property -dict { PACKAGE_PIN E15 IOSTANDARD LVCMOS33 } [get_ports { jb[0] }]; #IO_L11P_T1_SRCC_15 Sch=jb_p[1] -#set_property -dict { PACKAGE_PIN E16 IOSTANDARD LVCMOS33 } [get_ports { jb[1] }]; #IO_L11N_T1_SRCC_15 Sch=jb_n[1] -#set_property -dict { PACKAGE_PIN D15 IOSTANDARD LVCMOS33 } [get_ports { jb[2] }]; #IO_L12P_T1_MRCC_15 Sch=jb_p[2] -#set_property -dict { PACKAGE_PIN C15 IOSTANDARD LVCMOS33 } [get_ports { jb[3] }]; #IO_L12N_T1_MRCC_15 Sch=jb_n[2] -#set_property -dict { PACKAGE_PIN J17 IOSTANDARD LVCMOS33 } [get_ports { jb[4] }]; #IO_L23P_T3_FOE_B_15 Sch=jb_p[3] -#set_property -dict { PACKAGE_PIN J18 IOSTANDARD LVCMOS33 } [get_ports { jb[5] }]; #IO_L23N_T3_FWE_B_15 Sch=jb_n[3] -#set_property -dict { PACKAGE_PIN K15 IOSTANDARD LVCMOS33 } [get_ports { jb[6] }]; #IO_L24P_T3_RS1_15 Sch=jb_p[4] -#set_property -dict { PACKAGE_PIN J15 IOSTANDARD LVCMOS33 } [get_ports { jb[7] }]; #IO_L24N_T3_RS0_15 Sch=jb_n[4] - -## Pmod Header JC -#set_property -dict { PACKAGE_PIN U12 IOSTANDARD LVCMOS33 } [get_ports { jc[0] }]; #IO_L20P_T3_A08_D24_14 Sch=jc_p[1] -#set_property -dict { PACKAGE_PIN V12 IOSTANDARD LVCMOS33 } [get_ports { jc[1] }]; #IO_L20N_T3_A07_D23_14 Sch=jc_n[1] -#set_property -dict { PACKAGE_PIN V10 IOSTANDARD LVCMOS33 } [get_ports { jc[2] }]; #IO_L21P_T3_DQS_14 Sch=jc_p[2] -#set_property -dict { PACKAGE_PIN V11 IOSTANDARD LVCMOS33 } [get_ports { jc[3] }]; #IO_L21N_T3_DQS_A06_D22_14 Sch=jc_n[2] -#set_property -dict { PACKAGE_PIN U14 IOSTANDARD LVCMOS33 } [get_ports { jc[4] }]; #IO_L22P_T3_A05_D21_14 Sch=jc_p[3] -#set_property -dict { PACKAGE_PIN V14 IOSTANDARD LVCMOS33 } [get_ports { jc[5] }]; #IO_L22N_T3_A04_D20_14 Sch=jc_n[3] -#set_property -dict { PACKAGE_PIN T13 IOSTANDARD LVCMOS33 } [get_ports { jc[6] }]; #IO_L23P_T3_A03_D19_14 Sch=jc_p[4] -#set_property -dict { PACKAGE_PIN U13 IOSTANDARD LVCMOS33 } [get_ports { jc[7] }]; #IO_L23N_T3_A02_D18_14 Sch=jc_n[4] - -## Pmod Header JD -#set_property -dict { PACKAGE_PIN D4 IOSTANDARD LVCMOS33 } [get_ports { jd[0] }]; #IO_L11N_T1_SRCC_35 Sch=jd[1] -#set_property -dict { PACKAGE_PIN D3 IOSTANDARD LVCMOS33 } [get_ports { jd[1] }]; #IO_L12N_T1_MRCC_35 Sch=jd[2] -#set_property -dict { PACKAGE_PIN F4 IOSTANDARD LVCMOS33 } [get_ports { jd[2] }]; #IO_L13P_T2_MRCC_35 Sch=jd[3] -#set_property -dict { PACKAGE_PIN F3 IOSTANDARD LVCMOS33 } [get_ports { jd[3] }]; #IO_L13N_T2_MRCC_35 Sch=jd[4] -#set_property -dict { PACKAGE_PIN E2 IOSTANDARD LVCMOS33 } [get_ports { jd[4] }]; #IO_L14P_T2_SRCC_35 Sch=jd[7] -#set_property -dict { PACKAGE_PIN D2 IOSTANDARD LVCMOS33 } [get_ports { jd[5] }]; #IO_L14N_T2_SRCC_35 Sch=jd[8] -#set_property -dict { PACKAGE_PIN H2 IOSTANDARD LVCMOS33 } [get_ports { jd[6] }]; #IO_L15P_T2_DQS_35 Sch=jd[9] -#set_property -dict { PACKAGE_PIN G2 IOSTANDARD LVCMOS33 } [get_ports { jd[7] }]; #IO_L15N_T2_DQS_35 Sch=jd[10] - -## USB-UART Interface -#set_property -dict { PACKAGE_PIN D10 IOSTANDARD LVCMOS33 } [get_ports { uart_rxd_out }]; #IO_L19N_T3_VREF_16 Sch=uart_rxd_out -#set_property -dict { PACKAGE_PIN A9 IOSTANDARD LVCMOS33 } [get_ports { uart_txd_in }]; #IO_L14N_T2_SRCC_16 Sch=uart_txd_in - -## ChipKit Outer Digital Header -#set_property -dict { PACKAGE_PIN V15 IOSTANDARD LVCMOS33 } [get_ports { ck_io0 }]; #IO_L16P_T2_CSI_B_14 Sch=ck_io[0] -#set_property -dict { PACKAGE_PIN U16 IOSTANDARD LVCMOS33 } [get_ports { ck_io1 }]; #IO_L18P_T2_A12_D28_14 Sch=ck_io[1] -#set_property -dict { PACKAGE_PIN P14 IOSTANDARD LVCMOS33 } [get_ports { ck_io2 }]; #IO_L8N_T1_D12_14 Sch=ck_io[2] -#set_property -dict { PACKAGE_PIN T11 IOSTANDARD LVCMOS33 } [get_ports { ck_io3 }]; #IO_L19P_T3_A10_D26_14 Sch=ck_io[3] -#set_property -dict { PACKAGE_PIN R12 IOSTANDARD LVCMOS33 } [get_ports { ck_io4 }]; #IO_L5P_T0_D06_14 Sch=ck_io[4] -#set_property -dict { PACKAGE_PIN T14 IOSTANDARD LVCMOS33 } [get_ports { ck_io5 }]; #IO_L14P_T2_SRCC_14 Sch=ck_io[5] -#set_property -dict { PACKAGE_PIN T15 IOSTANDARD LVCMOS33 } [get_ports { ck_io6 }]; #IO_L14N_T2_SRCC_14 Sch=ck_io[6] -#set_property -dict { PACKAGE_PIN T16 IOSTANDARD LVCMOS33 } [get_ports { ck_io7 }]; #IO_L15N_T2_DQS_DOUT_CSO_B_14 Sch=ck_io[7] -#set_property -dict { PACKAGE_PIN N15 IOSTANDARD LVCMOS33 } [get_ports { ck_io8 }]; #IO_L11P_T1_SRCC_14 Sch=ck_io[8] -#set_property -dict { PACKAGE_PIN M16 IOSTANDARD LVCMOS33 } [get_ports { ck_io9 }]; #IO_L10P_T1_D14_14 Sch=ck_io[9] -#set_property -dict { PACKAGE_PIN V17 IOSTANDARD LVCMOS33 } [get_ports { ck_io10 }]; #IO_L18N_T2_A11_D27_14 Sch=ck_io[10] -#set_property -dict { PACKAGE_PIN U18 IOSTANDARD LVCMOS33 } [get_ports { ck_io11 }]; #IO_L17N_T2_A13_D29_14 Sch=ck_io[11] -#set_property -dict { PACKAGE_PIN R17 IOSTANDARD LVCMOS33 } [get_ports { ck_io12 }]; #IO_L12N_T1_MRCC_14 Sch=ck_io[12] -#set_property -dict { PACKAGE_PIN P17 IOSTANDARD LVCMOS33 } [get_ports { ck_io13 }]; #IO_L12P_T1_MRCC_14 Sch=ck_io[13] - -## ChipKit Inner Digital Header -#set_property -dict { PACKAGE_PIN U11 IOSTANDARD LVCMOS33 } [get_ports { ck_io26 }]; #IO_L19N_T3_A09_D25_VREF_14 Sch=ck_io[26] -#set_property -dict { PACKAGE_PIN V16 IOSTANDARD LVCMOS33 } [get_ports { ck_io27 }]; #IO_L16N_T2_A15_D31_14 Sch=ck_io[27] -#set_property -dict { PACKAGE_PIN M13 IOSTANDARD LVCMOS33 } [get_ports { ck_io28 }]; #IO_L6N_T0_D08_VREF_14 Sch=ck_io[28] -#set_property -dict { PACKAGE_PIN R10 IOSTANDARD LVCMOS33 } [get_ports { ck_io29 }]; #IO_25_14 Sch=ck_io[29] -#set_property -dict { PACKAGE_PIN R11 IOSTANDARD LVCMOS33 } [get_ports { ck_io30 }]; #IO_0_14 Sch=ck_io[30] -#set_property -dict { PACKAGE_PIN R13 IOSTANDARD LVCMOS33 } [get_ports { ck_io31 }]; #IO_L5N_T0_D07_14 Sch=ck_io[31] -#set_property -dict { PACKAGE_PIN R15 IOSTANDARD LVCMOS33 } [get_ports { ck_io32 }]; #IO_L13N_T2_MRCC_14 Sch=ck_io[32] -#set_property -dict { PACKAGE_PIN P15 IOSTANDARD LVCMOS33 } [get_ports { ck_io33 }]; #IO_L13P_T2_MRCC_14 Sch=ck_io[33] -#set_property -dict { PACKAGE_PIN R16 IOSTANDARD LVCMOS33 } [get_ports { ck_io34 }]; #IO_L15P_T2_DQS_RDWR_B_14 Sch=ck_io[34] -#set_property -dict { PACKAGE_PIN N16 IOSTANDARD LVCMOS33 } [get_ports { ck_io35 }]; #IO_L11N_T1_SRCC_14 Sch=ck_io[35] -#set_property -dict { PACKAGE_PIN N14 IOSTANDARD LVCMOS33 } [get_ports { ck_io36 }]; #IO_L8P_T1_D11_14 Sch=ck_io[36] -#set_property -dict { PACKAGE_PIN U17 IOSTANDARD LVCMOS33 } [get_ports { ck_io37 }]; #IO_L17P_T2_A14_D30_14 Sch=ck_io[37] -#set_property -dict { PACKAGE_PIN T18 IOSTANDARD LVCMOS33 } [get_ports { ck_io38 }]; #IO_L7N_T1_D10_14 Sch=ck_io[38] -#set_property -dict { PACKAGE_PIN R18 IOSTANDARD LVCMOS33 } [get_ports { ck_io39 }]; #IO_L7P_T1_D09_14 Sch=ck_io[39] -#set_property -dict { PACKAGE_PIN P18 IOSTANDARD LVCMOS33 } [get_ports { ck_io40 }]; #IO_L9N_T1_DQS_D13_14 Sch=ck_io[40] -#set_property -dict { PACKAGE_PIN N17 IOSTANDARD LVCMOS33 } [get_ports { ck_io41 }]; #IO_L9P_T1_DQS_14 Sch=ck_io[41] - -## ChipKit Outer Analog Header - as Single-Ended Analog Inputs -## NOTE: These ports can be used as single-ended analog inputs with voltages from 0-3.3V (ChipKit analog pins A0-A5) or as digital I/O. -## WARNING: Do not use both sets of constraints at the same time! -## NOTE: The following constraints should be used with the XADC IP core when using these ports as analog inputs. -#set_property -dict { PACKAGE_PIN C5 IOSTANDARD LVCMOS33 } [get_ports { vaux4_n }]; #IO_L1N_T0_AD4N_35 Sch=ck_an_n[0] ChipKit pin=A0 -#set_property -dict { PACKAGE_PIN C6 IOSTANDARD LVCMOS33 } [get_ports { vaux4_p }]; #IO_L1P_T0_AD4P_35 Sch=ck_an_p[0] ChipKit pin=A0 -#set_property -dict { PACKAGE_PIN A5 IOSTANDARD LVCMOS33 } [get_ports { vaux5_n }]; #IO_L3N_T0_DQS_AD5N_35 Sch=ck_an_n[1] ChipKit pin=A1 -#set_property -dict { PACKAGE_PIN A6 IOSTANDARD LVCMOS33 } [get_ports { vaux5_p }]; #IO_L3P_T0_DQS_AD5P_35 Sch=ck_an_p[1] ChipKit pin=A1 -#set_property -dict { PACKAGE_PIN B4 IOSTANDARD LVCMOS33 } [get_ports { vaux6_n }]; #IO_L7N_T1_AD6N_35 Sch=ck_an_n[2] ChipKit pin=A2 -#set_property -dict { PACKAGE_PIN C4 IOSTANDARD LVCMOS33 } [get_ports { vaux6_p }]; #IO_L7P_T1_AD6P_35 Sch=ck_an_p[2] ChipKit pin=A2 -#set_property -dict { PACKAGE_PIN A1 IOSTANDARD LVCMOS33 } [get_ports { vaux7_n }]; #IO_L9N_T1_DQS_AD7N_35 Sch=ck_an_n[3] ChipKit pin=A3 -#set_property -dict { PACKAGE_PIN B1 IOSTANDARD LVCMOS33 } [get_ports { vaux7_p }]; #IO_L9P_T1_DQS_AD7P_35 Sch=ck_an_p[3] ChipKit pin=A3 -#set_property -dict { PACKAGE_PIN B2 IOSTANDARD LVCMOS33 } [get_ports { vaux15_n }]; #IO_L10N_T1_AD15N_35 Sch=ck_an_n[4] ChipKit pin=A4 -#set_property -dict { PACKAGE_PIN B3 IOSTANDARD LVCMOS33 } [get_ports { vaux15_p }]; #IO_L10P_T1_AD15P_35 Sch=ck_an_p[4] ChipKit pin=A4 -#set_property -dict { PACKAGE_PIN C14 IOSTANDARD LVCMOS33 } [get_ports { vaux0_n }]; #IO_L1N_T0_AD0N_15 Sch=ck_an_n[5] ChipKit pin=A5 -#set_property -dict { PACKAGE_PIN D14 IOSTANDARD LVCMOS33 } [get_ports { vaux0_p }]; #IO_L1P_T0_AD0P_15 Sch=ck_an_p[5] ChipKit pin=A5 -## ChipKit Outer Analog Header - as Digital I/O -## NOTE: The following constraints should be used when using these ports as digital I/O. -#set_property -dict { PACKAGE_PIN F5 IOSTANDARD LVCMOS33 } [get_ports { ck_a0 }]; #IO_0_35 Sch=ck_a[0] -#set_property -dict { PACKAGE_PIN D8 IOSTANDARD LVCMOS33 } [get_ports { ck_a1 }]; #IO_L4P_T0_35 Sch=ck_a[1] -#set_property -dict { PACKAGE_PIN C7 IOSTANDARD LVCMOS33 } [get_ports { ck_a2 }]; #IO_L4N_T0_35 Sch=ck_a[2] -#set_property -dict { PACKAGE_PIN E7 IOSTANDARD LVCMOS33 } [get_ports { ck_a3 }]; #IO_L6P_T0_35 Sch=ck_a[3] -#set_property -dict { PACKAGE_PIN D7 IOSTANDARD LVCMOS33 } [get_ports { ck_a4 }]; #IO_L6N_T0_VREF_35 Sch=ck_a[4] -#set_property -dict { PACKAGE_PIN D5 IOSTANDARD LVCMOS33 } [get_ports { ck_a5 }]; #IO_L11P_T1_SRCC_35 Sch=ck_a[5] - -## ChipKit Inner Analog Header - as Differential Analog Inputs -## NOTE: These ports can be used as differential analog inputs with voltages from 0-1.0V (ChipKit analog pins A6-A11) or as digital I/O. -## WARNING: Do not use both sets of constraints at the same time! -## NOTE: The following constraints should be used with the XADC core when using these ports as analog inputs. -#set_property -dict { PACKAGE_PIN B7 IOSTANDARD LVCMOS33 } [get_ports { vaux12_p }]; #IO_L2P_T0_AD12P_35 Sch=ad_p[12] ChipKit pin=A6 -#set_property -dict { PACKAGE_PIN B6 IOSTANDARD LVCMOS33 } [get_ports { vaux12_n }]; #IO_L2N_T0_AD12N_35 Sch=ad_n[12] ChipKit pin=A7 -#set_property -dict { PACKAGE_PIN E6 IOSTANDARD LVCMOS33 } [get_ports { vaux13_p }]; #IO_L5P_T0_AD13P_35 Sch=ad_p[13] ChipKit pin=A8 -#set_property -dict { PACKAGE_PIN E5 IOSTANDARD LVCMOS33 } [get_ports { vaux13_n }]; #IO_L5N_T0_AD13N_35 Sch=ad_n[13] ChipKit pin=A9 -#set_property -dict { PACKAGE_PIN A4 IOSTANDARD LVCMOS33 } [get_ports { vaux14_p }]; #IO_L8P_T1_AD14P_35 Sch=ad_p[14] ChipKit pin=A10 -#set_property -dict { PACKAGE_PIN A3 IOSTANDARD LVCMOS33 } [get_ports { vaux14_n }]; #IO_L8N_T1_AD14N_35 Sch=ad_n[14] ChipKit pin=A11 -## ChipKit Inner Analog Header - as Digital I/O -## NOTE: The following constraints should be used when using the inner analog header ports as digital I/O. -#set_property -dict { PACKAGE_PIN B7 IOSTANDARD LVCMOS33 } [get_ports { ck_a6 }]; #IO_L2P_T0_AD12P_35 Sch=ad_p[12] -#set_property -dict { PACKAGE_PIN B6 IOSTANDARD LVCMOS33 } [get_ports { ck_a7 }]; #IO_L2N_T0_AD12N_35 Sch=ad_n[12] -#set_property -dict { PACKAGE_PIN E6 IOSTANDARD LVCMOS33 } [get_ports { ck_a8 }]; #IO_L5P_T0_AD13P_35 Sch=ad_p[13] -#set_property -dict { PACKAGE_PIN E5 IOSTANDARD LVCMOS33 } [get_ports { ck_a9 }]; #IO_L5N_T0_AD13N_35 Sch=ad_n[13] -#set_property -dict { PACKAGE_PIN A4 IOSTANDARD LVCMOS33 } [get_ports { ck_a10 }]; #IO_L8P_T1_AD14P_35 Sch=ad_p[14] -#set_property -dict { PACKAGE_PIN A3 IOSTANDARD LVCMOS33 } [get_ports { ck_a11 }]; #IO_L8N_T1_AD14N_35 Sch=ad_n[14] - -## ChipKit SPI -#set_property -dict { PACKAGE_PIN G1 IOSTANDARD LVCMOS33 } [get_ports { ck_miso }]; #IO_L17N_T2_35 Sch=ck_miso -#set_property -dict { PACKAGE_PIN H1 IOSTANDARD LVCMOS33 } [get_ports { ck_mosi }]; #IO_L17P_T2_35 Sch=ck_mosi -#set_property -dict { PACKAGE_PIN F1 IOSTANDARD LVCMOS33 } [get_ports { ck_sck }]; #IO_L18P_T2_35 Sch=ck_sck -#set_property -dict { PACKAGE_PIN C1 IOSTANDARD LVCMOS33 } [get_ports { ck_ss }]; #IO_L16N_T2_35 Sch=ck_ss - -## ChipKit I2C -#set_property -dict { PACKAGE_PIN L18 IOSTANDARD LVCMOS33 } [get_ports { ck_scl }]; #IO_L4P_T0_D04_14 Sch=ck_scl -#set_property -dict { PACKAGE_PIN M18 IOSTANDARD LVCMOS33 } [get_ports { ck_sda }]; #IO_L4N_T0_D05_14 Sch=ck_sda -#set_property -dict { PACKAGE_PIN A14 IOSTANDARD LVCMOS33 } [get_ports { scl_pup }]; #IO_L9N_T1_DQS_AD3N_15 Sch=scl_pup -#set_property -dict { PACKAGE_PIN A13 IOSTANDARD LVCMOS33 } [get_ports { sda_pup }]; #IO_L9P_T1_DQS_AD3P_15 Sch=sda_pup - -## Misc. ChipKit Ports -#set_property -dict { PACKAGE_PIN M17 IOSTANDARD LVCMOS33 } [get_ports { ck_ioa }]; #IO_L10N_T1_D15_14 Sch=ck_ioa -set_property -dict { PACKAGE_PIN C2 IOSTANDARD LVCMOS33 } [get_ports { IO_RST_N }]; #IO_L16P_T2_35 Sch=ck_rst - -## SMSC Ethernet PHY -#set_property -dict { PACKAGE_PIN D17 IOSTANDARD LVCMOS33 } [get_ports { eth_col }]; #IO_L16N_T2_A27_15 Sch=eth_col -#set_property -dict { PACKAGE_PIN G14 IOSTANDARD LVCMOS33 } [get_ports { eth_crs }]; #IO_L15N_T2_DQS_ADV_B_15 Sch=eth_crs -#set_property -dict { PACKAGE_PIN F16 IOSTANDARD LVCMOS33 } [get_ports { eth_mdc }]; #IO_L14N_T2_SRCC_15 Sch=eth_mdc -#set_property -dict { PACKAGE_PIN K13 IOSTANDARD LVCMOS33 } [get_ports { eth_mdio }]; #IO_L17P_T2_A26_15 Sch=eth_mdio -#set_property -dict { PACKAGE_PIN G18 IOSTANDARD LVCMOS33 } [get_ports { eth_ref_clk }]; #IO_L22P_T3_A17_15 Sch=eth_ref_clk -#set_property -dict { PACKAGE_PIN C16 IOSTANDARD LVCMOS33 } [get_ports { eth_rstn }]; #IO_L20P_T3_A20_15 Sch=eth_rstn -#set_property -dict { PACKAGE_PIN F15 IOSTANDARD LVCMOS33 } [get_ports { eth_rx_clk }]; #IO_L14P_T2_SRCC_15 Sch=eth_rx_clk -#set_property -dict { PACKAGE_PIN G16 IOSTANDARD LVCMOS33 } [get_ports { eth_rx_dv }]; #IO_L13N_T2_MRCC_15 Sch=eth_rx_dv -#set_property -dict { PACKAGE_PIN D18 IOSTANDARD LVCMOS33 } [get_ports { eth_rxd[0] }]; #IO_L21N_T3_DQS_A18_15 Sch=eth_rxd[0] -#set_property -dict { PACKAGE_PIN E17 IOSTANDARD LVCMOS33 } [get_ports { eth_rxd[1] }]; #IO_L16P_T2_A28_15 Sch=eth_rxd[1] -#set_property -dict { PACKAGE_PIN E18 IOSTANDARD LVCMOS33 } [get_ports { eth_rxd[2] }]; #IO_L21P_T3_DQS_15 Sch=eth_rxd[2] -#set_property -dict { PACKAGE_PIN G17 IOSTANDARD LVCMOS33 } [get_ports { eth_rxd[3] }]; #IO_L18N_T2_A23_15 Sch=eth_rxd[3] -#set_property -dict { PACKAGE_PIN C17 IOSTANDARD LVCMOS33 } [get_ports { eth_rxerr }]; #IO_L20N_T3_A19_15 Sch=eth_rxerr -#set_property -dict { PACKAGE_PIN H16 IOSTANDARD LVCMOS33 } [get_ports { eth_tx_clk }]; #IO_L13P_T2_MRCC_15 Sch=eth_tx_clk -#set_property -dict { PACKAGE_PIN H15 IOSTANDARD LVCMOS33 } [get_ports { eth_tx_en }]; #IO_L19N_T3_A21_VREF_15 Sch=eth_tx_en -#set_property -dict { PACKAGE_PIN H14 IOSTANDARD LVCMOS33 } [get_ports { eth_txd[0] }]; #IO_L15P_T2_DQS_15 Sch=eth_txd[0] -#set_property -dict { PACKAGE_PIN J14 IOSTANDARD LVCMOS33 } [get_ports { eth_txd[1] }]; #IO_L19P_T3_A22_15 Sch=eth_txd[1] -#set_property -dict { PACKAGE_PIN J13 IOSTANDARD LVCMOS33 } [get_ports { eth_txd[2] }]; #IO_L17N_T2_A25_15 Sch=eth_txd[2] -#set_property -dict { PACKAGE_PIN H17 IOSTANDARD LVCMOS33 } [get_ports { eth_txd[3] }]; #IO_L18P_T2_A24_15 Sch=eth_txd[3] - -## Quad SPI Flash -#set_property -dict { PACKAGE_PIN L13 IOSTANDARD LVCMOS33 } [get_ports { qspi_cs }]; #IO_L6P_T0_FCS_B_14 Sch=qspi_cs -#set_property -dict { PACKAGE_PIN K17 IOSTANDARD LVCMOS33 } [get_ports { qspi_dq[0] }]; #IO_L1P_T0_D00_MOSI_14 Sch=qspi_dq[0] -#set_property -dict { PACKAGE_PIN K18 IOSTANDARD LVCMOS33 } [get_ports { qspi_dq[1] }]; #IO_L1N_T0_D01_DIN_14 Sch=qspi_dq[1] -#set_property -dict { PACKAGE_PIN L14 IOSTANDARD LVCMOS33 } [get_ports { qspi_dq[2] }]; #IO_L2P_T0_D02_14 Sch=qspi_dq[2] -#set_property -dict { PACKAGE_PIN M14 IOSTANDARD LVCMOS33 } [get_ports { qspi_dq[3] }]; #IO_L2N_T0_D03_14 Sch=qspi_dq[3] - -## Power Measurements -#set_property -dict { PACKAGE_PIN B17 IOSTANDARD LVCMOS33 } [get_ports { vsnsvu_n }]; #IO_L7N_T1_AD2N_15 Sch=ad_n[2] -#set_property -dict { PACKAGE_PIN B16 IOSTANDARD LVCMOS33 } [get_ports { vsnsvu_p }]; #IO_L7P_T1_AD2P_15 Sch=ad_p[2] -#set_property -dict { PACKAGE_PIN B12 IOSTANDARD LVCMOS33 } [get_ports { vsns5v0_n }]; #IO_L3N_T0_DQS_AD1N_15 Sch=ad_n[1] -#set_property -dict { PACKAGE_PIN C12 IOSTANDARD LVCMOS33 } [get_ports { vsns5v0_p }]; #IO_L3P_T0_DQS_AD1P_15 Sch=ad_p[1] -#set_property -dict { PACKAGE_PIN F14 IOSTANDARD LVCMOS33 } [get_ports { isns5v0_n }]; #IO_L5N_T0_AD9N_15 Sch=ad_n[9] -#set_property -dict { PACKAGE_PIN F13 IOSTANDARD LVCMOS33 } [get_ports { isns5v0_p }]; #IO_L5P_T0_AD9P_15 Sch=ad_p[9] -#set_property -dict { PACKAGE_PIN A16 IOSTANDARD LVCMOS33 } [get_ports { isns0v95_n }]; #IO_L8N_T1_AD10N_15 Sch=ad_n[10] -#set_property -dict { PACKAGE_PIN A15 IOSTANDARD LVCMOS33 } [get_ports { isns0v95_p }]; #IO_L8P_T1_AD10P_15 Sch=ad_p[10] diff --git a/examples/fpga/artya7/rtl/top_artya7.sv b/examples/fpga/artya7/rtl/top_artya7.sv deleted file mode 100644 index 51d3965d40..0000000000 --- a/examples/fpga/artya7/rtl/top_artya7.sv +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -module top_artya7 ( - input IO_CLK, - input IO_RST_N, - output [3:0] LED -); - - parameter int FPGAPowerAnalysis = 0; - // Choose 64kb memory for normal builds and 256kb for FPGAPowerAnalysis builds. The latter will - // not fit in the Arty A7-35 Board FPGA. - parameter int MEM_SIZE = FPGAPowerAnalysis == 0 ? 64 * 1024 : 256 * 1024; - parameter logic [31:0] MEM_START = 32'h00000000; - parameter logic [31:0] MEM_MASK = MEM_SIZE-1; - parameter SRAMInitFile = ""; - - logic clk_sys, rst_sys_n; - - // Instruction connection to SRAM - logic instr_req; - logic instr_gnt; - logic instr_rvalid; - logic [31:0] instr_addr; - logic [31:0] instr_rdata; - - // Data connection to SRAM - logic data_req; - logic data_gnt; - logic data_rvalid; - logic data_we; - logic [3:0] data_be; - logic [31:0] data_addr; - logic [31:0] data_wdata; - logic [31:0] data_rdata; - - cve2_top #( - .RegFile(cve2_pkg::RegFileFPGA), - .DmHaltAddr(32'h00000000), - .DmExceptionAddr(32'h00000000) - ) u_top ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .test_en_i ('b0), - .scan_rst_ni (1'b1), - .ram_cfg_i ('b0), - - .hart_id_i (32'b0), - // First instruction executed is at 0x0 + 0x80 - .boot_addr_i (32'h00000000), - - .instr_req_o (instr_req), - .instr_gnt_i (instr_gnt), - .instr_rvalid_i (instr_rvalid), - .instr_addr_o (instr_addr), - .instr_rdata_i (instr_rdata), - .instr_rdata_intg_i ('0), - .instr_err_i ('b0), - - .data_req_o (data_req), - .data_gnt_i (data_gnt), - .data_rvalid_i (data_rvalid), - .data_we_o (data_we), - .data_be_o (data_be), - .data_addr_o (data_addr), - .data_wdata_o (data_wdata), - .data_wdata_intg_o (), - .data_rdata_i (data_rdata), - .data_rdata_intg_i ('0), - .data_err_i ('b0), - - .irq_software_i (1'b0), - .irq_timer_i (1'b0), - .irq_external_i (1'b0), - .irq_fast_i (15'b0), - .irq_nm_i (1'b0), - - .debug_req_i ('b0), - .crash_dump_o (), - - .fetch_enable_i ('b1), - .alert_minor_o (), - .alert_major_internal_o(), - .alert_major_bus_o (), - .core_sleep_o () - ); - - // SRAM block for instruction and data storage - ram_2p #( - .Depth(MEM_SIZE / 4), - .MemInitFile(SRAMInitFile) - ) u_ram ( - .clk_i (clk_sys), - .rst_ni(rst_sys_n), - - .a_req_i (data_req), - .a_we_i (data_we), - .a_be_i (data_be), - .a_addr_i (data_addr), - .a_wdata_i (data_wdata), - .a_rvalid_o(data_rvalid), - .a_rdata_o (data_rdata), - - .b_req_i (instr_req), - .b_we_i (1'b0), - .b_be_i (4'b0), - .b_addr_i (instr_addr), - .b_wdata_i (32'b0), - .b_rvalid_o(instr_rvalid), - .b_rdata_o (instr_rdata) - ); - - assign instr_gnt = instr_req; - assign data_gnt = data_req; - - // Connect the LED output to the lower four bits of the most significant - // byte - logic [3:0] leds; - always_ff @(posedge clk_sys or negedge rst_sys_n) begin - if (!rst_sys_n) begin - leds <= 4'b0; - end else begin - if (data_req && data_we) begin - for (int i = 0; i < 4; i = i + 1) begin - if (data_be[i] == 1'b1) begin - leds <= data_wdata[i*8 +: 4]; - end - end - end - end - end - assign LED = leds; - - // Clock and reset - clkgen_xil7series - clkgen( - .IO_CLK, - .IO_RST_N, - .clk_sys, - .rst_sys_n - ); - -endmodule diff --git a/examples/fpga/artya7/top_artya7.core b/examples/fpga/artya7/top_artya7.core deleted file mode 100644 index 72b530c5be..0000000000 --- a/examples/fpga/artya7/top_artya7.core +++ /dev/null @@ -1,64 +0,0 @@ -CAPI=2: -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -name: "lowrisc:cve2:top_artya7:0.1" -description: "Ibex example toplevel for Arty A7 boards (both, -35 and -100)" -filesets: - files_rtl_artya7: - depend: - - lowrisc:cve2:cve2_top - - lowrisc:cve2:fpga_xilinx_shared - files: - - rtl/top_artya7.sv - file_type: systemVerilogSource - - files_constraints: - files: - - data/pins_artya7.xdc - file_type: xdc - - files_tcl: - files: - - util/vivado_setup_hooks.tcl : { file_type: tclSource } - - util/vivado_hook_write_bitstream_pre.tcl : { file_type: user, copyto: vivado_hook_write_bitstream_pre.tcl } - -parameters: - # XXX: This parameter needs to be absolute, or relative to the *.runs/synth_1 - # directory. It's best to pass it as absolute path when invoking fusesoc, e.g. - # --SRAMInitFile=$PWD/sw/led/led.vmem - # XXX: The VMEM file should be added to the sources of the Vivado project to - # make the Vivado dependency tracking work. However this requires changes to - # fusesoc first. - SRAMInitFile: - datatype: str - description: SRAM initialization file in vmem hex format - default: "../../../../../examples/sw/led/led.vmem" - paramtype: vlogparam - - # For value definition, please see ip/prim/rtl/prim_pkg.sv - PRIM_DEFAULT_IMPL: - datatype: str - paramtype: vlogdefine - description: Primitives implementation to use, e.g. "prim_pkg::ImplGeneric". - - FPGAPowerAnalysis: - datatype: int - paramtype: vlogparam - description: Enables custom power analysis scripts for Vivado. - -targets: - synth: - default_tool: vivado - filesets: - - files_rtl_artya7 - - files_constraints - - files_tcl - toplevel: top_artya7 - parameters: - - SRAMInitFile - - PRIM_DEFAULT_IMPL=prim_pkg::ImplXilinx - - FPGAPowerAnalysis - tools: - vivado: - part: "xc7a100tcsg324-1" # Default to Arty A7-100 diff --git a/examples/fpga/artya7/util/vivado_hook_write_bitstream_pre.tcl b/examples/fpga/artya7/util/vivado_hook_write_bitstream_pre.tcl deleted file mode 100644 index 064a28ea63..0000000000 --- a/examples/fpga/artya7/util/vivado_hook_write_bitstream_pre.tcl +++ /dev/null @@ -1,24 +0,0 @@ -open_project ../../lowrisc_cve2_top_artya7_0.1.xpr -set saif_name "detailed_power.saif" - -open_run impl_1 - -# Runs a post implementation functional simulation with the memory initialized with SRAMInitFile. -# Feeds clock (100mhz) and reset switch and records switching activity for 3ms. -set_property top top_artya7 [current_fileset sim_1] -launch_simulation -mode post-implementation -type functional -open_saif "$saif_name" -log_saif [get_objects -r *] -add_force {/top_artya7/IO_CLK} -radix bin {1 0ns} {0 5ns} -repeat_every 10ns -add_force {/top_artya7/IO_RST_N} -radix bin {1 0ns} -run 3ms -close_saif - - -# Reporting power using .saif generated above -open_run impl_1 -set_operating_conditions -process maximum -read_saif "../../lowrisc_cve2_top_artya7_0.1.sim/sim_1/impl/func/xsim/$saif_name" -read_saif "../../lowrisc_cve2_top_artya7_0.1.sim/sim_1/impl/func/xsim/$saif_name" -strip_path top_artya7 -set_units -power uW -report_power -name {detailed_power_report} -verbose -file post_implementation_power_result.log -hierarchical_depth 20 diff --git a/examples/fpga/artya7/util/vivado_setup_hooks.tcl b/examples/fpga/artya7/util/vivado_setup_hooks.tcl deleted file mode 100644 index d00ad00605..0000000000 --- a/examples/fpga/artya7/util/vivado_setup_hooks.tcl +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 - -# Setup hook scripts, to be called at various stages during the build process -# See Xilinx UG 894 ("Using Tcl Scripting") for documentation. - -# fusesoc-generated workroot containing the Vivado project file -set workroot [pwd] -set vlogparam_list [get_property generic [get_filesets sources_1]] -set FPGAPowerAnalysis [regexp {FPGAPowerAnalysis} $vlogparam_list] -if {$FPGAPowerAnalysis == 1} { - set_property STEPS.WRITE_BITSTREAM.TCL.PRE "${workroot}/vivado_hook_write_bitstream_pre.tcl" [get_runs impl_1] -} diff --git a/examples/obi2ahb/OBI2AHBM_Adapter Design Spec.pdf b/examples/obi2ahb/OBI2AHBM_Adapter Design Spec.pdf deleted file mode 100755 index fb8fcd146a552fe46a1368d98ce060fb5d06fbc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462605 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®YE7IsblRzW%Gv)ttOPgXbQf%udNUZa%XnHA5KN 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%0A_+^0D%{a+#xj;S9C% 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¬QQ2hk1rn~3IHKplild=9j*{};^o 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 DXCTOk diff --git a/examples/obi2ahb/obi2ahbm_adapter.sv b/examples/obi2ahb/obi2ahbm_adapter.sv deleted file mode 100755 index 6e9c9e8a26..0000000000 --- a/examples/obi2ahb/obi2ahbm_adapter.sv +++ /dev/null @@ -1,283 +0,0 @@ -// Copyright 2023 Intrinsix Corp. -// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0 - -// ============================================================================ -// -// Description : OBI to AHB-Lite Master Adaptor -// This adapter accepts OBI v1.5.0 transfers and translates them into -// AHB-lite (ARM IHI 0033C) transfers. - -module obi2ahbm_adapter ( - // Clock and reset - input hclk_i, // (I) AHB clock - input hresetn_i, // (I) AHB reset, active LOW - - // AHB master interface - output logic [31:0] haddr_o, // (O) 32-bit AHB system address bus - output logic [2:0] hburst_o, // (O) Burst type - output logic hmastlock_o, // (O) Sequence lock - output logic [3:0] hprot_o, // (O) Protection control - output logic [2:0] hsize_o, // (O) Transfer size - output logic [1:0] htrans_o, // (O) Transfer type - output logic [31:0] hwdata_o, // (O) 32-bit AHB write data bus - output logic hwrite_o, // (O) Transfer direction - input logic [31:0] hrdata_i, // (I) 32-bit AHB read data bus - input logic hready_i, // (I) Status of transfer - input logic hresp_i, // (I) Transfer response - - // Data interface from core - input logic data_req_i, // (I) Request ready - output logic data_gnt_o, // (O) The other side accepted the request - output logic data_rvalid_o, // (O) Read data valid when high - input logic data_we_i, // (I) Write enable (active HIGH) - input logic [3:0] data_be_i, // (I) Byte enable - input logic [31:0] data_addr_i, // (I) Address - input logic [31:0] data_wdata_i, // (I) Write data - output logic [31:0] data_rdata_o, // (O) Read data - output logic data_err_o, // (O) Error - input logic pending_dbus_xfer_i, // (I) Asserted if data bus is busy from other transactions - - // Miscellaneous - input logic priv_mode_i // (I) Privilege mode (from core. 1=machine mode, 0=user mode) -); - - // ********** // - // Parameters // - // ********** // - parameter HPROT_NONCACHEABLE = 1'b0; - parameter HPROT_NONBUFFERABLE = 1'b0; - parameter HPROT_DATAACCESS = 1'b1; - - parameter MACHINE_MODE = 1'b1; - - parameter HBURST_SINGLE = 3'b000; - - parameter TIE_LO = 1'b0; - - parameter AHB_FSM_WAIT = 2'b00; - parameter AHB_FSM_DATA = 2'b10; - - // ********** // - // Wires/Regs // - // ********** // - - logic [1:0] ahb_fsm_reg; - logic [1:0] ahb_fsm_reg_nxt; - - logic [31:0] haddr_m_reg; - logic [3:0] hprot_m_reg; - logic [2:0] hsize_m_reg; - logic hwrite_m_reg; - - - logic data_err_o_nxt; - - logic [31:0] data_rdata_o_reg; - - logic [31:0] hwdata_m_nxt; - - logic prev_data_gnt_o; - // ********************** // - // Continuous assignments // - // ********************** // - - // These signals are unused, so OK that they are tied to a constant - // lint_checking TIELOG off - // Only single bursts are supported - assign hburst_o = HBURST_SINGLE; - - // hmastlock_o is not used, so it is tied low - assign hmastlock_o = TIE_LO; - // lint_checking TIELOG on - - // A grant should only happen on a request, and if the AHB side is ready - // to respond. Don't initiate an AHB xfer if the data bus is busy from - // other pending xfers - assign data_gnt_o = hready_i && data_req_i && !pending_dbus_xfer_i; - - // The valid signal should only assert when transitioning to the DATA state - assign data_rvalid_o = ahb_fsm_reg == AHB_FSM_DATA ? hready_i : 1'b0; - - // ************* // - // Clocked Logic // - // ************* // - always @ (posedge hclk_i or negedge hresetn_i) begin - if (!hresetn_i) begin - data_err_o <= 1'b0; - data_rdata_o_reg <= 32'h00000000; - - haddr_m_reg <= 32'h00000000; - hprot_m_reg <= {HPROT_NONCACHEABLE, HPROT_NONBUFFERABLE, MACHINE_MODE, HPROT_DATAACCESS}; - hsize_m_reg <= 3'b000; - - // Write data needs to come one cycle after per AHB protocol - hwdata_o <= 32'h00000000; - - hwrite_m_reg <= 1'b0; - - ahb_fsm_reg <= AHB_FSM_WAIT; - - prev_data_gnt_o <= 1'b0; - end - else begin - data_err_o <= data_err_o_nxt; - data_rdata_o_reg <= data_rdata_o; - - haddr_m_reg <= haddr_o; - hprot_m_reg <= hprot_o; - hsize_m_reg <= hsize_o; - - hwdata_o <= hwdata_m_nxt; - - hwrite_m_reg <= hwrite_o; - - ahb_fsm_reg <= ahb_fsm_reg_nxt; - if (!data_rvalid_o) begin - prev_data_gnt_o <= data_gnt_o | prev_data_gnt_o; - end else begin - prev_data_gnt_o <= data_gnt_o; - end - end - end - - - // ******************* // - // Combinational Logic // - // ******************* // - // Signal that the current request errored out and the read is invalid if - // an AHB error response is received - assign data_err_o_nxt = hresp_i; - - //AHB Logic - always_comb begin - hprot_o = hprot_m_reg; - haddr_o = haddr_m_reg; - hwrite_o = hwrite_m_reg; - // lint_checking TIELOG off - // If htrans_m is not driven to non-seq while data_gnt_o is set - // then it should be idle and set to (2'b00) - htrans_o = 2'b00; - // lint_checking TIELOG on - hwdata_m_nxt = hwdata_o; - hsize_o = hsize_m_reg; - - unique case (ahb_fsm_reg) - AHB_FSM_WAIT: begin - // Idles until data_gnt_o is received - // Once data_gnt_o is received, this is the address phase of AHB - // and all ahb signals are fed through from the core - if (data_gnt_o) begin - // lint_checking TIELOG off - // Non-bufferable, non-cacheable data accesses are supported. The - // privilege bit, hprot_o[1], is driven by the privilege mode - // that the core is currently in (1 for machine, 0 for user) - hprot_o = {HPROT_NONCACHEABLE, HPROT_NONBUFFERABLE, priv_mode_i, HPROT_DATAACCESS}; - // lint_checking TIELOG on - - // The address, transfer request, and write enable can be fed - // through from the core to the corresponding AHB signals. For - // htrans_o, if data_gnt_o is given, the ahb is in address phase, - // and the transaction is non-sequential (1'b10). - haddr_o = data_addr_i; - hwrite_o = data_we_i; - - // lint_checking TIELOG off - htrans_o = 2'b10; - // lint_checking TIELOG on - - // Write data needs to be in data phase (After data_gnt_o is de-asserted) - // So the data fromthe core is registered to save it for completing the transaction - hwdata_m_nxt = data_wdata_i; - - // lint_checking TIELOG off - // Only word (32-bit), half-word (16-bit), or byte (8-bit) - // aligned transfers are supported. Invalid responses default to - hsize_o[2] = TIE_LO; - // lint_checking TIELOG on - hsize_o[1] = &data_be_i; - hsize_o[0] = (data_be_i[3] & data_be_i[2]) ^ (data_be_i[1] & data_be_i[0]); - end - end - AHB_FSM_DATA: begin - // DATA phase - // read data is fed through from the core - data_rdata_o = hrdata_i; - - // If data_gnt_o is also given during the data phase, then it is also - // the subsequent address phase, so the necessary signals get - // passed through from the core - if (data_gnt_o) begin - // lint_checking TIELOG off - // Non-bufferable, non-cacheable data accesses are supported. The - // privilege bit, hprot_o[1], is driven by the privilege mode - // that the core is currently in (1 for machine, 0 for user) - hprot_o = {HPROT_NONCACHEABLE, HPROT_NONBUFFERABLE, priv_mode_i, HPROT_DATAACCESS}; - // lint_checking TIELOG on - // The address, transfer request, and write enable can be fed - // through from the core to the corresponding AHB signals. For - // htrans_o, if data_gnt_o is given, the ahb is in address phase, - // and the transaction is non-sequential (1'b10). - haddr_o = data_addr_i; - hwrite_o = data_we_i; - - // lint_checking TIELOG off - htrans_o = 2'b10; - // lint_checking TIELOG on - - // Write data needs to be in data phase (After data_gnt_o is de-asserted) - // So the data fromthe core is registered to save it for completing the transaction - hwdata_m_nxt = data_wdata_i; - - // lint_checking TIELOG off - // Only word (32-bit), half-word (16-bit), or byte (8-bit) - // aligned transfers are supported. Invalid responses default to - hsize_o[2] = TIE_LO; - // lint_checking TIELOG on - hsize_o[1] = &data_be_i; - hsize_o[0] = (data_be_i[3] & data_be_i[2]) ^ (data_be_i[1] & data_be_i[0]); - end - end - default: begin - hprot_o = {HPROT_NONCACHEABLE, HPROT_NONBUFFERABLE, priv_mode_i, HPROT_DATAACCESS}; - haddr_o = data_addr_i; - hwrite_o = data_we_i; - htrans_o = 2'b00; - hsize_o = {TIE_LO,TIE_LO,TIE_LO}; - end - endcase - end - - //FSM - always_comb begin - - ahb_fsm_reg_nxt = ahb_fsm_reg; - - unique case (ahb_fsm_reg) - // IDLE/ADDRESS phase - // Waits until "ADDRESS Phase" occurs during data_gnt_o - AHB_FSM_WAIT: begin - if (data_gnt_o) begin - ahb_fsm_reg_nxt = AHB_FSM_DATA; - end - end - // DATA/ADDRESS phase - // DATA phase for alread started transaction. - // If data_gnt_o it is also the ADDRESS phase for the next set of data so it stays - // in the data phase on the next cycle - AHB_FSM_DATA: begin - if (data_rvalid_o) begin - if (data_gnt_o) begin - ahb_fsm_reg_nxt = AHB_FSM_DATA; - end else begin - ahb_fsm_reg_nxt = AHB_FSM_WAIT; - end - end - end - default: begin - ahb_fsm_reg_nxt = ahb_fsm_reg; - end - endcase - end - // lint_checking TRNMBT on - // lint_checking HASUPC on -endmodule : obi2ahbm_adapter diff --git a/examples/simple_system/README.md b/examples/simple_system/README.md deleted file mode 100644 index caaf810718..0000000000 --- a/examples/simple_system/README.md +++ /dev/null @@ -1,146 +0,0 @@ -# Ibex Simple System - -Simple System gives you an Ibex based system simulated by Verilator that can -run stand-alone binaries. It contains: - -* An Ibex Core -* A single memory for instructions and data -* A basic peripheral to write ASCII output to a file and halt simulation from software -* A basic timer peripheral capable of generating interrupts based on the RISC-V Machine Timer Registers (see RISC-V Privileged Specification, version 1.11, Section 3.1.10) -* A software framework to build programs for it - -## Prerequisites - -* [Verilator](https://www.veripool.org/wiki/verilator) - Note Linux package managers may have Verilator but often a very old version - that is not suitable. It is recommended Verilator is built from source. -* The Python dependencies of this repository. - Install them with `pip3 install -U -r python-requirements.txt` from the - repository root. -* RISC-V Compiler Toolchain - lowRISC provides a pre-built GCC based toolchain - -* libelf and its development libraries. - On Debian/Ubuntu, install it by running `apt-get install libelf-dev`. -* srecord. - On Debian/Ubuntu, install it by running `apt-get install srecord`. - (Optional, needed for generating a vmem file) - -## Building Simulation - -The Simple System simulator binary can be built via FuseSoC. From the Ibex -repository root run: - -``` -fusesoc --cores-root=. run --target=sim --setup --build lowrisc:cve2:cve2_simple_system --RV32E=0 --RV32M=cve2_pkg::RV32MFast -``` - -## Building Software - -Simple System related software can be found in `examples/sw/simple_system`. - -To build the hello world example, from the Ibex reposistory root run: - -``` -make -C examples/sw/simple_system/hello_test -``` - -The compiled program is available at -`examples/sw/simple_system/hello_test/hello_test.elf`. The same directory also -contains a Verilog memory file (vmem file) to be used with some simulators. - -To build new software make a copy of the `hello_test` directory named as desired. -Look inside the Makefile for further instructions. - -If using a toolchain other than the lowRISC pre-built one -`examples/sw/simple_system/common/common.mk` may need altering to point to the -correct compiler binaries. - -## Running the Simulator - -Having built the simulator and software, from the Ibex repository root run: - -``` -./build/lowrisc_cve2_cve2_simple_system_0/sim-verilator/Vcve2_simple_system [-t] --meminit=ram, -``` - -`` should be a path to an ELF file (or alternatively a vmem file) -built as described above. Use -`./examples/sw/simple_system/hello_test/hello_test.elf` to run the `hello_test` -binary. - -Pass `-t` to get an FST trace of execution that can be viewed with -[GTKWave](http://gtkwave.sourceforge.net/). If using the `hello_test` -binary the simulator will halt itself, outputting some simulation -statistics: - -``` -Simulation statistics -===================== -Executed cycles: 633 -Wallclock time: 0.013 s -Simulation speed: 48692.3 cycles/s (48.6923 kHz) - -Performance Counters -==================== -Cycles: 483 -NONE: 0 -Instructions Retired: 266 -LSU Busy: 59 -Fetch Wait: 16 -Loads: 21 -Stores: 38 -Jumps: 46 -Conditional Branches: 53 -Taken Conditional Branches: 48 -Compressed Instructions: 182 -``` - -The simulator produces several output files - -* `cve2_simple_system.log` - The ASCII output written via the output peripheral -* `cve2_simple_system_pcount.csv` - A CSV of the performance counters -* `trace_core_00000000.log` - An instruction trace of execution - -## Simulating with Synopsys VCS - -Similar to the Verilator flow the Simple System simulator binary can be built using: - -``` -fusesoc --cores-root=. run --target=sim --tool=vcs --setup --build lowrisc:cve2:cve2_simple_system --RV32E=0 --RV32M=cve2_pkg::RV32MFast --SRAMInitFile=`` -``` - -`` should be a path to a vmem file built as described above, use -`./examples/sw/simple_system/hello_test/hello_test.vmem` to run the `hello_test` -binary. - -To run the simulator: - -``` -./build/lowrisc_cve2_cve2_simple_system_0/sim-vcs/lowrisc_cve2_cve2_simple_system_0 -``` - -Pass `-gui` to use the DVE GUI. - -## Simulating with Riviera-PRO - -To build and run Simple System run: - -``` -fusesoc --cores-root=. run --target=sim --tool=rivierapro lowrisc:cve2:cve2_simple_system --RV32E=0 --RV32M=cve2_pkg::RV32MFast --SRAMInitFile=\"$(readlink -f )\" -``` - -`` should be a path to a vmem file built as described above, use -`./examples/sw/simple_system/hello_test/hello_test.vmem` to run the `hello_test` -binary. - -## System Memory Map - -| Address | Description | -|---------------------|--------------------------------------------------------------------------------------------------------| -| 0x20000 | ASCII Out, write ASCII characters here that will get output to the log file | -| 0x20008 | Simulator Halt, write 1 here to halt the simulation | -| 0x30000 | RISC-V timer `mtime` register | -| 0x30004 | RISC-V timer `mtimeh` register | -| 0x30008 | RISC-V timer `mtimecmp` register | -| 0x3000C | RISC-V timer `mtimecmph` register | -| 0x100000 – 0x1FFFFF | 1 MB memory for instruction and data. Execution starts at 0x100080, exception handler base is 0x100000 | diff --git a/examples/simple_system/cve2_simple_system.cc b/examples/simple_system/cve2_simple_system.cc deleted file mode 100644 index 93ee30dd66..0000000000 --- a/examples/simple_system/cve2_simple_system.cc +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include -#include -#include - -#include "Vcve2_simple_system__Syms.h" -#include "cve2_pcounts.h" -#include "cve2_simple_system.h" -#include "verilated_toplevel.h" -#include "verilator_memutil.h" -#include "verilator_sim_ctrl.h" - -SimpleSystem::SimpleSystem(const char *ram_hier_path, int ram_size_words) - : _ram(ram_hier_path, ram_size_words, 4) {} - -int SimpleSystem::Main(int argc, char **argv) { - bool exit_app; - int ret_code = Setup(argc, argv, exit_app); - - if (exit_app) { - return ret_code; - } - - Run(); - - if (!Finish()) { - return 1; - } - - return 0; -} - -std::string SimpleSystem::GetIsaString() const { - const Vcve2_simple_system &top = _top; - assert(top.cve2_simple_system); - - std::string base = top.cve2_simple_system->RV32E ? "rv32e" : "rv32i"; - - std::string extensions = "c"; - if (top.cve2_simple_system->RV32M) - extensions += "m"; - - // See the equivalent get_isa_string() function in core_cve2_base_test.sv for - // an explanation of the different ISA strings - switch (top.cve2_simple_system->RV32B) { - case 0: // RV32BNone - break; - - case 1: // RV32BBalanced - extensions += "_Zba_Zbb_Zbs_Xbitmanip"; - break; - - case 2: // RV32BOTEarlGrey - case 3: // RV32BFull - extensions += "_Zba_Zbb_Zbc_Zbs_Xbitmanip"; - break; - } - - return base + extensions; -} - -int SimpleSystem::Setup(int argc, char **argv, bool &exit_app) { - VerilatorSimCtrl &simctrl = VerilatorSimCtrl::GetInstance(); - - simctrl.SetTop(&_top, &_top.IO_CLK, &_top.IO_RST_N, - VerilatorSimCtrlFlags::ResetPolarityNegative); - - _memutil.RegisterMemoryArea("ram", 0x0, &_ram); - simctrl.RegisterExtension(&_memutil); - - exit_app = false; - return simctrl.ParseCommandArgs(argc, argv, exit_app); -} - -void SimpleSystem::Run() { - VerilatorSimCtrl &simctrl = VerilatorSimCtrl::GetInstance(); - - std::cout << "Simulation of Ibex" << std::endl - << "==================" << std::endl - << std::endl; - - simctrl.RunSimulation(); -} - -bool SimpleSystem::Finish() { - VerilatorSimCtrl &simctrl = VerilatorSimCtrl::GetInstance(); - - if (!simctrl.WasSimulationSuccessful()) { - return false; - } - - // Set the scope to the root scope, the cve2_pcount_string function otherwise - // doesn't know the scope itself. Could be moved to cve2_pcount_string, but - // would require a way to set the scope name from here, similar to MemUtil. - svSetScope(svGetScopeFromName("TOP.cve2_simple_system")); - - std::cout << "\nPerformance Counters" << std::endl - << "====================" << std::endl; - std::cout << cve2_pcount_string(false); - - std::ofstream pcount_csv("cve2_simple_system_pcount.csv"); - pcount_csv << cve2_pcount_string(true); - - return true; -} diff --git a/examples/simple_system/cve2_simple_system.core b/examples/simple_system/cve2_simple_system.core deleted file mode 100644 index c7cfef70ce..0000000000 --- a/examples/simple_system/cve2_simple_system.core +++ /dev/null @@ -1,142 +0,0 @@ -CAPI=2: -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -name: "lowrisc:cve2:cve2_simple_system" -description: "Generic simple system for running binaries on ibex using verilator" -filesets: - files_simple_system: - depend: - - lowrisc:cve2:cve2_simple_system_core - files: - - cve2_simple_system_main.cc - file_type: cppSource - -parameters: - RV32E: - datatype: int - paramtype: vlogparam - default: 0 - description: "Enable the E ISA extension (reduced register set) [0/1]" - - RV32M: - datatype: str - default: cve2_pkg::RV32MFast - paramtype: vlogdefine - description: "RV32M implementation parameter enum. See the cve2_pkg::rv32m_e enum in cve2_pkg.sv for permitted values." - - RV32B: - datatype: str - default: cve2_pkg::RV32BNone - paramtype: vlogdefine - description: "Bitmanip implementation parameter enum. See the cve2_pkg::rv32b_e enum in cve2_pkg.sv for permitted values." - - RegFile: - datatype: str - default: cve2_pkg::RegFileFF - paramtype: vlogdefine - description: "Register file implementation parameter enum. See the cve2_pkg::regfile_e enum in cve2_pkg.sv for permitted values." - - ICache: - datatype: int - default: 0 - paramtype: vlogparam - description: "Enable instruction cache" - - ICacheECC: - datatype: int - default: 0 - paramtype: vlogparam - description: "Enable ECC protection in instruction cache" - - SRAMInitFile: - datatype: str - paramtype: vlogparam - description: "Path to a vmem file to initialize the RAM with" - - SecureIbex: - datatype: int - default: 0 - paramtype: vlogparam - description: "Enables security hardening features (EXPERIMENTAL) [0/1]" - - ICacheScramble: - datatype: int - default: 0 - paramtype: vlogparam - description: "Enables ICache scrambling feature (EXPERIMENTAL) [0/1]" - - PMPEnable: - datatype: int - default: 0 - paramtype: vlogparam - description: "Enable PMP" - - PMPGranularity: - datatype: int - default: 0 - paramtype: vlogparam - description: "Granularity of NAPOT range, 0 = 4 byte, 1 = byte, 2 = 16 byte, 3 = 32 byte etc" - - PMPNumRegions: - datatype: int - default: 4 - paramtype: vlogparam - description: "Number of PMP regions" - -targets: - default: &default_target - filesets: - - files_simple_system - toplevel: cve2_simple_system - parameters: - - RV32E - - RV32M - - RV32B - - RegFile - - ICache - - ICacheScramble - - ICacheECC - - SecureIbex - - PMPEnable - - PMPGranularity - - PMPNumRegions - - SRAMInitFile - - lint: - <<: *default_target - default_tool: verilator - tools: - verilator: - mode: lint-only - verilator_options: - - "-Wall" - # RAM primitives wider than 64bit (required for ECC) fail to build in - # Verilator without increasing the unroll count (see Verilator#1266) - - "--unroll-count 72" - - sim: - <<: *default_target - default_tool: verilator - tools: - vcs: - vcs_options: - - '-xlrm uniq_prior_final' - - '-debug_access+r' - verilator: - mode: cc - verilator_options: - # Disabling tracing reduces compile times but doesn't have a - # huge influence on runtime performance. - - '--trace' - - '--trace-fst' # this requires -DVM_TRACE_FMT_FST in CFLAGS below! - - '--trace-structs' - - '--trace-params' - - '--trace-max-array 1024' - - '-CFLAGS "-std=c++11 -Wall -DVM_TRACE_FMT_FST -DTOPLEVEL_NAME=cve2_simple_system -g"' - - '-LDFLAGS "-pthread -lutil -lelf"' - - "-Wall" - - "-Wwarn-IMPERFECTSCH" - # RAM primitives wider than 64bit (required for ECC) fail to build in - # Verilator without increasing the unroll count (see Verilator#1266) - - "--unroll-count 72" diff --git a/examples/simple_system/cve2_simple_system.h b/examples/simple_system/cve2_simple_system.h deleted file mode 100644 index 0c8c3b1d23..0000000000 --- a/examples/simple_system/cve2_simple_system.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "verilated_toplevel.h" -#include "verilator_memutil.h" - -class SimpleSystem { - public: - SimpleSystem(const char *ram_hier_path, int ram_size_words); - virtual ~SimpleSystem() {} - virtual int Main(int argc, char **argv); - - // Return an ISA string, as understood by Spike, for the system being - // simulated. - std::string GetIsaString() const; - - protected: - cve2_simple_system _top; - VerilatorMemUtil _memutil; - MemArea _ram; - - virtual int Setup(int argc, char **argv, bool &exit_app); - virtual void Run(); - virtual bool Finish(); -}; diff --git a/examples/simple_system/cve2_simple_system_core.core b/examples/simple_system/cve2_simple_system_core.core deleted file mode 100644 index 7124d7abf2..0000000000 --- a/examples/simple_system/cve2_simple_system_core.core +++ /dev/null @@ -1,35 +0,0 @@ -CAPI=2: -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -name: "lowrisc:cve2:cve2_simple_system_core" -description: "Generic simple system for running binaries on ibex using verilator" -filesets: - files_sim: - depend: - - lowrisc:cve2:cve2_top_tracing - - lowrisc:cve2:sim_shared - files: - - rtl/cve2_simple_system.sv - file_type: systemVerilogSource - - files_verilator: - depend: - - lowrisc:dv_verilator:memutil_verilator - - lowrisc:dv_verilator:simutil_verilator - - lowrisc:dv_verilator:cve2_pcounts - files: - - cve2_simple_system.cc: { file_type: cppSource } - - cve2_simple_system.h: { file_type: cppSource, is_include_file: true} - - lint/verilator_waiver.vlt: {file_type: vlt} - - files_lint_verible: - files: - - lint/verible_waiver.vbw: {file_type: veribleLintWaiver} - -targets: - default: - filesets: - - tool_veriblelint ? (files_lint_verible) - - files_sim - - tool_verilator ? (files_verilator) diff --git a/examples/simple_system/cve2_simple_system_main.cc b/examples/simple_system/cve2_simple_system_main.cc deleted file mode 100644 index 6647a7581f..0000000000 --- a/examples/simple_system/cve2_simple_system_main.cc +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "cve2_simple_system.h" - -int main(int argc, char **argv) { - SimpleSystem simple_system( - "TOP.cve2_simple_system.u_ram.u_ram.gen_generic.u_impl_generic", - 1024 * 1024); - - return simple_system.Main(argc, argv); -} diff --git a/examples/simple_system/lint/verible_waiver.vbw b/examples/simple_system/lint/verible_waiver.vbw deleted file mode 100644 index e2d8521ee7..0000000000 --- a/examples/simple_system/lint/verible_waiver.vbw +++ /dev/null @@ -1 +0,0 @@ -waive --rule=macro-name-style --location="cve2_simple_system.sv" --regex="RegFile" \ No newline at end of file diff --git a/examples/simple_system/lint/verilator_waiver.vlt b/examples/simple_system/lint/verilator_waiver.vlt deleted file mode 100644 index b25799e4c3..0000000000 --- a/examples/simple_system/lint/verilator_waiver.vlt +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -// Lint waivers for processing simple_system RTL with Verilator -// -// This should be used for rules applying to things like testbench -// top-levels. For rules that apply to the actual design (files in the -// 'rtl' directory), see verilator_waiver_rtl.vlt in the same -// directory. -// -// See https://www.veripool.org/projects/verilator/wiki/Manual-verilator#CONFIGURATION-FILES -// for documentation. -// -// Important: This file must included *before* any other Verilog file is read. -// Otherwise, only global waivers are applied, but not file-specific waivers. - -`verilator_config - -// We have some boolean top-level parameters in e.g. simple_system.sv. -// When building with fusesoc, these get set with defines like -// -GRV32E=1 (rather than -GRV32E=1'b1), leading to warnings like: -// -// Operator VAR '' expects 1 bits on the Initial value, but -// Initial value's CONST '32'h1' generates 32 bits. -// -// This signoff rule ignores errors like this. Note that it only -// matches when you set a 1-bit value to a literal 1, so it won't hide -// silly mistakes like setting it to 2. -// -lint_off -rule WIDTH -file "*/rtl/cve2_simple_system.sv" - -match "*expects 1 bits*Initial value's CONST '32'h1'*" - -// This isn't a waiver, as such, but rather tells Verilator to expose -// the given parameters' values to C++. This allows cosim to figure -// out what flavour of core it is running, which allows us to call -// Spike with the right ISA. -public -module "cve2_simple_system" -var "RV32E" -public -module "cve2_simple_system" -var "RV32M" -public -module "cve2_simple_system" -var "RV32B" diff --git a/examples/simple_system/rtl/cve2_simple_system.sv b/examples/simple_system/rtl/cve2_simple_system.sv deleted file mode 100644 index 9ad289c721..0000000000 --- a/examples/simple_system/rtl/cve2_simple_system.sv +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -// VCS does not support overriding enum and string parameters via command line. Instead, a `define -// is used that can be set from the command line. If no value has been specified, this gives a -// default. Other simulators don't take the detour via `define and can override the corresponding -// parameters directly. -`ifndef RV32M - `define RV32M cve2_pkg::RV32MFast -`endif - -`ifndef RV32B - `define RV32B cve2_pkg::RV32BNone -`endif - -`ifndef RegFile - `define RegFile cve2_pkg::RegFileFF -`endif - -/** - * Ibex simple system - * - * This is a basic system consisting of an ibex, a 1 MB sram for instruction/data - * and a small memory mapped control module for outputting ASCII text and - * controlling/halting the simulation from the software running on the ibex. - * - * It is designed to be used with verilator but should work with other - * simulators, a small amount of work may be required to support the - * simulator_ctrl module. - */ - -module cve2_simple_system ( - input IO_CLK, - input IO_RST_N -); - - parameter bit SecureIbex = 1'b0; - parameter bit ICacheScramble = 1'b0; - parameter bit PMPEnable = 1'b0; - parameter int unsigned PMPGranularity = 0; - parameter int unsigned PMPNumRegions = 4; - parameter bit RV32E = 1'b0; - parameter cve2_pkg::rv32m_e RV32M = `RV32M; - parameter cve2_pkg::rv32b_e RV32B = `RV32B; - parameter cve2_pkg::regfile_e RegFile = `RegFile; - parameter bit ICache = 1'b0; - parameter bit ICacheECC = 1'b0; - parameter SRAMInitFile = ""; - - logic clk_sys = 1'b0, rst_sys_n; - - typedef enum logic { - CoreD - } bus_host_e; - - typedef enum logic[1:0] { - Ram, - SimCtrl, - Timer - } bus_device_e; - - localparam int NrDevices = 3; - localparam int NrHosts = 1; - - // interrupts - logic timer_irq; - - // host and device signals - logic host_req [NrHosts]; - logic host_gnt [NrHosts]; - logic [31:0] host_addr [NrHosts]; - logic host_we [NrHosts]; - logic [ 3:0] host_be [NrHosts]; - logic [31:0] host_wdata [NrHosts]; - logic host_rvalid [NrHosts]; - logic [31:0] host_rdata [NrHosts]; - logic host_err [NrHosts]; - - // devices (slaves) - logic device_req [NrDevices]; - logic [31:0] device_addr [NrDevices]; - logic device_we [NrDevices]; - logic [ 3:0] device_be [NrDevices]; - logic [31:0] device_wdata [NrDevices]; - logic device_rvalid [NrDevices]; - logic [31:0] device_rdata [NrDevices]; - logic device_err [NrDevices]; - - // Device address mapping - logic [31:0] cfg_device_addr_base [NrDevices]; - logic [31:0] cfg_device_addr_mask [NrDevices]; - assign cfg_device_addr_base[Ram] = 32'h100000; - assign cfg_device_addr_mask[Ram] = ~32'hFFFFF; // 1 MB - assign cfg_device_addr_base[SimCtrl] = 32'h20000; - assign cfg_device_addr_mask[SimCtrl] = ~32'h3FF; // 1 kB - assign cfg_device_addr_base[Timer] = 32'h30000; - assign cfg_device_addr_mask[Timer] = ~32'h3FF; // 1 kB - - // Instruction fetch signals - logic instr_req; - logic instr_gnt; - logic instr_rvalid; - logic [31:0] instr_addr; - logic [31:0] instr_rdata; - logic instr_err; - - assign instr_gnt = instr_req; - assign instr_err = '0; - - `ifdef VERILATOR - assign clk_sys = IO_CLK; - assign rst_sys_n = IO_RST_N; - `else - initial begin - rst_sys_n = 1'b0; - #8 - rst_sys_n = 1'b1; - end - always begin - #1 clk_sys = 1'b0; - #1 clk_sys = 1'b1; - end - `endif - - // Tie-off unused error signals - assign device_err[Ram] = 1'b0; - assign device_err[SimCtrl] = 1'b0; - - bus #( - .NrDevices ( NrDevices ), - .NrHosts ( NrHosts ), - .DataWidth ( 32 ), - .AddressWidth ( 32 ) - ) u_bus ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .host_req_i (host_req ), - .host_gnt_o (host_gnt ), - .host_addr_i (host_addr ), - .host_we_i (host_we ), - .host_be_i (host_be ), - .host_wdata_i (host_wdata ), - .host_rvalid_o (host_rvalid ), - .host_rdata_o (host_rdata ), - .host_err_o (host_err ), - - .device_req_o (device_req ), - .device_addr_o (device_addr ), - .device_we_o (device_we ), - .device_be_o (device_be ), - .device_wdata_o (device_wdata ), - .device_rvalid_i (device_rvalid), - .device_rdata_i (device_rdata ), - .device_err_i (device_err ), - - .cfg_device_addr_base, - .cfg_device_addr_mask - ); - - cve2_top_tracing #( - .SecureIbex ( SecureIbex ), - .ICacheScramble ( ICacheScramble ), - .PMPEnable ( PMPEnable ), - .PMPGranularity ( PMPGranularity ), - .PMPNumRegions ( PMPNumRegions ), - .MHPMCounterNum ( 29 ), - .RV32E ( RV32E ), - .RV32M ( RV32M ), - .RV32B ( RV32B ), - .RegFile ( RegFile ), - .ICache ( ICache ), - .ICacheECC ( ICacheECC ), - .DmHaltAddr ( 32'h00100000 ), - .DmExceptionAddr ( 32'h00100000 ) - ) u_top ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .test_en_i ('b0), - .scan_rst_ni (1'b1), - .ram_cfg_i ('b0), - - .hart_id_i (32'b0), - // First instruction executed is at 0x0 + 0x80 - .boot_addr_i (32'h00100000), - - .instr_req_o (instr_req), - .instr_gnt_i (instr_gnt), - .instr_rvalid_i (instr_rvalid), - .instr_addr_o (instr_addr), - .instr_rdata_i (instr_rdata), - .instr_rdata_intg_i ('0), - .instr_err_i (instr_err), - - .data_req_o (host_req[CoreD]), - .data_gnt_i (host_gnt[CoreD]), - .data_rvalid_i (host_rvalid[CoreD]), - .data_we_o (host_we[CoreD]), - .data_be_o (host_be[CoreD]), - .data_addr_o (host_addr[CoreD]), - .data_wdata_o (host_wdata[CoreD]), - .data_wdata_intg_o (), - .data_rdata_i (host_rdata[CoreD]), - .data_rdata_intg_i ('0), - .data_err_i (host_err[CoreD]), - - .irq_software_i (1'b0), - .irq_timer_i (timer_irq), - .irq_external_i (1'b0), - .irq_fast_i (15'b0), - .irq_nm_i (1'b0), - - .scramble_key_valid_i ('0), - .scramble_key_i ('0), - .scramble_nonce_i ('0), - .scramble_req_o (), - - .debug_req_i ('b0), - .crash_dump_o (), - .double_fault_seen_o (), - - .fetch_enable_i (cve2_pkg::FetchEnableOn), - .alert_minor_o (), - .alert_major_internal_o (), - .alert_major_bus_o (), - .core_sleep_o () - ); - - // SRAM block for instruction and data storage - ram_2p #( - .Depth(1024*1024/4), - .MemInitFile(SRAMInitFile) - ) u_ram ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .a_req_i (device_req[Ram]), - .a_we_i (device_we[Ram]), - .a_be_i (device_be[Ram]), - .a_addr_i (device_addr[Ram]), - .a_wdata_i (device_wdata[Ram]), - .a_rvalid_o (device_rvalid[Ram]), - .a_rdata_o (device_rdata[Ram]), - - .b_req_i (instr_req), - .b_we_i (1'b0), - .b_be_i (4'b0), - .b_addr_i (instr_addr), - .b_wdata_i (32'b0), - .b_rvalid_o (instr_rvalid), - .b_rdata_o (instr_rdata) - ); - - simulator_ctrl #( - .LogName("cve2_simple_system.log") - ) u_simulator_ctrl ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .req_i (device_req[SimCtrl]), - .we_i (device_we[SimCtrl]), - .be_i (device_be[SimCtrl]), - .addr_i (device_addr[SimCtrl]), - .wdata_i (device_wdata[SimCtrl]), - .rvalid_o (device_rvalid[SimCtrl]), - .rdata_o (device_rdata[SimCtrl]) - ); - - timer #( - .DataWidth (32), - .AddressWidth (32) - ) u_timer ( - .clk_i (clk_sys), - .rst_ni (rst_sys_n), - - .timer_req_i (device_req[Timer]), - .timer_we_i (device_we[Timer]), - .timer_be_i (device_be[Timer]), - .timer_addr_i (device_addr[Timer]), - .timer_wdata_i (device_wdata[Timer]), - .timer_rvalid_o (device_rvalid[Timer]), - .timer_rdata_o (device_rdata[Timer]), - .timer_err_o (device_err[Timer]), - .timer_intr_o (timer_irq) - ); - - export "DPI-C" function mhpmcounter_get; - - function automatic longint unsigned mhpmcounter_get(int index); - return u_top.u_cve2_top.u_cve2_core.cs_registers_i.mhpmcounter[index]; - endfunction - -endmodule diff --git a/examples/simple_system/spike-simple-system.sh b/examples/simple_system/spike-simple-system.sh deleted file mode 100755 index 20e810e768..0000000000 --- a/examples/simple_system/spike-simple-system.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/bash - -set -u -set -e - -# This is a simple bash script to allow you to run a binary compiled -# for the simple_system environment using Spike. -# - -error() { - echo >&2 "$@" - exit 1 -} - -usage () { - echo >&2 "Usage: spike-simple-system [-h] [-v] [-n] [--] [options] " - echo >&2 - echo >&2 " Where is the path to an ELF binary that was" - echo >&2 " compiled for the simple_system environment. Any arguments " - echo >&2 " in will be passed to Spike after those to set up " - echo >&2 " the environment for simple_system tests." - echo >&2 - echo >&2 " If the -v argument is passed, the Spike command will be " - echo >&2 " echoed to stderr before it runs. If the -n argument is passed " - echo >&2 " (which implies -v), we don't actually run the command." - echo >&2 - echo >&2 " This will write the Spike instruction log to stderr." - - exit $1 -} - -declare -a opts -opts=() - -verbose=0 -dryrun=0 - -at_start=1 - -# We can be rather lazy when building our command line here, and don't -# need to distinguish between [options] and , since they end up -# appended to the Spike command line in the same order. -while [ $# != 0 ]; do - if [ $at_start = 1 ]; then - case "$1" in - --help|-h) - usage 0 - ;; - - --verbose|-v) - verbose=1 - ;; - - --dry-run|-n) - dryrun=1 - verbose=1 - ;; - - --) - at_start=0 - ;; - - *) - at_start=0 - opts=("$1") - ;; - esac - else - opts+=("$1") - fi - shift -done - -# If opts is empty, that's definitely an error (since the -# parameter was compulsory). Moan here. -if [ ${#opts[*]} = 0 ]; then - usage 1 -fi - -# Time to figure out how to call the Spike binary. If the user has set -# SPIKE_PATH, we should obey that. Otherwise, we'll just assume that -# they've got their PATH set up sensibly. -if [ x"$SPIKE_PATH" = x ]; then - spike='spike' -else - spike="$SPIKE_PATH/spike" -fi - -# Here are the Spike options you need to run in a simple_system world. -declare -a ss_opts -ss_opts=(--isa=rv32imc - --log-commits - -l - -m0x10000:0x30000,0x100000:0x100000) - -cmd=("$spike" "${ss_opts[@]}" "${opts[@]}") - -if [ $verbose = 1 ]; then - # Echo the command that we're going to run in the same style as - # 'set -x' would. - echo >&2 + "${cmd[@]}" -fi - -if [ $dryrun = 1 ]; then - exit 0 -fi - -exec "${cmd[@]}" diff --git a/examples/sw/.gitignore b/examples/sw/.gitignore deleted file mode 100644 index ddb86046a2..0000000000 --- a/examples/sw/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.o -*.bin -*.dis -*.elf -*.vmem -*.d diff --git a/examples/sw/benchmarks/README.md b/examples/sw/benchmarks/README.md deleted file mode 100644 index 572182fa4d..0000000000 --- a/examples/sw/benchmarks/README.md +++ /dev/null @@ -1,117 +0,0 @@ -# Benchmarks - -This directory contains benchmarks that can be run on ibex simple system. -Benchmarks may rely on code external to this directory (e.g. it may be found in -`vendor/`) see the specific benchmark information below for details on how to -build and run each benchmark and where benchmark code is located. - -## Building Simulation - -All of these benchmarks run on Simple System. A verilator simulation suitable -for running them can be built with: - -``` -fusesoc --cores-root=. run --target=sim --setup --build lowrisc:cve2:cve2_simple_system --RV32E=0 --RV32M=cve2_pkg::RV32MFast -``` - -See examples/simple_system/README.md for full details. - -## CoreMark - -CoreMark (https://www.eembc.org/coremark/ https://github.com/eembc/coremark) is -an industry standard benchmark with results available for a wide variety of -systems. - -The CoreMark source is vendored into the Ibex repository at -`vendor/eembc_coremark`. Support structure and a makefile to build CoreMark for -running on simple system is found in `examples/sw/benchmarks/coremark`. - -To build CoreMark: - -``` -make -C ./examples/sw/benchmarks/coremark/ -``` - -To run CoreMark (after building a suitable simulator binary, see above): - -``` -build/lowrisc_cve2_cve2_simple_system_0/sim-verilator/Vcve2_simple_system --meminit=ram,examples/sw/benchmarks/coremark/coremark.elf -``` - -The simulator outputs the performance counter values observed for the benchmark -(the counts do not include anything from pre or post benchmark loops). - -CoreMark should output (to `cve2_simple_system.log`) something like the -following: - -``` -2K performance run parameters for coremark. -CoreMark Size : 666 -Total ticks : 4244465 -Total time (secs): 8 -Iterations/Sec : 1 -Iterations : 10 -Compiler version : GCC -Compiler flags : -Memory location : -seedcrc : 0xe9f5 -[0]crclist : 0xe714 -[0]crcmatrix : 0x1fd7 -[0]crcstate : 0x8e3a -[0]crcfinal : 0xfcaf -Correct operation validated. See README.md for run and reporting rules. -``` - -### Choice of ISA string - -Different ISAs (to choose different RISC-V ISA extensions) can be selected by -passing the desired ISA string into `RV_ISA` when invoking make. - -``` -make -C ./examples/sw/benchmarks/coremark clean -make -C ./examples/sw/benchmarks/coremark RV_ISA=rv32imc -``` - -This will build CoreMark using the 'C' extension (compressed instructions). - -When changing `RV_ISA`, you must clean out any old build with `make clean` and -rebuild. - -The following ISA strings give the best performance for the Ibex configurations -listed in the README: - -| Config | Best ISA | -|----------------------|----------| -| "small" | rv32im | -| "maxperf" | rv32im | -| "maxperf-pmp-bmfull" | rv32imcb | - -### CoreMark score - -A CoreMark score is given as the number of iterations executed per second. The -CoreMark binary is hard-coded to execute 10 iterations (see -`examples/sw/benchmarks/coremark/Makefile` if you wish to alter this). To obtain -a useful CoreMark score from the simulation you need to choose a clock speed the -Ibex implementation you are interested in would run at, e.g. 100 MHz, taking -the above example: - -* 10 iterations take 4244465 clock cycles -* So at 100 MHz Ibex would execute (100 * 10^6) / (4244465 / 10) = 235.6 - Iterations in 1 second. -* CoreMark (at 100 MHz) is 235.6 - -CoreMark/MHz is often used instead of a raw CoreMark score. The example above -gives a CoreMark/MHz of 2.36 (235.6 / 100 rounded to 2 decimal places). - -To directly produce CoreMark/MHz from the number of iterations (I) and total -ticks (T) use the follow formula: - -``` -CoreMark/MHz = (10 ^ 6) * I / T -``` - -Note that `core_main.c` from CoreMark has had a minor modification to prevent it -from reporting an error if it executes for less than 10 seconds. This violates -the run reporting rules (though does not effect benchmark execution). It is -trivial to restore `core_main.c` to the version supplied by EEMBC in the -CoreMark repository if an official result is desired. diff --git a/examples/sw/benchmarks/coremark/Makefile b/examples/sw/benchmarks/coremark/Makefile deleted file mode 100644 index 9c7f644af9..0000000000 --- a/examples/sw/benchmarks/coremark/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -# -# Build coremark benchmark for Ibex Simple System - -COREMARK_DIR = ../../../../vendor/eembc_coremark - -export PORT_DIR = $(CURDIR)/ibex -export ITERATIONS = 10 -export OPATH = $(CURDIR)/ - -# Export OPATH above doesn't seem to work so need to explicitly give it on the -# make command line -all: - $(MAKE) -C $(COREMARK_DIR) - -clean: - $(MAKE) -C $(COREMARK_DIR) clean diff --git a/examples/sw/benchmarks/coremark/cve2/core_portme.c b/examples/sw/benchmarks/coremark/cve2/core_portme.c deleted file mode 100644 index d394515768..0000000000 --- a/examples/sw/benchmarks/coremark/cve2/core_portme.c +++ /dev/null @@ -1,189 +0,0 @@ -// Copyright lowRISC contributors. -// Copyright 2018 Embedded Microprocessor Benchmark Consortium (EEMBC) -// Original Author: Shay Gal-on -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "core_portme.h" - -#include "coremark.h" - -#include "simple_system_common.h" - -#if VALIDATION_RUN -volatile ee_s32 seed1_volatile = 0x3415; -volatile ee_s32 seed2_volatile = 0x3415; -volatile ee_s32 seed3_volatile = 0x66; -#endif -#if PERFORMANCE_RUN -volatile ee_s32 seed1_volatile = 0x0; -volatile ee_s32 seed2_volatile = 0x0; -volatile ee_s32 seed3_volatile = 0x66; -#endif -#if PROFILE_RUN -volatile ee_s32 seed1_volatile = 0x8; -volatile ee_s32 seed2_volatile = 0x8; -volatile ee_s32 seed3_volatile = 0x8; -#endif -volatile ee_s32 seed4_volatile = ITERATIONS; -volatile ee_s32 seed5_volatile = 0; -/* Porting : Timing functions - How to capture time and convert to seconds must be ported to whatever is - supported by the platform. e.g. Read value from on board RTC, read value from - cpu clock cycles performance counter etc. Sample implementation for standard - time.h and windows.h definitions included. -*/ -CORETIMETYPE barebones_clock() { - ee_u32 result; - - PCOUNT_READ(mcycle, result); - - return result; -} - -/* Define : TIMER_RES_DIVIDER - Divider to trade off timer resolution and total time that can be - measured. - - Use lower values to increase resolution, but make sure that overflow - does not occur. If there are issues with the return value overflowing, - increase this value. - */ -#define GETMYTIME(_t) (*_t = barebones_clock()) -#define MYTIMEDIFF(fin, ini) ((fin) - (ini)) -#define TIMER_RES_DIVIDER 1 -#define SAMPLE_TIME_IMPLEMENTATION 1 -#define CLOCKS_PER_SEC 500000 -#define EE_TICKS_PER_SEC (CLOCKS_PER_SEC / TIMER_RES_DIVIDER) - -void pcount_read(uint32_t pcount_out[]) { - PCOUNT_READ(minstret, pcount_out[0]); - PCOUNT_READ(mhpmcounter3, pcount_out[1]); - PCOUNT_READ(mhpmcounter4, pcount_out[2]); - PCOUNT_READ(mhpmcounter5, pcount_out[3]); - PCOUNT_READ(mhpmcounter6, pcount_out[4]); - PCOUNT_READ(mhpmcounter7, pcount_out[5]); - PCOUNT_READ(mhpmcounter8, pcount_out[6]); - PCOUNT_READ(mhpmcounter9, pcount_out[7]); - PCOUNT_READ(mhpmcounter10, pcount_out[8]); - PCOUNT_READ(mhpmcounter11, pcount_out[9]); - PCOUNT_READ(mhpmcounter12, pcount_out[10]); -} - -const char *pcount_names[] = {"Instructions Retired", - "LSU Busy", - "IFetch wait", - "Loads", - "Stores", - "Jumps", - "Branches", - "Taken Branches", - "Compressed Instructions", - "Multiply Wait", - "Divide Wait"}; - -const uint32_t pcount_num = sizeof(pcount_names) / sizeof(char *); - -void dump_pcounts() { - uint32_t pcounts[pcount_num]; - - pcount_read(pcounts); - ee_printf( - "Performance Counters\n" - "--------------------\n"); - for (uint32_t i = 0; i < pcount_num; ++i) { - ee_printf("%s: %u\n", pcount_names[i], pcounts[i]); - } - ee_printf("\n"); -} - -/** Define Host specific (POSIX), or target specific global time variables. */ -static CORETIMETYPE start_time_val, stop_time_val; - -/* Function : start_time - This function will be called right before starting the timed portion of - the benchmark. - - Implementation may be capturing a system timer (as implemented in the - example code) or zeroing some system parameters - e.g. setting the cpu clocks - cycles to 0. -*/ -void start_time(void) { - pcount_enable(0); - pcount_reset(); - pcount_enable(1); - GETMYTIME(&start_time_val); -} - -/* Function : stop_time - This function will be called right after ending the timed portion of the - benchmark. - - Implementation may be capturing a system timer (as implemented in the - example code) or other system parameters - e.g. reading the current value of - cpu cycles counter. -*/ -void stop_time(void) { - GETMYTIME(&stop_time_val); - pcount_enable(0); -} - -/* Function : get_time - Return an abstract "ticks" number that signifies time on the system. - - Actual value returned may be cpu cycles, milliseconds or any other - value, as long as it can be converted to seconds by . This - methodology is taken to accomodate any hardware or simulated platform. The - sample implementation returns millisecs by default, and the resolution is - controlled by -*/ -CORE_TICKS get_time(void) { - CORE_TICKS elapsed = (CORE_TICKS)(MYTIMEDIFF(stop_time_val, start_time_val)); - return elapsed; -} -/* Function : time_in_secs - Convert the value returned by get_time to seconds. - - The type is used to accomodate systems with no support for - floating point. Default implementation implemented by the EE_TICKS_PER_SEC - macro above. -*/ -secs_ret time_in_secs(CORE_TICKS ticks) { - secs_ret retval = ((secs_ret)ticks) / (secs_ret)EE_TICKS_PER_SEC; - return retval; -} - -ee_u32 default_num_contexts = 1; - -/* Function : portable_init - Target specific initialization code - Test for some common mistakes. -*/ -void portable_init(core_portable *p, int *argc, char *argv[]) { - ee_printf("Ibex CoreMark platform init...\n"); - if (sizeof(ee_ptr_int) != sizeof(ee_u8 *)) { - ee_printf( - "ERROR! Please define ee_ptr_int to a type that holds a pointer!\n"); - } - if (sizeof(ee_u32) != 4) { - ee_printf("ERROR! Please define ee_u32 to a 32b unsigned type!\n"); - } - p->portable_id = 1; -} -/* Function : portable_fini - Target specific final code -*/ -void portable_fini(core_portable *p) { -#ifndef SUPPRESS_PCOUNT_DUMP - dump_pcounts(); -#endif - - CORE_TICKS elapsed = get_time(); - float coremark_mhz; - - coremark_mhz = (1000000.0f * (float)ITERATIONS) / elapsed; - - ee_printf("CoreMark / MHz: %f\n", coremark_mhz); - - p->portable_id = 0; -} diff --git a/examples/sw/benchmarks/coremark/cve2/core_portme.h b/examples/sw/benchmarks/coremark/cve2/core_portme.h deleted file mode 100644 index 4117de4f42..0000000000 --- a/examples/sw/benchmarks/coremark/cve2/core_portme.h +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright lowRISC contributors. -// Copyright 2018 Embedded Microprocessor Benchmark Consortium (EEMBC) -// Original Author: Shay Gal-on -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -/* Topic : Description - This file contains configuration constants required to execute on - different platforms -*/ - -#ifndef CORE_PORTME_H -#define CORE_PORTME_H - -#include - -extern unsigned int _stack_start; - -/************************/ -/* Data types and settings */ -/************************/ -/* Configuration : HAS_FLOAT - Define to 1 if the platform supports floating point. -*/ -#ifndef HAS_FLOAT -#define HAS_FLOAT 1 -#endif -/* Configuration : HAS_TIME_H - Define to 1 if platform has the time.h header file, - and implementation of functions thereof. -*/ -#ifndef HAS_TIME_H -#define HAS_TIME_H 0 -#endif -/* Configuration : USE_CLOCK - Define to 1 if platform has the time.h header file, - and implementation of functions thereof. -*/ -#ifndef USE_CLOCK -#define USE_CLOCK 0 -#endif -/* Configuration : HAS_STDIO - Define to 1 if the platform has stdio.h. -*/ -#ifndef HAS_STDIO -#define HAS_STDIO 0 -#endif -/* Configuration : HAS_PRINTF - Define to 1 if the platform has stdio.h and implements the printf - function. -*/ -#ifndef HAS_PRINTF -#define HAS_PRINTF 0 -#endif - -/* Definitions : COMPILER_VERSION, COMPILER_FLAGS, MEM_LOCATION - Initialize these strings per platform -*/ -#ifndef COMPILER_VERSION -#ifdef __GNUC__ -#define COMPILER_VERSION "GCC" -#else -#define COMPILER_VERSION "unknown" -#endif -#endif -#ifndef COMPILER_FLAGS -#define COMPILER_FLAGS "" /* "Please put compiler flags here (e.g. -o3)" */ -#endif -#ifndef MEM_LOCATION -#define MEM_LOCATION "STACK" -#endif - -/* Data Types : - To avoid compiler issues, define the data types that need to be used for - 8b, 16b and 32b in . - - *Imprtant* : - ee_ptr_int needs to be the data type used to hold pointers, otherwise - CoreMark may fail!!! -*/ -typedef signed short ee_s16; -typedef unsigned short ee_u16; -typedef signed int ee_s32; -typedef double ee_f32; -typedef unsigned char ee_u8; -typedef unsigned int ee_u32; -typedef ee_u32 ee_ptr_int; -typedef size_t ee_size_t; -#define NULL ((void *)0) -/* align_mem : - This macro is used to align an offset to point to a 32b value. It is - used in the Matrix algorithm to initialize the input memory blocks. -*/ -#define align_mem(x) (void *)(4 + (((ee_ptr_int)(x)-1) & ~3)) - -/* Configuration : CORE_TICKS - Define type of return from the timing functions. - */ -#define CORETIMETYPE ee_u32 -typedef ee_u32 CORE_TICKS; - -/* Configuration : SEED_METHOD - Defines method to get seed values that cannot be computed at compile - time. - - Valid values : - SEED_ARG - from command line. - SEED_FUNC - from a system function. - SEED_VOLATILE - from volatile variables. -*/ -#ifndef SEED_METHOD -#define SEED_METHOD SEED_VOLATILE -#endif - -/* Configuration : MEM_METHOD - Defines method to get a block of memry. - - Valid values : - MEM_MALLOC - for platforms that implement malloc and have malloc.h. - MEM_STATIC - to use a static memory array. - MEM_STACK - to allocate the data block on the stack (NYI). -*/ -#ifndef MEM_METHOD -#define MEM_METHOD MEM_STACK -#endif - -/* Configuration : MULTITHREAD - Define for parallel execution - - Valid values : - 1 - only one context (default). - N>1 - will execute N copies in parallel. - - Note : - If this flag is defined to more then 1, an implementation for launching - parallel contexts must be defined. - - Two sample implementations are provided. Use or - to enable them. - - It is valid to have a different implementation of - and in , to fit a particular architecture. -*/ -#ifndef MULTITHREAD -#define MULTITHREAD 1 -#define USE_PTHREAD 0 -#define USE_FORK 0 -#define USE_SOCKET 0 -#endif - -/* Configuration : MAIN_HAS_NOARGC - Needed if platform does not support getting arguments to main. - - Valid values : - 0 - argc/argv to main is supported - 1 - argc/argv to main is not supported - - Note : - This flag only matters if MULTITHREAD has been defined to a value - greater then 1. -*/ -#ifndef MAIN_HAS_NOARGC -#define MAIN_HAS_NOARGC 0 -#endif - -/* Configuration : MAIN_HAS_NORETURN - Needed if platform does not support returning a value from main. - - Valid values : - 0 - main returns an int, and return value will be 0. - 1 - platform does not support returning a value from main -*/ -#ifndef MAIN_HAS_NORETURN -#define MAIN_HAS_NORETURN 0 -#endif - -/* Variable : default_num_contexts - Not used for this simple port, must cintain the value 1. -*/ -extern ee_u32 default_num_contexts; - -typedef struct CORE_PORTABLE_S { ee_u8 portable_id; } core_portable; - -/* target specific init/fini */ -void portable_init(core_portable *p, int *argc, char *argv[]); -void portable_fini(core_portable *p); - -#if !defined(PROFILE_RUN) && !defined(PERFORMANCE_RUN) && \ - !defined(VALIDATION_RUN) -#if (TOTAL_DATA_SIZE == 1200) -#define PROFILE_RUN 1 -#elif (TOTAL_DATA_SIZE == 2000) -#define PERFORMANCE_RUN 1 -#else -#define VALIDATION_RUN 1 -#endif -#endif - -int ee_printf(const char *fmt, ...); - -#endif /* CORE_PORTME_H */ diff --git a/examples/sw/benchmarks/coremark/cve2/core_portme.mak b/examples/sw/benchmarks/coremark/cve2/core_portme.mak deleted file mode 100755 index c9ae95737a..0000000000 --- a/examples/sw/benchmarks/coremark/cve2/core_portme.mak +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright lowRISC contributors. -# Copyright 2018 Embedded Microprocessor Benchmark Consortium (EEMBC) -# Original Author: Shay Gal-on -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 - -RV_ISA = rv32im -SUPPRESS_PCOUNT_DUMP = 0 - -OUTFILES = $(OPATH)coremark.dis $(OPATH)coremark.map $(OPATH)coremark.vmem - -NAME = coremark -PORT_CLEAN := $(OUTFILES) -SIMPLE_SYSTEM_COMMON = ../../examples/sw/simple_system/common -EXT_SRCS = $(wildcard $(SIMPLE_SYSTEM_COMMON)/*.c) -CRT0 = $(SIMPLE_SYSTEM_COMMON)/crt0.S -LINKER_SCRIPT = $(SIMPLE_SYSTEM_COMMON)/link.ld - -# Flag : OUTFLAG -# Use this flag to define how to to get an executable (e.g -o) -OUTFLAG = -o -# Flag : CC -# Use this flag to define compiler to use -CC = riscv32-unknown-elf-gcc -# Flag : LD -# Use this flag to define compiler to use -LD = riscv32-unknown-elf-ld -# Flag : AS -# Use this flag to define compiler to use -AS = riscv32-unknown-elf-as -# Flag : CFLAGS -# Use this flag to define compiler options. Note, you can add compiler options from the command line using XCFLAGS="other flags" -PORT_CFLAGS = -g -march=$(RV_ISA) -mabi=ilp32 -static -mcmodel=medlow -mtune=sifive-3-series \ - -O3 -falign-functions=16 -funroll-all-loops \ - -finline-functions -falign-jumps=4 \ - -nostdlib -nostartfiles -ffreestanding -mstrict-align \ - -DTOTAL_DATA_SIZE=2000 -DMAIN_HAS_NOARGC=1 \ - -DPERFORMANCE_RUN=1 - -ifeq ($(SUPPRESS_PCOUNT_DUMP),1) - PORT_CFLAGS += -DSUPPRESS_PCOUNT_DUMP -endif - -FLAGS_STR = "$(PORT_CFLAGS) $(XCFLAGS) $(XLFLAGS) $(LFLAGS_END)" -CFLAGS += $(PORT_CFLAGS) $(XCFLAGS) -I$(SIMPLE_SYSTEM_COMMON) -I$(PORT_DIR) -I. -#Flag : LFLAGS_END -# Define any libraries needed for linking or other flags that should come at the end of the link line (e.g. linker scripts). -# Note : On certain platforms, the default clock_gettime implementation is supported but requires linking of librt. -#SEPARATE_COMPILE=1 -# Flag : SEPARATE_COMPILE -# You must also define below how to create an object file, and how to link. -OBJOUT = -o -LFLAGS = -ASFLAGS = -OFLAG = -o -COUT = -c - -LFLAGS_END = -T $(LINKER_SCRIPT) -Xlinker -Map=$(OPATH)coremark.map -lm -lgcc -# Flag : PORT_SRCS -# Port specific source files can be added here -# You may also need cvt.c if the fcvt functions are not provided as intrinsics by your compiler! -PORT_SRCS = $(PORT_DIR)/core_portme.c $(PORT_DIR)/ee_printf.c ./barebones/cvt.c $(CRT0) $(EXT_SRCS) -vpath %.c $(PORT_DIR) -vpath %.s $(PORT_DIR) - -# Flag : LOAD -# For a simple port, we assume self hosted compile and run, no load needed. - -# Flag : RUN -# For a simple port, we assume self hosted compile and run, simple invocation of the executable - -LOAD = echo "Please set LOAD to the process of loading the executable to the flash" -RUN = echo "Please set LOAD to the process of running the executable (e.g. via jtag, or board reset)" - -OEXT = .o -EXE = .elf - -$(OPATH)$(PORT_DIR)/%$(OEXT) : %.c - $(CC) $(CFLAGS) $(XCFLAGS) $(COUT) $< $(OBJOUT) $@ - -$(OPATH)%$(OEXT) : %.c - $(CC) $(CFLAGS) $(XCFLAGS) $(COUT) $< $(OBJOUT) $@ - -$(OPATH)$(PORT_DIR)/%$(OEXT) : %.s - $(AS) $(ASFLAGS) $< $(OBJOUT) $@ - -# Target : port_pre% and port_post% -# For the purpose of this simple port, no pre or post steps needed. - -.PHONY : port_clean port_prebuild port_postbuild port_prerun port_postrun port_preload port_postload - -port_postbuild: - riscv32-unknown-elf-objdump -SD $(OPATH)coremark.elf > $(OPATH)coremark.dis - riscv32-unknown-elf-objcopy -O binary $(OPATH)coremark.elf $(OPATH)coremark.bin - srec_cat $(OPATH)coremark.bin -binary -offset 0x0000 -byte-swap 4 -o $(OPATH)coremark.vmem -vmem - - -# FLAG : OPATH -# Path to the output folder. Default - current folder. -MKDIR = mkdir -p diff --git a/examples/sw/benchmarks/coremark/cve2/ee_printf.c b/examples/sw/benchmarks/coremark/cve2/ee_printf.c deleted file mode 100644 index 913baefb66..0000000000 --- a/examples/sw/benchmarks/coremark/cve2/ee_printf.c +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright lowRISC contributors. -// Copyright 2018 Embedded Microprocessor Benchmark Consortium (EEMBC) -// Original Author: Shay Gal-on -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include -#include - -#include "simple_system_common.h" - -#define ZEROPAD (1 << 0) /* Pad with zero */ -#define SIGN (1 << 1) /* Unsigned/signed long */ -#define PLUS (1 << 2) /* Show plus */ -#define SPACE (1 << 3) /* Spacer */ -#define LEFT (1 << 4) /* Left justified */ -#define HEX_PREP (1 << 5) /* 0x */ -#define UPPERCASE (1 << 6) /* 'ABCDEF' */ - -#define is_digit(c) ((c) >= '0' && (c) <= '9') - -static char *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; -static char *upper_digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; -static ee_size_t strnlen(const char *s, ee_size_t count); - -static ee_size_t strnlen(const char *s, ee_size_t count) { - const char *sc; - for (sc = s; *sc != '\0' && count--; ++sc) - ; - return sc - s; -} - -static int skip_atoi(const char **s) { - int i = 0; - while (is_digit(**s)) - i = i * 10 + *((*s)++) - '0'; - return i; -} - -static char *number(char *str, long num, int base, int size, int precision, - int type) { - char c, sign, tmp[66]; - char *dig = digits; - int i; - - if (type & UPPERCASE) - dig = upper_digits; - if (type & LEFT) - type &= ~ZEROPAD; - if (base < 2 || base > 36) - return 0; - - c = (type & ZEROPAD) ? '0' : ' '; - sign = 0; - if (type & SIGN) { - if (num < 0) { - sign = '-'; - num = -num; - size--; - } else if (type & PLUS) { - sign = '+'; - size--; - } else if (type & SPACE) { - sign = ' '; - size--; - } - } - - if (type & HEX_PREP) { - if (base == 16) - size -= 2; - else if (base == 8) - size--; - } - - i = 0; - - if (num == 0) - tmp[i++] = '0'; - else { - while (num != 0) { - tmp[i++] = dig[((unsigned long)num) % (unsigned)base]; - num = ((unsigned long)num) / (unsigned)base; - } - } - - if (i > precision) - precision = i; - size -= precision; - if (!(type & (ZEROPAD | LEFT))) - while (size-- > 0) - *str++ = ' '; - if (sign) - *str++ = sign; - - if (type & HEX_PREP) { - if (base == 8) - *str++ = '0'; - else if (base == 16) { - *str++ = '0'; - *str++ = digits[33]; - } - } - - if (!(type & LEFT)) - while (size-- > 0) - *str++ = c; - while (i < precision--) - *str++ = '0'; - while (i-- > 0) - *str++ = tmp[i]; - while (size-- > 0) - *str++ = ' '; - - return str; -} - -static char *eaddr(char *str, unsigned char *addr, int size, int precision, - int type) { - char tmp[24]; - char *dig = digits; - int i, len; - - if (type & UPPERCASE) - dig = upper_digits; - len = 0; - for (i = 0; i < 6; i++) { - if (i != 0) - tmp[len++] = ':'; - tmp[len++] = dig[addr[i] >> 4]; - tmp[len++] = dig[addr[i] & 0x0F]; - } - - if (!(type & LEFT)) - while (len < size--) - *str++ = ' '; - for (i = 0; i < len; ++i) - *str++ = tmp[i]; - while (len < size--) - *str++ = ' '; - - return str; -} - -static char *iaddr(char *str, unsigned char *addr, int size, int precision, - int type) { - char tmp[24]; - int i, n, len; - - len = 0; - for (i = 0; i < 4; i++) { - if (i != 0) - tmp[len++] = '.'; - n = addr[i]; - - if (n == 0) - tmp[len++] = digits[0]; - else { - if (n >= 100) { - tmp[len++] = digits[n / 100]; - n = n % 100; - tmp[len++] = digits[n / 10]; - n = n % 10; - } else if (n >= 10) { - tmp[len++] = digits[n / 10]; - n = n % 10; - } - - tmp[len++] = digits[n]; - } - } - - if (!(type & LEFT)) - while (len < size--) - *str++ = ' '; - for (i = 0; i < len; ++i) - *str++ = tmp[i]; - while (len < size--) - *str++ = ' '; - - return str; -} - -#if HAS_FLOAT - -char *ecvtbuf(double arg, int ndigits, int *decpt, int *sign, char *buf); -char *fcvtbuf(double arg, int ndigits, int *decpt, int *sign, char *buf); -static void ee_bufcpy(char *d, char *s, int count); - -void ee_bufcpy(char *pd, char *ps, int count) { - char *pe = ps + count; - while (ps != pe) - *pd++ = *ps++; -} - -static void parse_float(double value, char *buffer, char fmt, int precision) { - int decpt, sign, exp, pos; - char *digits = NULL; - char cvtbuf[80]; - int capexp = 0; - int magnitude; - - if (fmt == 'G' || fmt == 'E') { - capexp = 1; - fmt += 'a' - 'A'; - } - - if (fmt == 'g') { - digits = ecvtbuf(value, precision, &decpt, &sign, cvtbuf); - magnitude = decpt - 1; - if (magnitude < -4 || magnitude > precision - 1) { - fmt = 'e'; - precision -= 1; - } else { - fmt = 'f'; - precision -= decpt; - } - } - - if (fmt == 'e') { - digits = ecvtbuf(value, precision + 1, &decpt, &sign, cvtbuf); - - if (sign) - *buffer++ = '-'; - *buffer++ = *digits; - if (precision > 0) - *buffer++ = '.'; - ee_bufcpy(buffer, digits + 1, precision); - buffer += precision; - *buffer++ = capexp ? 'E' : 'e'; - - if (decpt == 0) { - if (value == 0.0) - exp = 0; - else - exp = -1; - } else - exp = decpt - 1; - - if (exp < 0) { - *buffer++ = '-'; - exp = -exp; - } else - *buffer++ = '+'; - - buffer[2] = (exp % 10) + '0'; - exp = exp / 10; - buffer[1] = (exp % 10) + '0'; - exp = exp / 10; - buffer[0] = (exp % 10) + '0'; - buffer += 3; - } else if (fmt == 'f') { - digits = fcvtbuf(value, precision, &decpt, &sign, cvtbuf); - if (sign) - *buffer++ = '-'; - if (*digits) { - if (decpt <= 0) { - *buffer++ = '0'; - *buffer++ = '.'; - for (pos = 0; pos < -decpt; pos++) - *buffer++ = '0'; - while (*digits) - *buffer++ = *digits++; - } else { - pos = 0; - while (*digits) { - if (pos++ == decpt) - *buffer++ = '.'; - *buffer++ = *digits++; - } - } - } else { - *buffer++ = '0'; - if (precision > 0) { - *buffer++ = '.'; - for (pos = 0; pos < precision; pos++) - *buffer++ = '0'; - } - } - } - - *buffer = '\0'; -} - -static void decimal_point(char *buffer) { - while (*buffer) { - if (*buffer == '.') - return; - if (*buffer == 'e' || *buffer == 'E') - break; - buffer++; - } - - if (*buffer) { - int n = strnlen(buffer, 256); - while (n > 0) { - buffer[n + 1] = buffer[n]; - n--; - } - - *buffer = '.'; - } else { - *buffer++ = '.'; - *buffer = '\0'; - } -} - -static void cropzeros(char *buffer) { - char *stop; - - while (*buffer && *buffer != '.') - buffer++; - if (*buffer++) { - while (*buffer && *buffer != 'e' && *buffer != 'E') - buffer++; - stop = buffer--; - while (*buffer == '0') - buffer--; - if (*buffer == '.') - buffer--; - while (buffer != stop) - *++buffer = 0; - } -} - -static char *flt(char *str, double num, int size, int precision, char fmt, - int flags) { - char tmp[80]; - char c, sign; - int n, i; - - // Left align means no zero padding - if (flags & LEFT) - flags &= ~ZEROPAD; - - // Determine padding and sign char - c = (flags & ZEROPAD) ? '0' : ' '; - sign = 0; - if (flags & SIGN) { - if (num < 0.0) { - sign = '-'; - num = -num; - size--; - } else if (flags & PLUS) { - sign = '+'; - size--; - } else if (flags & SPACE) { - sign = ' '; - size--; - } - } - - // Compute the precision value - if (precision < 0) - precision = 6; // Default precision: 6 - - // Convert floating point number to text - parse_float(num, tmp, fmt, precision); - - if ((flags & HEX_PREP) && precision == 0) - decimal_point(tmp); - if (fmt == 'g' && !(flags & HEX_PREP)) - cropzeros(tmp); - - n = strnlen(tmp, 256); - - // Output number with alignment and padding - size -= n; - if (!(flags & (ZEROPAD | LEFT))) - while (size-- > 0) - *str++ = ' '; - if (sign) - *str++ = sign; - if (!(flags & LEFT)) - while (size-- > 0) - *str++ = c; - for (i = 0; i < n; i++) - *str++ = tmp[i]; - while (size-- > 0) - *str++ = ' '; - - return str; -} - -#endif - -static int ee_vsprintf(char *buf, const char *fmt, va_list args) { - int len; - unsigned long num; - int i, base; - char *str; - char *s; - - int flags; // Flags to number() - - int field_width; // Width of output field - int precision; // Min. # of digits for integers; max number of chars for from - // string - int qualifier; // 'h', 'l', or 'L' for integer fields - - for (str = buf; *fmt; fmt++) { - if (*fmt != '%') { - *str++ = *fmt; - continue; - } - - // Process flags - flags = 0; - repeat: - fmt++; // This also skips first '%' - switch (*fmt) { - case '-': - flags |= LEFT; - goto repeat; - case '+': - flags |= PLUS; - goto repeat; - case ' ': - flags |= SPACE; - goto repeat; - case '#': - flags |= HEX_PREP; - goto repeat; - case '0': - flags |= ZEROPAD; - goto repeat; - } - - // Get field width - field_width = -1; - if (is_digit(*fmt)) - field_width = skip_atoi(&fmt); - else if (*fmt == '*') { - fmt++; - field_width = va_arg(args, int); - if (field_width < 0) { - field_width = -field_width; - flags |= LEFT; - } - } - - // Get the precision - precision = -1; - if (*fmt == '.') { - ++fmt; - if (is_digit(*fmt)) - precision = skip_atoi(&fmt); - else if (*fmt == '*') { - ++fmt; - precision = va_arg(args, int); - } - if (precision < 0) - precision = 0; - } - - // Get the conversion qualifier - qualifier = -1; - if (*fmt == 'l' || *fmt == 'L') { - qualifier = *fmt; - fmt++; - } - - // Default base - base = 10; - - switch (*fmt) { - case 'c': - if (!(flags & LEFT)) - while (--field_width > 0) - *str++ = ' '; - *str++ = (unsigned char)va_arg(args, int); - while (--field_width > 0) - *str++ = ' '; - continue; - - case 's': - s = va_arg(args, char *); - if (!s) - s = ""; - len = strnlen(s, precision); - if (!(flags & LEFT)) - while (len < field_width--) - *str++ = ' '; - for (i = 0; i < len; ++i) - *str++ = *s++; - while (len < field_width--) - *str++ = ' '; - continue; - - case 'p': - if (field_width == -1) { - field_width = 2 * sizeof(void *); - flags |= ZEROPAD; - } - str = number(str, (unsigned long)va_arg(args, void *), 16, field_width, - precision, flags); - continue; - - case 'A': - flags |= UPPERCASE; - - case 'a': - if (qualifier == 'l') - str = eaddr(str, va_arg(args, unsigned char *), field_width, - precision, flags); - else - str = iaddr(str, va_arg(args, unsigned char *), field_width, - precision, flags); - continue; - - // Integer number formats - set up the flags and "break" - case 'o': - base = 8; - break; - - case 'X': - flags |= UPPERCASE; - - case 'x': - base = 16; - break; - - case 'd': - case 'i': - flags |= SIGN; - - case 'u': - break; - -#if HAS_FLOAT - - case 'f': - str = flt(str, va_arg(args, double), field_width, precision, *fmt, - flags | SIGN); - continue; - -#endif - - default: - if (*fmt != '%') - *str++ = '%'; - if (*fmt) - *str++ = *fmt; - else - --fmt; - continue; - } - - if (qualifier == 'l') - num = va_arg(args, unsigned long); - else if (flags & SIGN) - num = va_arg(args, int); - else - num = va_arg(args, unsigned int); - - str = number(str, num, base, field_width, precision, flags); - } - - *str = '\0'; - return str - buf; -} - -int ee_printf(const char *fmt, ...) { - char buf[256], *p; - va_list args; - int n = 0; - - va_start(args, fmt); - ee_vsprintf(buf, fmt, args); - va_end(args); - p = buf; - while (*p) { - putchar(*p); - n++; - p++; - } - - return n; -} diff --git a/examples/sw/led/Makefile b/examples/sw/led/Makefile deleted file mode 100644 index fadd10ed07..0000000000 --- a/examples/sw/led/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -# -# Generate a baremetal application - -PROGRAM ?= led -PROGRAM_CFLAGS = -Wall -g -Os -ARCH = rv32imc -# ARCH = rv32im # to disable compressed instructions -SRCS = $(PROGRAM).c - -CC = riscv32-unknown-elf-gcc - -CROSS_COMPILE = $(patsubst %-gcc,%-,$(CC)) -OBJCOPY ?= $(CROSS_COMPILE)objcopy -OBJDUMP ?= $(CROSS_COMPILE)objdump - -LINKER_SCRIPT ?= link.ld -CRT ?= crt0.S -CFLAGS ?= -march=$(ARCH) -mabi=ilp32 -static -mcmodel=medany \ - -fvisibility=hidden -nostdlib -nostartfiles $(PROGRAM_CFLAGS) - -OBJS := ${SRCS:.c=.o} ${CRT:.S=.o} -DEPS = $(OBJS:%.o=%.d) - -OUTFILES = $(PROGRAM).elf $(PROGRAM).vmem $(PROGRAM).bin $(PROGRAM).dis - -all: $(OUTFILES) - -$(PROGRAM).elf: $(OBJS) $(LINKER_SCRIPT) - $(CC) $(CFLAGS) -T $(LINKER_SCRIPT) $(OBJS) -o $@ $(LIBS) - -%.dis: %.elf - $(OBJDUMP) -SD $^ > $@ - -# Note: this target requires the srecord package to be installed. -# XXX: This could be replaced by objcopy once -# https://sourceware.org/bugzilla/show_bug.cgi?id=19921 -# is widely available. -# XXX: Currently the start address 0x00000000 is hardcoded. It could/should be -# read from the elf file, but is lost in the bin file. -# Switching to objcopy will resolve that as well. -%.vmem: %.bin - srec_cat $^ -binary -offset 0x0000 -byte-swap 4 -o $@ -vmem - -%.bin: %.elf - $(OBJCOPY) -O binary $^ $@ - -%.o: %.c - $(CC) $(CFLAGS) -MMD -c $(INCS) -o $@ $< - -%.o: %.S - $(CC) $(CFLAGS) -MMD -c $(INCS) -o $@ $< - -clean: - $(RM) -f *.o *.d - -distclean: clean - $(RM) -f $(OUTFILES) diff --git a/examples/sw/led/crt0.S b/examples/sw/led/crt0.S deleted file mode 100644 index 9f987f7eed..0000000000 --- a/examples/sw/led/crt0.S +++ /dev/null @@ -1,89 +0,0 @@ - .section .text - -default_exc_handler: - jal x0, default_exc_handler - -reset_handler: - /* set all registers to zero */ - mv x1, x0 - mv x2, x1 - mv x3, x1 - mv x4, x1 - mv x5, x1 - mv x6, x1 - mv x7, x1 - mv x8, x1 - mv x9, x1 - mv x10, x1 - mv x11, x1 - mv x12, x1 - mv x13, x1 - mv x14, x1 - mv x15, x1 - mv x16, x1 - mv x17, x1 - mv x18, x1 - mv x19, x1 - mv x20, x1 - mv x21, x1 - mv x22, x1 - mv x23, x1 - mv x24, x1 - mv x25, x1 - mv x26, x1 - mv x27, x1 - mv x28, x1 - mv x29, x1 - mv x30, x1 - mv x31, x1 - - /* stack initilization */ - la x2, _stack_start - -_start: - .global _start - - /* clear BSS */ - la x26, _bss_start - la x27, _bss_end - - bge x26, x27, zero_loop_end - -zero_loop: - sw x0, 0(x26) - addi x26, x26, 4 - ble x26, x27, zero_loop -zero_loop_end: - - -main_entry: - /* jump to main program entry point (argc = argv = 0) */ - addi x10, x0, 0 - addi x11, x0, 0 - jal x1, main - -/* =================================================== [ exceptions ] === */ -/* This section has to be down here, since we have to disable rvc for it */ - - .section .vectors, "ax" - .option norvc; - - // external interrupts are handled by the same callback - // until compiler supports IRQ routines - .org 0x00 - .rept 31 - nop - .endr - jal x0, default_exc_handler - - // reset vector - .org 0x80 - jal x0, reset_handler - - // illegal instruction exception - .org 0x84 - jal x0, default_exc_handler - - // ecall handler - .org 0x88 - jal x0, default_exc_handler diff --git a/examples/sw/led/led.c b/examples/sw/led/led.c deleted file mode 100644 index 071895785a..0000000000 --- a/examples/sw/led/led.c +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include -#define CLK_FIXED_FREQ_HZ (50ULL * 1000 * 1000) - -/** - * Delay loop executing within 8 cycles on ibex - */ -static void delay_loop_cve2(unsigned long loops) { - int out; /* only to notify compiler of modifications to |loops| */ - asm volatile( - "1: nop \n" // 1 cycle - " nop \n" // 1 cycle - " nop \n" // 1 cycle - " nop \n" // 1 cycle - " addi %1, %1, -1 \n" // 1 cycle - " bnez %1, 1b \n" // 3 cycles - : "=&r" (out) - : "0" (loops) - ); -} - -static int usleep_cve2(unsigned long usec) { - unsigned long usec_cycles; - usec_cycles = CLK_FIXED_FREQ_HZ * usec / 1000 / 1000 / 8; - - delay_loop_cve2(usec_cycles); - return 0; -} - -static int usleep(unsigned long usec) { - return usleep_cve2(usec); -} - -int main(int argc, char **argv) { - // The lowest four bits of the highest byte written to the memory region named - // "stack" are connected to the LEDs of the board. - volatile uint8_t *var = (volatile uint8_t *) 0x0000c010; - *var = 0x0a; - - while (1) { - usleep(1000 * 1000); // 1000 ms - *var = ~(*var); - } -} diff --git a/examples/sw/led/link.ld b/examples/sw/led/link.ld deleted file mode 100644 index 1b7fef15e9..0000000000 --- a/examples/sw/led/link.ld +++ /dev/null @@ -1,105 +0,0 @@ -OUTPUT_ARCH(riscv) - -/* required to correctly link newlib */ -GROUP( -lc -lgloss -lgcc -lsupc++ ) - -SEARCH_DIR(.) -__DYNAMIC = 0; - -MEMORY -{ - rom : ORIGIN = 0x00000000, LENGTH = 0xC000 /* 48 kB */ - stack : ORIGIN = 0x0000C000, LENGTH = 0x4000 /* 16 kB */ -} - -/* Stack information variables */ -_min_stack = 0x2000; /* 8K - minimum stack space to reserve */ -_stack_len = LENGTH(stack); -_stack_start = ORIGIN(stack) + LENGTH(stack); - -/* We have to align each sector to word boundaries as our current s19->slm - * conversion scripts are not able to handle non-word aligned sections. */ - -SECTIONS -{ - .vectors : - { - . = ALIGN(4); - KEEP(*(.vectors)) - } > rom - - .text : { - . = ALIGN(4); - _stext = .; - *(.text) - *(.text.*) - _etext = .; - __CTOR_LIST__ = .; - LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) - *(.ctors) - LONG(0) - __CTOR_END__ = .; - __DTOR_LIST__ = .; - LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) - *(.dtors) - LONG(0) - __DTOR_END__ = .; - *(.lit) - *(.shdata) - . = ALIGN(4); - _endtext = .; - } > rom - - .rodata : { - . = ALIGN(4); - *(.rodata); - *(.rodata.*) - } > rom - - .shbss : - { - . = ALIGN(4); - *(.shbss) - } > rom - - .data : { - . = ALIGN(4); - sdata = .; - _sdata = .; - *(.data); - *(.data.*) - edata = .; - _edata = .; - } > rom - - .bss : - { - . = ALIGN(4); - _bss_start = .; - *(.bss) - *(.bss.*) - *(.sbss) - *(.sbss.*) - *(COMMON) - _bss_end = .; - } > rom - - /* ensure there is enough room for stack */ - .stack (NOLOAD): { - . = ALIGN(4); - . = . + _min_stack ; - . = ALIGN(4); - stack = . ; - _stack = . ; - } > stack - - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } -} diff --git a/examples/sw/simple_system/common/common.mk b/examples/sw/simple_system/common/common.mk deleted file mode 100644 index 9c4946e6d7..0000000000 --- a/examples/sw/simple_system/common/common.mk +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 - -COMMON_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) - -COMMON_SRCS = $(wildcard $(COMMON_DIR)/*.c) -INCS := -I$(COMMON_DIR) - -# ARCH = rv32im # to disable compressed instructions -ARCH ?= rv32imc - -ifdef PROGRAM -PROGRAM_C := $(PROGRAM).c -endif - -SRCS = $(COMMON_SRCS) $(PROGRAM_C) $(EXTRA_SRCS) - -C_SRCS = $(filter %.c, $(SRCS)) -ASM_SRCS = $(filter %.S, $(SRCS)) - -CC = riscv32-unknown-elf-gcc - -CROSS_COMPILE = $(patsubst %-gcc,%-,$(CC)) -OBJCOPY ?= $(CROSS_COMPILE)objcopy -OBJDUMP ?= $(CROSS_COMPILE)objdump - -LINKER_SCRIPT ?= $(COMMON_DIR)/link.ld -CRT ?= $(COMMON_DIR)/crt0.S -CFLAGS ?= -march=$(ARCH) -mabi=ilp32 -static -mcmodel=medany -Wall -g -Os\ - -fvisibility=hidden -nostdlib -nostartfiles -ffreestanding $(PROGRAM_CFLAGS) - -OBJS := ${C_SRCS:.c=.o} ${ASM_SRCS:.S=.o} ${CRT:.S=.o} -DEPS = $(OBJS:%.o=%.d) - -ifdef PROGRAM -OUTFILES := $(PROGRAM).elf $(PROGRAM).vmem $(PROGRAM).bin -else -OUTFILES := $(OBJS) -endif - -all: $(OUTFILES) - -ifdef PROGRAM -$(PROGRAM).elf: $(OBJS) $(LINKER_SCRIPT) - $(CC) $(CFLAGS) -T $(LINKER_SCRIPT) $(OBJS) -o $@ $(LIBS) - -.PHONY: disassemble -disassemble: $(PROGRAM).dis -endif - -%.dis: %.elf - $(OBJDUMP) -fhSD $^ > $@ - -# Note: this target requires the srecord package to be installed. -# XXX: This could be replaced by objcopy once -# https://sourceware.org/bugzilla/show_bug.cgi?id=19921 -# is widely available. -%.vmem: %.bin - srec_cat $^ -binary -offset 0x0000 -byte-swap 4 -o $@ -vmem - -%.bin: %.elf - $(OBJCOPY) -O binary $^ $@ - -%.o: %.c - $(CC) $(CFLAGS) -MMD -c $(INCS) -o $@ $< - -%.o: %.S - $(CC) $(CFLAGS) -MMD -c $(INCS) -o $@ $< - -clean: - $(RM) -f $(OBJS) $(DEPS) - -distclean: clean - $(RM) -f $(OUTFILES) diff --git a/examples/sw/simple_system/common/crt0.S b/examples/sw/simple_system/common/crt0.S deleted file mode 100644 index 8eee92bc7a..0000000000 --- a/examples/sw/simple_system/common/crt0.S +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 - -#include "simple_system_regs.h" - -.section .text - -default_exc_handler: - jal x0, simple_exc_handler - -timer_handler: - jal x0, simple_timer_handler - -reset_handler: - /* set all registers to zero */ - mv x1, x0 - mv x2, x1 - mv x3, x1 - mv x4, x1 - mv x5, x1 - mv x6, x1 - mv x7, x1 - mv x8, x1 - mv x9, x1 - mv x10, x1 - mv x11, x1 - mv x12, x1 - mv x13, x1 - mv x14, x1 - mv x15, x1 - mv x16, x1 - mv x17, x1 - mv x18, x1 - mv x19, x1 - mv x20, x1 - mv x21, x1 - mv x22, x1 - mv x23, x1 - mv x24, x1 - mv x25, x1 - mv x26, x1 - mv x27, x1 - mv x28, x1 - mv x29, x1 - mv x30, x1 - mv x31, x1 - - /* stack initilization */ - la x2, _stack_start - -_start: - .global _start - - /* clear BSS */ - la x26, _bss_start - la x27, _bss_end - - bge x26, x27, zero_loop_end - -zero_loop: - sw x0, 0(x26) - addi x26, x26, 4 - ble x26, x27, zero_loop -zero_loop_end: - - -main_entry: - /* jump to main program entry point (argc = argv = 0) */ - addi x10, x0, 0 - addi x11, x0, 0 - jal x1, main - - /* Halt simulation */ - li x5, SIM_CTRL_BASE + SIM_CTRL_CTRL - li x6, 1 - sw x6, 0(x5) - - /* If execution ends up here just put the core to sleep */ -sleep_loop: - wfi - j sleep_loop - -/* =================================================== [ exceptions ] === */ -/* This section has to be down here, since we have to disable rvc for it */ - - .section .vectors, "ax" - .option norvc; - - // All unimplemented interrupts/exceptions go to the default_exc_handler. - .org 0x00 - .rept 7 - jal x0, default_exc_handler - .endr - jal x0, timer_handler - .rept 23 - jal x0, default_exc_handler - .endr - - // reset vector - .org 0x80 - jal x0, reset_handler diff --git a/examples/sw/simple_system/common/link.ld b/examples/sw/simple_system/common/link.ld deleted file mode 100644 index 297ffc1a30..0000000000 --- a/examples/sw/simple_system/common/link.ld +++ /dev/null @@ -1,90 +0,0 @@ -/* Copyright lowRISC contributors. - Licensed under the Apache License, Version 2.0, see LICENSE for details. - SPDX-License-Identifier: Apache-2.0 */ - -OUTPUT_ARCH(riscv) - -MEMORY -{ -/* Change this if you'd like different sizes. Arty A7-100(35) has a maximum of 607.5KB(225KB) - BRAM space. Configuration below is for maximum BRAM capacity with Artya A7-35 while letting - CoreMark run (.vmem of 152.8KB). -*/ - ram : ORIGIN = 0x00100000, LENGTH = 0x30000 /* 192 kB */ - stack : ORIGIN = 0x00130000, LENGTH = 0x8000 /* 32 kB */ -} - -/* Stack information variables */ -_min_stack = 0x2000; /* 8K - minimum stack space to reserve */ -_stack_len = LENGTH(stack); -_stack_start = ORIGIN(stack) + LENGTH(stack); - -_entry_point = _vectors_start + 0x80; -ENTRY(_entry_point) - -/* The tohost address is used by Spike for a magic "stop me now" message. This - is set to equal SIM_CTRL_CTRL (see simple_system_regs.h), which has that - effect in simple_system simulations. Note that it must be 8-byte aligned. - - We don't read data back from Spike, so fromhost is set to some dummy value: - we place it just above the top of the stack. - */ -tohost = 0x20008; -fromhost = _stack_start + 0x10; - -SECTIONS -{ - .vectors : - { - . = ALIGN(4); - _vectors_start = .; - KEEP(*(.vectors)) - _vectors_end = .; - } > ram - - .text : { - . = ALIGN(4); - *(.text) - *(.text.*) - } > ram - - .rodata : { - . = ALIGN(4); - /* Small RO data before large RO data */ - *(.srodata) - *(.srodata.*) - *(.rodata); - *(.rodata.*) - } > ram - - .data : { - . = ALIGN(4); - /* Small data before large data */ - *(.sdata) - *(.sdata.*) - *(.data); - *(.data.*) - } > ram - - .bss : - { - . = ALIGN(4); - _bss_start = .; - /* Small BSS before large BSS */ - *(.sbss) - *(.sbss.*) - *(.bss) - *(.bss.*) - *(COMMON) - _bss_end = .; - } > ram - - /* ensure there is enough room for stack */ - .stack (NOLOAD): { - . = ALIGN(4); - . = . + _min_stack ; - . = ALIGN(4); - stack = . ; - _stack = . ; - } > stack -} diff --git a/examples/sw/simple_system/common/simple_system_common.c b/examples/sw/simple_system/common/simple_system_common.c deleted file mode 100644 index 1213341576..0000000000 --- a/examples/sw/simple_system/common/simple_system_common.c +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "simple_system_common.h" - -int putchar(int c) { - DEV_WRITE(SIM_CTRL_BASE + SIM_CTRL_OUT, (unsigned char)c); - - return c; -} - -int puts(const char *str) { - while (*str) { - putchar(*str++); - } - - return 0; -} - -void puthex(uint32_t h) { - int cur_digit; - // Iterate through h taking top 4 bits each time and outputting ASCII of hex - // digit for those 4 bits - for (int i = 0; i < 8; i++) { - cur_digit = h >> 28; - - if (cur_digit < 10) - putchar('0' + cur_digit); - else - putchar('A' - 10 + cur_digit); - - h <<= 4; - } -} - -void sim_halt() { DEV_WRITE(SIM_CTRL_BASE + SIM_CTRL_CTRL, 1); } - -void pcount_reset() { - asm volatile( - "csrw minstret, x0\n" - "csrw mcycle, x0\n" - "csrw mhpmcounter3, x0\n" - "csrw mhpmcounter4, x0\n" - "csrw mhpmcounter5, x0\n" - "csrw mhpmcounter6, x0\n" - "csrw mhpmcounter7, x0\n" - "csrw mhpmcounter8, x0\n" - "csrw mhpmcounter9, x0\n" - "csrw mhpmcounter10, x0\n" - "csrw mhpmcounter11, x0\n" - "csrw mhpmcounter12, x0\n" - "csrw mhpmcounter13, x0\n" - "csrw mhpmcounter14, x0\n" - "csrw mhpmcounter15, x0\n" - "csrw mhpmcounter16, x0\n" - "csrw mhpmcounter17, x0\n" - "csrw mhpmcounter18, x0\n" - "csrw mhpmcounter19, x0\n" - "csrw mhpmcounter20, x0\n" - "csrw mhpmcounter21, x0\n" - "csrw mhpmcounter22, x0\n" - "csrw mhpmcounter23, x0\n" - "csrw mhpmcounter24, x0\n" - "csrw mhpmcounter25, x0\n" - "csrw mhpmcounter26, x0\n" - "csrw mhpmcounter27, x0\n" - "csrw mhpmcounter28, x0\n" - "csrw mhpmcounter29, x0\n" - "csrw mhpmcounter30, x0\n" - "csrw mhpmcounter31, x0\n" - "csrw minstreth, x0\n" - "csrw mcycleh, x0\n" - "csrw mhpmcounter3h, x0\n" - "csrw mhpmcounter4h, x0\n" - "csrw mhpmcounter5h, x0\n" - "csrw mhpmcounter6h, x0\n" - "csrw mhpmcounter7h, x0\n" - "csrw mhpmcounter8h, x0\n" - "csrw mhpmcounter9h, x0\n" - "csrw mhpmcounter10h, x0\n" - "csrw mhpmcounter11h, x0\n" - "csrw mhpmcounter12h, x0\n" - "csrw mhpmcounter13h, x0\n" - "csrw mhpmcounter14h, x0\n" - "csrw mhpmcounter15h, x0\n" - "csrw mhpmcounter16h, x0\n" - "csrw mhpmcounter17h, x0\n" - "csrw mhpmcounter18h, x0\n" - "csrw mhpmcounter19h, x0\n" - "csrw mhpmcounter20h, x0\n" - "csrw mhpmcounter21h, x0\n" - "csrw mhpmcounter22h, x0\n" - "csrw mhpmcounter23h, x0\n" - "csrw mhpmcounter24h, x0\n" - "csrw mhpmcounter25h, x0\n" - "csrw mhpmcounter26h, x0\n" - "csrw mhpmcounter27h, x0\n" - "csrw mhpmcounter28h, x0\n" - "csrw mhpmcounter29h, x0\n" - "csrw mhpmcounter30h, x0\n" - "csrw mhpmcounter31h, x0\n"); -} - -void pcount_enable(int enable) { - // Note cycle is disabled with everything else - unsigned int inhibit_val = enable ? 0x0 : 0xFFFFFFFF; - // CSR 0x320 was called `mucounteren` in the privileged spec v1.9.1, it was - // then dropped in v1.10, and then re-added in v1.11 with the name - // `mcountinhibit`. Unfortunately, the version of binutils we use only allows - // the old name, and LLVM only supports the new name (though this is changed - // on trunk to support both), so we use the numeric value here for maximum - // compatibility. - asm volatile("csrw 0x320, %0\n" : : "r"(inhibit_val)); -} - -unsigned int get_mepc() { - uint32_t result; - __asm__ volatile("csrr %0, mepc;" : "=r"(result)); - return result; -} - -unsigned int get_mcause() { - uint32_t result; - __asm__ volatile("csrr %0, mcause;" : "=r"(result)); - return result; -} - -unsigned int get_mtval() { - uint32_t result; - __asm__ volatile("csrr %0, mtval;" : "=r"(result)); - return result; -} - -void simple_exc_handler(void) { - puts("EXCEPTION!!!\n"); - puts("============\n"); - puts("MEPC: 0x"); - puthex(get_mepc()); - puts("\nMCAUSE: 0x"); - puthex(get_mcause()); - puts("\nMTVAL: 0x"); - puthex(get_mtval()); - putchar('\n'); - sim_halt(); - - while(1); -} - -volatile uint64_t time_elapsed; -uint64_t time_increment; - -inline static void increment_timecmp(uint64_t time_base) { - uint64_t current_time = timer_read(); - current_time += time_base; - timecmp_update(current_time); -} - -void timer_enable(uint64_t time_base) { - time_elapsed = 0; - time_increment = time_base; - // Set timer values - increment_timecmp(time_base); - // enable timer interrupt - asm volatile("csrs mie, %0\n" : : "r"(0x80)); - // enable global interrupt - asm volatile("csrs mstatus, %0\n" : : "r"(0x8)); -} - -void timer_disable(void) { asm volatile("csrc mie, %0\n" : : "r"(0x80)); } - -uint64_t timer_read(void) { - uint32_t current_timeh; - uint32_t current_time; - // check if time overflowed while reading and try again - do { - current_timeh = DEV_READ(TIMER_BASE + TIMER_MTIMEH, 0); - current_time = DEV_READ(TIMER_BASE + TIMER_MTIME, 0); - } while (current_timeh != DEV_READ(TIMER_BASE + TIMER_MTIMEH, 0)); - uint64_t final_time = ((uint64_t)current_timeh << 32) | current_time; - return final_time; -} - -void timecmp_update(uint64_t new_time) { - DEV_WRITE(TIMER_BASE + TIMER_MTIMECMP, -1); - DEV_WRITE(TIMER_BASE + TIMER_MTIMECMPH, new_time >> 32); - DEV_WRITE(TIMER_BASE + TIMER_MTIMECMP, new_time); -} - -uint64_t get_elapsed_time(void) { return time_elapsed; } - -void simple_timer_handler(void) __attribute__((interrupt)); - -void simple_timer_handler(void) { - increment_timecmp(time_increment); - time_elapsed++; -} diff --git a/examples/sw/simple_system/common/simple_system_common.h b/examples/sw/simple_system/common/simple_system_common.h deleted file mode 100644 index fefdc9f5c9..0000000000 --- a/examples/sw/simple_system/common/simple_system_common.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#ifndef SIMPLE_SYSTEM_COMMON_H__ - -#include - -#include "simple_system_regs.h" - -#define DEV_WRITE(addr, val) (*((volatile uint32_t *)(addr)) = val) -#define DEV_READ(addr, val) (*((volatile uint32_t *)(addr))) -#define PCOUNT_READ(name, dst) asm volatile("csrr %0, " #name ";" : "=r"(dst)) - -/** - * Writes character to simulator out log. Signature matches c stdlib function - * of the same name. - * - * @param c Character to output - * @returns Character output (never fails so no EOF ever returned) - */ -int putchar(int c); - -/** - * Writes string to simulator out log. Signature matches c stdlib function of - * the same name. - * - * @param str String to output - * @returns 0 always (never fails so no error) - */ -int puts(const char *str); - -/** - * Writes ASCII hex representation of number to simulator out log. - * - * @param h Number to output in hex - */ -void puthex(uint32_t h); - -/** - * Immediately halts the simulation - */ -void sim_halt(); - -/** - * Enables/disables performance counters. This effects mcycle and minstret as - * well as the mhpmcounterN counters. - * - * @param enable if non-zero enables, otherwise disables - */ -void pcount_enable(int enable); - -/** - * Resets all performance counters. This effects mcycle and minstret as well - * as the mhpmcounterN counters. - */ -void pcount_reset(); - -/** - * Enables timer interrupt - * - * @param time_base Number of time ticks to count before interrupt - */ -void timer_enable(uint64_t time_base); - -/** - * Returns current mtime value - */ -uint64_t timer_read(void); - -/** - * Set a new timer value - * - * @param new_time New value for time - */ -void timecmp_update(uint64_t new_time); - -/** - * Disables timer interrupt - */ -void timer_disable(void); - -/** - * Returns current global time value - */ -uint64_t get_elapsed_time(void); - -#endif diff --git a/examples/sw/simple_system/common/simple_system_regs.h b/examples/sw/simple_system/common/simple_system_regs.h deleted file mode 100644 index 36b1e6bc12..0000000000 --- a/examples/sw/simple_system/common/simple_system_regs.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#ifndef SIMPLE_SYSTEM_REGS_H__ -#define SIMPLE_SYSTEM_REGS_H__ - -#define SIM_CTRL_BASE 0x20000 -#define SIM_CTRL_OUT 0x0 -#define SIM_CTRL_CTRL 0x8 - -#define TIMER_BASE 0x30000 -#define TIMER_MTIME 0x0 -#define TIMER_MTIMEH 0x4 -#define TIMER_MTIMECMP 0x8 -#define TIMER_MTIMECMPH 0xC - -#endif // SIMPLE_SYSTEM_REGS_H__ diff --git a/examples/sw/simple_system/hello_test/Makefile b/examples/sw/simple_system/hello_test/Makefile deleted file mode 100644 index 495a53b5a5..0000000000 --- a/examples/sw/simple_system/hello_test/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright lowRISC contributors. -# Licensed under the Apache License, Version 2.0, see LICENSE for details. -# SPDX-License-Identifier: Apache-2.0 -# -# Generate a baremetal application - -# Name of the program $(PROGRAM).c will be added as a source file -PROGRAM = hello_test -PROGRAM_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -# Any extra source files to include in the build. Use the upper case .S -# extension for assembly files -EXTRA_SRCS := - -include ${PROGRAM_DIR}/../common/common.mk diff --git a/examples/sw/simple_system/hello_test/hello_test.c b/examples/sw/simple_system/hello_test/hello_test.c deleted file mode 100644 index 5061faba41..0000000000 --- a/examples/sw/simple_system/hello_test/hello_test.c +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright lowRISC contributors. -// Licensed under the Apache License, Version 2.0, see LICENSE for details. -// SPDX-License-Identifier: Apache-2.0 - -#include "simple_system_common.h" - -int main(int argc, char **argv) { - pcount_enable(0); - pcount_reset(); - pcount_enable(1); - - puts("Hello simple system\n"); - puthex(0xDEADBEEF); - putchar('\n'); - puthex(0xBAADF00D); - putchar('\n'); - - pcount_enable(0); - - // Enable periodic timer interrupt - // (the actual timebase is a bit meaningless in simulation) - timer_enable(2000); - - uint64_t last_elapsed_time = get_elapsed_time(); - - while (last_elapsed_time <= 4) { - uint64_t cur_time = get_elapsed_time(); - if (cur_time != last_elapsed_time) { - last_elapsed_time = cur_time; - - if (last_elapsed_time & 1) { - puts("Tick!\n"); - } else { - puts("Tock!\n"); - } - } - asm volatile("wfi"); - } - - return 0; -}

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