OPOS93 SP FPGA designing: Difference between revisions
From ArmadeusWiki
(→Chisel) |
No edit summary |
||
Line 29: | Line 29: | ||
# Download the '''Opos93SP template project''' or the '''Opos93SP wishbone template project''' whether you need a Wishbone bus or not. | # Download the '''Opos93SP template project''' or the '''Opos93SP wishbone template project''' whether you need a Wishbone bus or not. | ||
# Open the project in [[Efinity]] and start hacking the generated wishbone or FlexIO Verilog modules depending on the template project you chose in the step above. | # Open the project in [[Efinity]] and start hacking the generated wishbone or FlexIO Verilog modules depending on the template project you chose in the step above. | ||
= JTAG Debugging = | |||
JTAG debugging using [[Efinity]] can be achieved following this procedure: | |||
# Synthetise the design (only the ''Synthetise'' step is required) | |||
# Generate a debug core using the "Debug Wizard" of Efinity | |||
# Add the signals you are interested in | |||
# Generate the bitstream (you can skip the ''Synthesis' step and resume from the ''Mapping'' step) | |||
# [[OPOS93_SP_FPGA_configuration | Configure the FPGA]] with the generated bitstream | |||
# Open the Efinity debugger and attach the target | |||
Now you should be able to trigger acquisition, see instant signal values, etc ... |
Revision as of 17:54, 3 October 2025
Requisites
You'll need to install Efinity in order to synthetise your design for the embedded Efinix Trion T20.
Starting from a template project
Template projects for Chisel or Verilog/VHDL development are publicly available on the flexIO to Wishbone bus wrapper repository.
Chisel
- Install Scala/SBT on your environment
- Setup a Chisel project and add the flexIO to Wishbone bus wrapper as a dependency
- From the flexIO to Wishbone bus wrapper repository, copy the opos93sp-template or opos93sp-template-wb (with Wishbone bus instantiated) folder from the hardware directory.
- You can then hack the different files:
- Makefile: change your project name, change your Chisel project's directory, ...
- generate-project.py: IO configurations of the FPGA (see documentation from Efinix)
- Load Efinity's environment variables (do it only one time):
$ source <EFINITY_PATH>/bin/setup.sh
- Build the project
$ make
Verilog/VHDL
The flexIO to Wishbone bus wrapper repository build template projects for every releases. Those tamplate projects can be found under the asset section on the release page.
- Download the Opos93SP template project or the Opos93SP wishbone template project whether you need a Wishbone bus or not.
- Open the project in Efinity and start hacking the generated wishbone or FlexIO Verilog modules depending on the template project you chose in the step above.
JTAG Debugging
JTAG debugging using Efinity can be achieved following this procedure:
- Synthetise the design (only the Synthetise step is required)
- Generate a debug core using the "Debug Wizard" of Efinity
- Add the signals you are interested in
- Generate the bitstream (you can skip the Synthesis' step and resume from the Mapping step)
- Configure the FPGA with the generated bitstream
- Open the Efinity debugger and attach the target
Now you should be able to trigger acquisition, see instant signal values, etc ...