OpenCores
URL https://opencores.org/ocsvn/riscv_vhdl/riscv_vhdl/trunk

Subversion Repositories riscv_vhdl

[/] [riscv_vhdl/] [trunk/] [README.md] - Diff between revs 2 and 4

Show entire file | Details | Blame | View Log

Rev 2 Rev 4
Line 1... Line 1...
System-On-Chip template based on Rocket-chip (RISC-V ISA). VHDL implementation.
System-On-Chip template based on synthesisable processor compliant with the RISC-V architecture.
=====================
=====================
 
 
This repository provides open source System-on-Chip implementation based on
This repository provides open source System-on-Chip implementation based on
64-bits CPU "Rocket-chip" distributed under BSD license. SOC source files
64-bits CPU "Rocket-chip" distributed under BSD license. SOC source files
either include general set of peripheries, FPGA CADs projects files, own
either include general set of peripheries, FPGA CADs projects files, own
Line 21... Line 21...
at the University of California, Berkeley.
at the University of California, Berkeley.
 
 
Parameterized generator of the Rocket-chip can be found here:
Parameterized generator of the Rocket-chip can be found here:
[https://github.com/ucb-bar](https://github.com/ucb-bar)
[https://github.com/ucb-bar](https://github.com/ucb-bar)
 
 
## System-on-Chip structure and performance
## What is River CPU?
 
 
SoC documentation in [.pdf](rocket_soc/docs/riscv_soc_descr.pdf) and
It's my own implementation of RISC-V ISA used in a several projects including
[.html](http://sergeykhbr.github.io/riscv_vhdl/) formats.
the multi-sytem Satellite Navigation receiver. It is great for an
 
embedded applications with active usage of 64-bits computations (like DSP).
 
**River CPU** includes the following tools and features:
 
 
 
1. Source code
 
    - */debugger/cpu_fnc_plugin*  - Functional RISC-V CPU model.
 
    - */debugger/cpu_sysc_plugin* - Precise SystemC RIVER CPU model.
 
    - */rtl/riverlib*      -  synthesisable VHDL model of a 64-bit processor compliant with the RISC-V architecture.
 
2. Advanced debugging features
 
    - Test Access Points (TAPs) via Ethernet, UART and JTAG in one system.
 
    - System Bus tracer
 
    - Pipeline statistic (CPI, HW stacktrace) in a real-time on HW level.
 
    - Plug'n'Play information
 
3. Integration with GUI from the very beginning.
 
 
![SOC top](rocket_soc/docs/pics/soc_top_v5.png)
My goal is to develop open source fault-tolerant processor with the user-friendly
 
framework.
 
 
Performance analysis is based on
## System-on-Chip structure
[**Dhrystone v2.1. benchmark**](http://fossies.org/linux/privat/old/dhrystone-2.1.tar.gz/)
 
that is very compact and entirely ported into Zephyr shell example.
SoC documentation in [.pdf](docs/riscv_vhdl_trm.pdf) and
You can run it yourself and verify results (see below).
[.html](http://sergeykhbr.github.io/riscv_vhdl/) formats.
 
 
**RISC-V Instruction simulator** - always one instruction per clock.
![SOC top](docs/doxygen/pics/soc_top_v5.png)
**FPGA SOC based on "Rocket" CPU** - single core/single issue 64-bits CPU
 
with disabled L1toL2 interconnect (Verilog generated from Scala sources).
 
**FPGA SOC based on "River" CPU** - single core/single issue 64-bits CPU is my own
 
implementation of RISC-V ISA (VHDL with SystemC as reference).
 
 
 
 
 
Target | usec per
1 dhry | Dhrystone
per sec | MHz,
max | FPU | OS | Optim.
 
-------|:-------------------:|:---------------------:|:------------:|:---:|----|----
 
RISC-V simulator v3.1       | 12.0 | **77257.0** | -   | No  | Zephyr 1.3 | -O2
 
FPGA SoC with "Rocket" v3.1 | 28.0 | **34964.0** | 60  | No  | Zephyr 1.3 | -O2
 
FPGA SoC with "Rocket" v4.0 | 40.7 | **24038.0** | 601  | Yes | Zephyr 1.5 | -O2
 
FPGA SoC with "River " v4.0 | 28.0 | **35259.0** | 601  | No | Zephyr 1.5 | -O2
 
RISC-V simulator v5.1       | 12.0 | **65652.0** | -   | No  | Zephyr 1.6 | -O0
 
RISC-V simulator v5.1       | 12.0 | **76719.0** | -   | No  | Zephyr 1.6 | -O2
 
FPGA SoC with "Rocket" v5.1 | 41.0 | **23999.0** | 601  | Yes | Zephyr 1.6 | -O2
 
FPGA SoC with "River" v5.1  | 28.0 | **35121.0** | 601  | No | Zephyr 1.6 | -O2
 
FPGA SoC with "LEON3" SPARC | 20.0 | **48229.0** | 60  | No | Bare metal | -O0
 
FPGA SoC with "LEON3" SPARC | 8.0 | **119515.0** | 60  | No | Bare metal | -O2
 
 
 
1 - Actual SoC frequency is 40 MHz (to meet FPU constrains) but
 
Dhrystone benchmark uses constant 60 MHz and high precision counter (in clock cycles)
 
to compute results in msec. Timer value doesn't depend of clock frequency.
 
You can find FPGA bit-files with Rocket and River CPUs in the repository. I am
 
also ready to share my framework for Leon3 SPARC V8 processor (SoC and FW) by request.
 
 
 
Access to all memory banks and peripheries in the same clock domain is always
## Performance
one clock in this SOC (without wait-states). So, this benchmark
 
 
Performance analysis is based on very compact
 
[**Dhrystone v2.1. benchmark**](http://fossies.org/linux/privat/old/dhrystone-2.1.tar.gz/)
 
application available as the bare-metal test in *$(TOP)/example/dhrystone21*
 
folder and entirely ported into Zephyr shell (see animated gif below). Benchmark was executed
 
with enabled (-O0) and disabled (-O2) optimization to define HW and GCC-compiler advantages.
 
All sources are available and could be run on the simulator or on the
 
different FPGA targets.
 
 
 
Target           | Git tag | Dhrystone
per sec,
-O0 | Dhrystone
per sec,
-O2 | Information.
 
-----------------|:-------:|:------------------------------:|:------------------------------:|:------------
 
RISC-V simulator | v6.0    | **65652.0** | **76719.0**   | Ubuntu GNU GCC 6.1.0 toolchain RV64IMA custom build
 
"Rocket" CPU     | v6.0    | -           | **23999.0**   | GCC 6.1.0
 
"River" CPU      | v6.0    | -           | **35121.0**   | GCC 6.1.0
 
RISC-V simulator | latest  | **76824.0** | **176469.0**  | GCC 7.1.1 with the compressed instructions set
 
"River" CPU      | latest  | **29440.0** | **69605.0**   | GCC 7.1.1 with the compressed instructions set
 
"LEON3" SPARC V8 | No      | **48229.0** | **119515.0**  | sparc-elf-gcc 4.4.2 with the custom FPGA system
 
ARM simulator    | latest  | soon        | soon          | arm-none-eabi-gcc 7.2.0
 
ARM Cortex-R5    | No      | soon        | soon          | arm-none-eabi-gcc 7.2.0 with the custom FPGA system
 
 
 
Access to all memory banks and peripheries for all targets (including ARM and Leon3) is made
 
in the same clock domain and always is
 
one clock(without wait-states). So, this benchmark
result (**Dhrystone per seconds**) shows performance of the CPU with integer
result (**Dhrystone per seconds**) shows performance of the CPU with integer
instructions and degradation of the CPI relative ideal (simulation) case.
instructions and degradation of the CPI relative ideal (simulation) case.
 
 
   **In my opinion compiler affects on benchmark results much more than hardware
   **Since the tag 'v7.0' RIVER CPU is the main processor in the system and all issues
   architecture and there's a lot of work for RISC-V compiler developers.
     related to Rocket-chip instance will be supported only by request.**
   So, use as new compiler as possible.**
 
 
 
## Repository structure
## Repository structure
 
 
This repository consists of three sub-projects each in own subfolder:
This repository consists of three sub-projects each in own subfolder:
 
 
- **rocket_soc** is the folder with VHDL/Verilog sources of the SOC
- **rtl** is the folder with VHDL/Verilog sources of the SOC
  including synthesizable processors *"Rocket"* and *"River"* and peripheries.
  including synthesizable processors *"Rocket"* and *"River"* and peripheries.
  Source code is portable on almost any FPGA is due to the fact that
  Source code is portable on almost any FPGA is due to the fact that
  technology dependant modules (like *PLL*, *IO-buffers*
  technology dependant modules (like *PLL*, *IO-buffers*
  etc) instantiated inside of "virtual" components
  etc) instantiated inside of "virtual" components
  in a similar to Gailser's *[GRLIB](www.gailser.com)* way.
  in a similar to Gailser's *[GRLIB](www.gailser.com)* way.
  Full SOC design without FPU occupies less than 5 % of FPGA resources (Virtex6).
  Full SOC design without FPU occupies less than 5 % of FPGA resources (Virtex6).
  *"Rocket-chip"* CPU itself is the modern **64-bits processor
  *"Rocket-chip"* CPU itself is the modern **64-bits processor
  with L1-cache, branch-predictor, MMU and virtualization support**.
  with L1-cache, branch-predictor, MMU and virtualization support**.
  This sub-project also contains:
  This sub-project also contains:
    * *fw*: directory with the bootloader and FW examples.
 
    * *fw_images*: directory with the ROM images in HEX-format.
    * *fw_images*: directory with the ROM images in HEX-format.
    * *prj*: project files for different CADs (Xilinx ISE, ModelSim).
    * *prj*: project files for different CADs (Xilinx ISE, ModelSim).
    * *tb*: VHDL testbech of the full system and utilities.
    * *tb*: VHDL testbech of the full system and utilities.
    * *bit_files*: Pre-built FPGA images for ML605 and KC705 boards.
    * *bit_files*: Pre-built FPGA images for ML605 and KC705 boards.
- **zephyr** is the ported on RISC-V 64-bits operation system.
- **examples** folder contains several C-examples that could help start working
 
  with the RISC-V system:
 
    * *boot* is the code of the Boot Loader. It is also used for the SRAM
 
      initialization with the FW image and it allows to run examples on
 
      FPGA without using the debugger and external flash memory.
 
    * *helloworld* the simplest example with UART output.
 
    * *isrdemo* example with 1 second interrupt from timer and debug output.
 
    * *zephyr* is ported on RISC-V 64-bits operation system.
  Information about this Real-Time Operation System for Internet of
  Information about this Real-Time Operation System for Internet of
  Things Devices provided by [Zephyr Project](https://www.zephyrproject.org/).
  Things Devices provided by [Zephyr Project](https://www.zephyrproject.org/).
  Early support for the Zephyr Project includes Intel Corporation,
  Early support for the Zephyr Project includes Intel Corporation,
  NXP Semiconductors N.V., Synopsys, Inc. and UbiquiOS Technology Limited.
  NXP Semiconductors N.V., Synopsys, Inc. and UbiquiOS Technology Limited.
- **debugger**. The last piece of the ready-to-use open HW/SW system is
- **debugger**. The last piece of the ready-to-use open HW/SW system is
Line 101... Line 118...
  via [Ethernet](http://sergeykhbr.github.io/riscv_vhdl/eth_link.html)
  via [Ethernet](http://sergeykhbr.github.io/riscv_vhdl/eth_link.html)
  using EDCL protocol over UDP. To provide this functionality SOC includes
  using EDCL protocol over UDP. To provide this functionality SOC includes
  [**10/100 Ethernet MAC with EDCL**](http://sergeykhbr.github.io/riscv_vhdl/eth_link.html)
  [**10/100 Ethernet MAC with EDCL**](http://sergeykhbr.github.io/riscv_vhdl/eth_link.html)
  and [**Debug Support Unit (DSU)**](http://sergeykhbr.github.io/riscv_vhdl/periphery_page_1.html)
  and [**Debug Support Unit (DSU)**](http://sergeykhbr.github.io/riscv_vhdl/periphery_page_1.html)
  devices on AMBA AXI4 bus.
  devices on AMBA AXI4 bus.
- **RISC-V "River" core**. It's my own implementation of RISC-V ISA that is ideal
 
  for embedded application with active usage of 64-bits computations
 
  (DSP for Satellite Navigation). I've specified the following principles for myself:
 
    1. Unified Verification Methodology (UVM)
 
        - */debugger/cpu_fnc_plugin*  - Functional RISC-V CPU model.
 
        - */debugger/cpu_sysc_plugin* - Precise SystemC RIVER CPU model.
 
        - */rocket_soc/riverlib*      - RIVER VHDL sources with VCD-stimulus from SystemC.
 
    2. Advanced debugging features: bus tracing, pipeline statistic (like CPI) in real-time on HW level etc.
 
    3. Integration with GUI from the very beginning.
 
  I hope to develop the most friendly synthesizable processor for HW and SW developers
 
  and provide debugging tools of professional quality.
 
 
 
 
 
# Step I: Simple FPGA test.
# Step I: Simple FPGA test.
 
 
You can use the pre-built FPGA image (for Xilinx ML605 or KC705 board) and any serial
You can use the pre-built FPGA image (for Xilinx ML605 or KC705 board) and any serial
console application (*putty*, *screen* or other).
console application (*putty*, *screen* or other) to run Dhrystone v2.1 benchmark as
 
on the animated picture below.
 
 
1. Unpack and load file image *riscv_soc.bit* from */rocket_soc/bit_files/* into FPGA board.
![Zephyr demo](docs/doxygen/pics/zephyr_demo.gif)
2. Connect to serial port. I use standard console utility *screen* on Ubuntu.
 
 
1. Unpack and load file image *riscv_soc.bit* from */rtl/bit_files/* into FPGA board.
 
2. Connect to serial port. I used standard console utility *screen* on Ubuntu.
 
 
        $ sudo apt-get install screen
        $ sudo apt-get install screen
        $ sudo screen /dev/ttyUSB0 115200
        $ sudo screen /dev/ttyUSB0 115200
 
 
3. Use button "*Center*" to reset FPGA system and reprint initial messages:
3. Use button "*Center*" to reset FPGA system and reprint initial messages (or just press Enter):
 
 
```
To end the session, use *Ctrl-A*, *Shift-K*
    Boot . . .OK
 
    Zephyr version 1.5.0
 
    shell>
 
```
 
 
 
Our system is ready to use. Shell command **pnp** prints SOC HW information,
 
command **dhry** runs Dhrystone 2.1 benchmark.
 
To end the session, use Ctrl-A, Shift-K
 
 
 
![Zephyr demo](rocket_soc/docs/pics/zephyr_demo.gif)
 
 
 
Zephyr kernel v1.6 supports shell commands from different kernel modules, to switch
 
one module to another use command **set_module**:
 
 
 
```
 
    shell> set_module kernel
 
    shell> version
 
    shell> set_module soc
 
    shell> dhry
 
    shell> pnp
 
    ...
 
```
 
 
 
# Step II: Build and run Software models with GUI.
# Step II: Build and run Software models with GUI.
 
 
At this step we're going to build: functional models of CPU and peripheries,
At this step we're going to build: functional models of CPU and peripheries,
precise SystemC model of 'River' CPU and RISC-V Debugger with GUI
precise SystemC model of 'River' CPU and RISC-V Debugger with GUI
(MS Visual Studio project for Windows is also available).
(MS Visual Studio project for Windows is also available).
This step **doesn't require any Hardware** and the final result will look as on
This step **doesn't require any Hardware** and the final result will look as on
the following animated picture:
the following animated picture:
 
 
![Debugger demo](rocket_soc/docs/pics/debugger_demo.gif)
![Debugger demo](docs/doxygen/pics/debugger_demo.gif)
 
 
There's dependency of two others open source projects:
There's dependency of two others open source projects:
 
 
* **[Qt-libraries](https://www.qt.io/download/)**
* **[Qt-libraries](https://www.qt.io/download/)**
* **[SystemC library](http://accellera.org/downloads/standards/systemc)**
* **[SystemC library](http://accellera.org/downloads/standards/systemc)**
Line 222... Line 208...
 
 
# Step III: Build FPGA image
# Step III: Build FPGA image
 
 
Default VHDL configuration enables River CPU with full debug support.
Default VHDL configuration enables River CPU with full debug support.
 
 
![River top](rocket_soc/docs/pics/river_top.png)
![River top](docs/doxygen/pics/river_top.png)
 
 
You can enable usage of "Rocket-chip" CPU instead of "River" disabling the
You can enable usage of "Rocket-chip" CPU instead of "River" disabling the
configuration parameter in */rocket_soc/work/config_common.vhd*
configuration parameter in */rtl/work/config_common.vhd*
CFG_COMMON_RIVER_CPU_ENABLE.
CFG_COMMON_RIVER_CPU_ENABLE.
 
 
1. Open ML605 project file for Xilinx ISE14.7 *prj/ml605/riscv_soc.xise*
1. Open ML605 project file for Xilinx ISE14.7 *prj/ml605/riscv_soc.xise*
   or KC705 project file for Xilinx Vivado *prj/kc705/riscv_soc.xpr*.
   or KC705 project file for Xilinx Vivado *prj/kc705/riscv_soc.xpr*.
2. Edit configuration constants in file **work/config_common.vhd** if needed.
2. Edit configuration constants in file **work/config_common.vhd** if needed.
   (Skip this step by default).
   (Skip this step by default).
3. Use *rocket_soc/work/tb/riscv_soc_tb.vhd"* testbench file to verify
3. Use *rtl/work/tb/riscv_soc_tb.vhd"* testbench file to verify
   full system including *CPU*, *UART*, *Timers*, *Ethernet*, *GPIO* etc.
   full system including *CPU*, *UART*, *Timers*, *Ethernet*, *GPIO* etc.
4. Generate bit-file and load it into FPGA.
4. Generate bit-file and load it into FPGA.
 
 
 
 
# Step IV: How to build 64-bits Zephyr v1.6.0 for RISC-V or other custom firmware
# Step IV: How to build 64-bits Zephyr v1.6.0 for RISC-V or other custom firmware
Line 250... Line 236...
 
 
  You can find step-by-step instruction of how to build your own
  You can find step-by-step instruction of how to build your own
toolchain on [riscv.org](http://riscv.org/software-tools/). If you would like
toolchain on [riscv.org](http://riscv.org/software-tools/). If you would like
to use pre-build GCC binary files and libraries you can download it here:
to use pre-build GCC binary files and libraries you can download it here:
 
 
   [Ubuntu GNU GCC 6.1.0 toolchain RV64D (207MB)](http://www.gnss-sensor.com/index.php?LinkID=1018)
   GCC 7.1 from [SiFive](https://www.sifive.com/products/tools/) for Linux, Windows and macOS
   [Ubuntu GNU GCC 6.1.0 toolchain RV64IMA (204MB)](http://www.gnss-sensor.com/index.php?LinkID=1017)
   GCC 7.1 from [SysProgs](http://gnutoolchains.com/risc-v/) for Windows
 
 
   [(obsolete) Ubuntu GNU GCC 5.1.0 toolchain RV64IMA (256MB)](http://www.gnss-sensor.com/index.php?LinkID=1013)
I'm on transition stage to a new v7.0 release with implemented Compressed
 
instructions set (C-extensions). It will allow to use the latest GCC builds without modifications.
 
Some fatal errors can be found during this time, sorry.
 
 
  GCC 5.1.0 is the legacy version for *riscv_vhdl* with tag **v3.1** or older.
Previous obsolete GCC builds:
**RV64IMA** build doesn't use hardware FPU (*--soft-float*). **RV64D** build
 
requires FPU co-processor (*--hard-float*).
 
 
 
  Just after you download the toolchain unpack it and set environment variable
* Upto release tag v6.0 was used
as follows:
   [Ubuntu GNU GCC 6.1.0 toolchain RV64IMA (204MB)](http://www.gnss-sensor.com/index.php?LinkID=1017)
 
 
    $ tar -xzvf gnu-toolchain-rv64ima.tar.gz gnu-toolchain-rv64ima
* Upto release tag v3.1 was used
    $ export PATH=/home/your_path/gnu-toolchain-rv64ima/bin:$PATH
   [Ubuntu GNU GCC 5.1.0 toolchain RV64IMA (256MB)](http://www.gnss-sensor.com/index.php?LinkID=1013)
 
 
If you would like to generate hex-file and use it for ROM initialization you can use
If you would like to generate hex-file and use it for ROM initialization you can use
*'elf2hex'* and *'libfesvr.so'* library from the GNU toolchain but I suggest to use my version
*'elf2hex'* and *'libfesvr.so'* library from the GNU toolchain but I suggest to use my version
of such tool *'elf2raw64'*. I've put this binary into pre-built GCC archive 'gnu_toolchain-rv64/bin'.
of such tool *'elf2raw64'*. I've put this binary into pre-built GCC archive 'gnu_toolchain-rv64/bin'.
If *elf2raw64* conflicts with installed LIBC version re-build it from *fw/elf2raw64/makefiles*
If *elf2raw64* conflicts with installed LIBC version re-build it from *examples/elf2raw64/makefiles*
directory.
directory.
 
 
## 2. Patch and build Zephyr OS v1.6.0 binary
## 2. Patch and build Zephyr OS v1.6.0 binary
 
 
    $ mkdir zephyr_160
    $ mkdir zephyr_160
    $ cd zephyr_160
    $ cd zephyr_160
    $ git clone https://gerrit.zephyrproject.org/r/zephyr
    $ git clone https://github.com/zephyrproject-rtos/zephyr.git
    $ cd zephyr
    $ cd zephyr
    $ git checkout tags/v1.6.0
    $ git checkout tags/v1.6.0
    $ cp ../../riscv_vhdl/zephyr/v1.6.0-riscv64-base.diff .
    $ cp ../../riscv_vhdl/zephyr/v1.6.0-riscv64-base.diff .
    $ cp ../../riscv_vhdl/zephyr/v1.6.0-riscv64-exten.diff .
    $ cp ../../riscv_vhdl/zephyr/v1.6.0-riscv64-exten.diff .
    $ git apply v1.6.0-riscv64-base.diff
    $ git apply v1.6.0-riscv64-base.diff
Line 304... Line 290...
 
 
    -h        -- specify HEX format of the output file.
    -h        -- specify HEX format of the output file.
    -f 262144 -- specify total ROM size in bytes.
    -f 262144 -- specify total ROM size in bytes.
    -l 8      -- specify number of bytes in one line (AXI databus width). Default is 16.
    -l 8      -- specify number of bytes in one line (AXI databus width). Default is 16.
 
 
Copy *fwimage.hex* to rocket_soc subdirectory
Copy *fwimage.hex* to rtl subdirectory
 
 
    $ cp fwimage.hex ../../../rocket_soc/fw_images
    $ cp fwimage.hex ../../../rtl/fw_images
 
 
## 3. Debug Zephyr kernel with debug symbols.
## 3. Debug Zephyr kernel with debug symbols.
 
 
Our debugger allows to use debug information from the elf-file as on the
Use the following debugger's console commands to load symbols information
picture bellow:
from elf-file:
 
 
![GUI debug](rocket_soc/docs/pics/dbg_gui_symb.png)
 
 
 
To achieve such results just use the console command *'loadelf'*:
 
 
 
    riscv# loadelf zephyr.elf
    riscv# loadelf zephyr.elf
    riscv# loadelf zephyr.elf nocode
    riscv# loadelf zephyr.elf nocode
 
 
The second command loads debug information without target reprogramming.
The second command loads debug information without target reprogramming.
 
 
## 4. Build and run custom FW like 'Hello World' example.
## 4. Build and run custom FW like 'Hello World' example.
 
 
Build example:
Build example:
 
 
    $ cd /your_git_path/rocket_soc/fw/helloworld/makefiles
    $ cd /your_git_path/examples/helloworld/makefiles
    $ make
    $ make
 
 
Run Risc-V Debugger application:
Run Risc-V Debugger application:
 
 
    $ ./your_git_path/debugger/linuxbuild/bin/_run_functional_sim.sh
    $ ./your_git_path/debugger/linuxbuild/bin/_run_functional_sim.sh
Line 360... Line 342...
so if you'd like to repeat test reload image using **loadelf** command.
so if you'd like to repeat test reload image using **loadelf** command.
 
 
Now we can also generate HEX-file for ROM initialization to do that
Now we can also generate HEX-file for ROM initialization to do that
see other example with **bootrom** implementation
see other example with **bootrom** implementation
 
 
    $ cd rocket_soc/fw/boot/makefiles
    $ cd examples/boot/makefiles
    $ make
    $ make
    $ cd ../linuxbuild/bin
    $ cd ../linuxbuild/bin
 
 
Opened directory contains the following files:
Opened directory contains the following files:
- _bootimage_       - elf-file (not used by SOC).
- _bootimage_       - elf-file (not used by SOC).
Line 379... Line 361...
 
 
My usual FPGA setup is ML605 board and debugger that is running on Windows 7
My usual FPGA setup is ML605 board and debugger that is running on Windows 7
from Visual Studio project, so other target configurations (linux + KC705)
from Visual Studio project, so other target configurations (linux + KC705)
could contain errors that are fixing with a small delay. Let me know if see one.
could contain errors that are fixing with a small delay. Let me know if see one.
 
 
 
## 5. Example of debug session with RF front-end and GNSS IPs on ML605 board.
 
 
 
![GUI gnss](docs/doxygen/pics/dbg_gnss.png)
 
 
 
 
## Versions History
## Versions History
 
 
 
### Implemented functionality (v6.0)
 
 
 
- GNSS IPs successfully integrated into RISC-V based SoC.
 
- Add Test Access (TAP) over Serial port.
 
- Add GUI integration with Open Street Maps and position tracking.
 
- Add performance analisys tool into GUI.
 
 
### Implemented functionality (v5.1)
### Implemented functionality (v5.1)
 
 
- "RIVER" critical bugs fixed:Not decoded  SRAI instrucion, missed exception generation.
- "RIVER" critical bugs fixed:Not decoded  SRAI instrucion, missed exception generation.
- Zephyr v1.6.0 ported with *unikernel* instead of the obsolete *nanokernel*.
- Zephyr v1.6.0 ported with *unikernel* instead of the obsolete *nanokernel*.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.