Synthesis 8 core pulp for ASIC
#1
Hello !

I want to synthesis the pulp SoC for 65 nm ASIC technology. Given that I have the Synopsys Compiler available is there a guide as to how proper synthesis of the pulp (with 8 RI5CY) cores can be carried out on the such that the hierarchy of the system is properly maintained during optimizations. 

Is there some example script available to direct the Synopsys compiler (or some other compiler) to perform proper synthesis. 
The final goal is to be able to perform power measurements on the synthesised design. Also, is this power analysis possible with the given repository of the pulp project on github?
Reply
#2
(02-11-2019, 04:41 PM)Athena Wrote: Hello !

I want to synthesis the pulp SoC for 65 nm ASIC technology. Given that I have the Synopsys Compiler available is there a guide as to how proper synthesis of the pulp (with 8 RI5CY) cores can be carried out on the such that the hierarchy of the system is properly maintained during optimizations. 

Is there some example script available to direct the Synopsys compiler (or some other compiler) to perform proper synthesis. 
The final goal is to be able to perform power measurements on the synthesised design. Also, is this power analysis possible with the given repository of the pulp project on github?

Technically, the PULP source will compile without issues (i.e. the SystemVerilog will not create problems for synthesis). However 'proper synthesis' probably means getting a circuit (for the 65nm technology) that achieves certain performance characteristics (a combination of area, speed, power constraints). While this is not rocket science, it still requires familiarity with the ASIC design process and experience with the technology. For example, there are a number of 'common cells' 

 https://github.com/pulp-platform/common_cells

that have technology independent behavioral descriptions, that need to be mapped to specific implementations in that technology (clock gate cells, sram macros etc). Especially memories are very important to determine the performance of the system, and the availability of these is one of the issues. 

Power measurements are always tricky, especially with modern processes, the capacitive load is often highly dependent on the routing (which is only estimated during synthesis) and the activity depends entirely on the benchmarks running on the system. As the power consumption is directly proportional to the activity (which can differ by orders of magnitude, depending on the application) it is not very easy to get reliable numbers. If possible, I suggest working together with a group that has experience in designing ASICs in the technology mode you are interested in.

We can assure you that the code that is in GitHub is the actual code we use for our tape-outs for multi-core PULP systems, but we can not release technology specific data and related scripts for commercial EDA tools. I think once the open source hardware community expands, these things will also be possible.
Visit pulp-platform.org and follow us on twitter @pulp_platform
Reply


Forum Jump: