[Libre-soc-dev] OpenPOWER Course video, differences between FPGA and ASIC

Andrey Miroshnikov andrey at technepisteme.xyz
Thu Oct 14 12:03:10 BST 2021


On 08/10/2021 19:51, lkcl wrote:
> https://ftp.libre-soc.org/course_18oct2021/
> https://m.youtube.com/watch?v=hzbLEEjJdOI
> 
> this video will be part of the 40 hour Open Curriculum on OpenPOWER, to run from the 18th October.  the course is to be announced at the OpenPOWER 2021 Summit.
Interesting way to teach the course, provide some explanation, then let 
the learner explore the code, wiki, mailing list, archives on their own 
and with email/IRC support.

> it is quite long at 1h20m and goes into detail on some of the key differences when doing an FPGA and an ASIC.
Watched the video, and now I have a much better overview for both the 
chip itself and the workflow.
Nearer to the end it got a bit more difficult (probably because I try to 
take in the code instead of just listening to your points).

I came up with a couple of questions:
(apologies in advance if I missed explanations for these points 
somewhere on the wiki)

# Why is the Libre-SOC core HDL called "TestIssuer"?
Searching for "class TestIssuer" I found a few interesting modules in 
"soc/src/soc/simple/issuer.py". There's the "TestIssuer" class which 
uses "TestIssuerInternal", which itself uses "NonProductionCore" found 
in "core.py". Are all of those used in LS180?

 From the comments I figured it's because "TestIssuer" issues (or loads 
and executes) instructions from the "TestMemory" module, however that 
sounds like an application for a SIM/FPGA test run (where you have a 
known, controlled machine code already loaded).

# What is the plan with Litex class duplication for I/O/OE extension?
You explained in the last 20min of the video that the Litex peripheral 
classes for UART/I2C/SPI had to be duplicated to allow adding the extra 
signals needed for the I/O pads.
Does this mean we have our own branch/fork of Litex? If so, is it 
maintainable in the long run?

# Do you plan to use the Libre-SOC pinset for KiCAD schematic symbol and 
PCB footprint generation?
I like the point you made about re-using the same pinmux definition file 
throughout the workflow, however haven't seen mention of it being used 
for PCB software (such as KiCAD). Is anyone working on this and/or is it 
a low-priority task? Doing a quick internet search showed a few options 
for generating KiCAD library symbols:
https://github.com/boseji/Kicad-tools/tree/master/libgen
https://github.com/devbisme/KiPart
https://gitlab.com/kicad/libraries/kicad-footprint-generator


Hopefully these questions might be helpful before the course is properly 
advertised.


Andrey



More information about the Libre-soc-dev mailing list