Member for
11 months 3 weeks
Research Area
IoT Devices
Digital Design Engineer
SoC Labs Roles
Registered User


Title Updated date Comment count
DMA 350 integration with nanoSoC 1 month 2 weeks ago 0
System Verification of NanoSoC 3 weeks ago 1
nanosoc re-usable MCU platform 3 months 2 weeks ago 0
Lightweight DMA Infrastructure 3 months 4 weeks ago 9


Authored Comments

Subject Comment Link to Comment
Optimisation of Parrallelism

Hi Fanis,

I've see you've added some update to the architectural design of your project. And at the moment are looking to take in 4 x 8 bit words at a time. One potentially good approach to seeing how you can work on these dot products in parallel would be to use the architecture you've chosen as a starting point (2 parallel calculations of a1, a2, b1, b2) and through simulation see where your current bottleneck are. If the bottleneck is your data processing and not your data fetching, you could try increasing the number of parallel branches until you reach a point where you are able to run the calculations as fast as you can fetch data.

Taking this iterative approach can give you a good view of how to optimise your design for the nanosoc. Also if you take your current design all the way through to synthesis, you can then estimate what footprint a single dot product branch takes up. And estimate how many branches you would be able to fit in the tape out


NanoSoC integration

We have developed an over-arching project structure for integration with the NanoSoC. You can find the repository here as well as an example project integrating a AES128 accelerator

In order to use this structure, you will have to fork the "Accelerator Project" repository, and then either clone in your accelerator repository, or add this as a submodule (instructions for this are in the readme). Once you have done this you will have to edit a couple of files. ./env/ should be edited to add your accelerator directory, and the files in flist/project will need to be updated to add in the files of your repository.

When you have cloned this project structure you should run "source" This will allow you to use the socsim environment. This can be used to run simulation scripts from the simulate/socsim directory.

We are currently updating the documentation but hopefully this is enough to get you started

Other resource for physical design

Here is a good resource for getting started with physical design using the cadence innovus tool. It takes you through step by step from a netlist file to gdsII export.


User statistics

My contributions
My comments
Overall contributor

Add new comment

To post a comment on this article, please log in to your account. New users can create an account.