Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LiteX: Add missing CPU-types #113

Open
acomodi opened this issue Dec 21, 2020 · 1 comment
Open

LiteX: Add missing CPU-types #113

acomodi opened this issue Dec 21, 2020 · 1 comment

Comments

@acomodi
Copy link
Contributor

acomodi commented Dec 21, 2020

PR #111 adds various LiteX examples for arty-35 and arty-100.

Each example implements a different CPU core type, and #111 currently adds picorv32 and VecRiscv.

There are other CPU-types that can be implemented.

With fixes in the toolchain/tools

  • minerva: This requires xc7: yosys: allow custom top module instead of using only auto-top f4pga/f4pga-arch-defs#1906 to be merged. The problem is that the minerva core has a yosys attribute which sets the top-level module to be the minerva core. With the -auto-top parameter when getting the hierarchy is used, the real top module gets discarded in favour of the minerva one.
  • serv: There is a .vh file which makes yosys fail due to the fact that it cannot guess the frontend for it. To solve this we need to provide the -f verilog option when calling yosys. It should be fixed in symbiflow-arch-defs
  • rocket: This currently fails during the VPR clean circuit step. The resulting synthesized design is big enough to let VPR consume all RAM available (16GB on my local machine) during the clean circuit step. This requires a proper fix in VPR

Requires some additional tools

  • microwatt: This requires the usage of the VHDL plugin for yosys, as well as the powerpc64le-linux cross compilation toolchain.
  • mor1kx: This requires the or1k-elf binariy to compile the bios
  • lm32: This requires the lm32-elf binary to compile the bios
  • cv32e40p: This core is written in SystemVerilog. Unsure if it is simple enough to get it through yosys
@mithro
Copy link
Contributor

mithro commented Dec 22, 2020

I have a spreadsheet @ https://docs.google.com/spreadsheets/d/1XTHfdYXuvwoYdPXm4M6qDA0D2fZCPy220-9q6qZpTw4/edit#gid=1326111379 -- maybe we should add a SymbiFlow tab?

Google Docs
Board USB IDs

Manufacturer,Board,Mode,Vendor ID,Product ID,Device ID,Serial Number,Chip,Notes,ftdi_channel,ftdi_device_desc,usb_string?,prog mode
????,dj_usb,prog,0x16c0,0x06ad,hw_dj_usb,FX2
1BitSquared,icebreaker,prog,0x0403,0x6010,FTDI,This is the programming interface channel. Has to be switc...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants