[RFC] METATOR: A look into processor synthesis - What's next

  • Thread starter Nikolaos Kavvadias
  • Start date
N

Nikolaos Kavvadias

Guest
These last few months, I have been slowly moving back to my main interests, EDA tools (as a developer and as a user), FPGA application engineering, and last but not least processor design. After a 5-year hiatus I have started revamping (and modernizing) my own environment, developed as an outcome of my PhD work on application-specific instruction-set processors (ASIPs). The flow was based on SUIF/Machine-SUIF (compiler), SALTO (assembly-level transformations) and ArchC (architecture description language for producing binary tools and simulators). It was a highly-successful flow that allowed me (along with my custom instruction generator YARDstick) to explore configurations and extensions of processors with seconds or minutes.

I have been thinking about what's next. We have tools to assist the designer (the processor design engineer per se) to speedup his/her development. Still, the processor must be designed explicitly. What would go beyond the state-of-the-art is not to have to design the golden model of the processor at all.

What I am proposing is an application-specific processor synthesis tool that goes beyond the state-of-the-art. A model generator for producing the high-level description of the processor, based only on application analysis and user-defined constraints. And for the fun of it, let's codename it METATOR, because I tend to watch too much Supernatural these days, and METATOR (messenger) is a possible meaning for METATRON, an angelic being from the Apocrypha with a human past. So think of METATOR as an upgrade (spiritual or not) to the current status of both academic and commercial ASIP design tools..


1. The Context, the Problem and its Solution

ASIPs are tuned for cost-effective execution of targeted application sets. An ASIP design flow involves profiling, architecture exploration, generation and selection of functionalities and synthesis of the corresponding hardware while enabling the user taking certain decisions.

The state-of-the-art in ASIP synthesis includes commercial efforts from Synopsys which has accumulated three relevant portfolios: the ARC configurable processor cores, Processor Designer (previously LISATek) and the IP Designer nML-based tools (previously Target Compiler Technologies); ASIPmeister by ASIP Solutions (site down?), Lissom/CodAL by Codasip, and the academic TCE and NISC toolsets. Apologies if I have missed any other ASIP technology provider!

The key differentiation point of METATOR against existing approaches is that ASIP synthesis should not require the explicit definition of a processor model by a human developer. The solution implies the development of a novel scheme for the extraction of a common denominator architectural model from a given set of user applications (accounting for high-level constraints and requirements) that are intended to be executed on the generated processor by the means of graph similarity extraction. From this automatically generated model, an RTL description, verification IP and a programming toolchain would be produced as part of an automated targeting process, in like "meta-": a generated model generating models!.


2. Conceptual ASIP Synthesis Flow

METATOR would accept as input the so-called algorithmic soup (narrow set of applications) and generate the ADL (Architecture Description Language) description of the processor. My first aim would be for ArchC but this could also expand to the dominant ADLs, LISA 2.0 and nML.

METATOR would rely upon HercuLeS high-level synthesis technology and the YARDstick profiling and custom instruction generation environment. In the past, YARDstick has been used for generating custom instructions (CIs) for ByoRISC (Build Your Own RISC) soft-core processors. ByoRISC is a configurable in-order RISC design, allowing the execution of multiple-input, multiple-output custom instructions and achieving higher performance than typical VLIW architectures. CIs for ByoRISC where generated by YARDstick, which purpose is to perform application analysis on targeted codes, identify application hotspots, extract custom instructions and evaluate their potential impact on code performance for ByoRISC.

3. Conclusion

To sum this up, METATOR is a mind experiment in ASIP synthesis technology. It automatically generates a full-fledged processor and toolchain merely from its usage intent, expressed as indicative targeted application sets.

Best regards
Nikolaos Kavvadias
http://www.nkavvadias.com
 
Hi,

These last few months, I have been slowly moving back to my mai
interests

might be a good idea to spend some time reading what actually exists.
I'm no expert on the field but enough to have an opinion :) that everybod
is looking for the holy grail but few if any ideas evolve to the poin
where they are actually being used by someone else in a product.

Have a look at this, for example
http://tce.cs.tut.fi/download.html




---------------------------------------
Posted through http://www.FPGARelated.com
 
Hi,

These last few months, I have been slowly moving back to my main
interests
might be a good idea to spend some time reading what actually exists.

I am actually an expert on the field (PhD: Development of an application-specific processor design methodology, awarded June 2008), I have known of the TTA/TCE tool albeit this being a latter development. I have already mentioned TCE in my original post:

> and the academic **TCE** and NISC toolsets.

So to my knowledge there is no omission of an important ASIP synthesis (or design) technology in the original post.

The TTA/TCE toolset is essentially a collection of passes along with a backend for a TTA (Transport-Triggered Architecture) architecture that can be configured and extended. It may be a matter of perspective (or not), since mapping to a TTA has been a well-studied problem (since the seminal work of Prof. Corporaal back in the 90s) and in my view it counts as ASIP design/configuration and not ASIP synthesis. This is a nice addition and some people do use the toolset. However, it is not processor synthesis per se, at least without the TTA precondition.

This is the case since as the TCE developers state:

Processor customization points include the register files, function units,
supported operations, and the interconnection network.

The Grail is nice to have and an open research subject! I felt compelled to write about it.

Best regards
Nikolaos Kavvadias
http://www.nkavvadias.com


I'm no expert on the field but enough to have an opinion :) that everybody
is looking for the holy grail but few if any ideas evolve to the point
where they are actually being used by someone else in a product.

Have a look at this, for example
http://tce.cs.tut.fi/download.html




---------------------------------------

Posted through http://www.FPGARelated.com
 
To follow this up, my own processor, ByoRISC (Build Your Own RISC) is an exemplar of ASIP design but not ASIP synthesis, despite the fact that you could explore and generate custom instructions using my tool YARDstick: http://www.nkavvadias.com/yardstick/

ByoRISC references (I have not made the code available):

- http://www.nkavvadias.com/publications/kavvadias_vlsisoc08.pdf
- http://arxiv.org/abs/1403.6632

YARDstick references

- http://www.nkavvadias.com/yardstick/yardstick_date07_abstract.pdf
- http://www.nkavvadias.com/publications/kavvadias_melecon06_cr.pdf
- http://arxiv.org/abs/1403.7380

This is why I haven't included it into technologies directly related to ASIP synthesis, although it is certainly *indirectly* related!

Best regards
Nikolaos Kavvadias
http://www.nkavvadias.com



Τη Τρίτη, 14 Οκτωβρίου 2014 7:50:57 π.μ. UTC+3, ο χρήστης Nikolaos Kavvadias έγραψε:
Hi,



These last few months, I have been slowly moving back to my main

interests

might be a good idea to spend some time reading what actually exists.



I am actually an expert on the field (PhD: Development of an application-specific processor design methodology, awarded June 2008), I have known of the TTA/TCE tool albeit this being a latter development. I have already mentioned TCE in my original post:



and the academic **TCE** and NISC toolsets.



So to my knowledge there is no omission of an important ASIP synthesis (or design) technology in the original post.



The TTA/TCE toolset is essentially a collection of passes along with a backend for a TTA (Transport-Triggered Architecture) architecture that can be configured and extended. It may be a matter of perspective (or not), since mapping to a TTA has been a well-studied problem (since the seminal work of Prof. Corporaal back in the 90s) and in my view it counts as ASIP design/configuration and not ASIP synthesis. This is a nice addition and some people do use the toolset. However, it is not processor synthesis per se, at least without the TTA precondition.



This is the case since as the TCE developers state:



Processor customization points include the register files, function units,

supported operations, and the interconnection network.



The Grail is nice to have and an open research subject! I felt compelled to write about it.



Best regards

Nikolaos Kavvadias

http://www.nkavvadias.com







I'm no expert on the field but enough to have an opinion :) that everybody

is looking for the holy grail but few if any ideas evolve to the point

where they are actually being used by someone else in a product.



Have a look at this, for example

http://tce.cs.tut.fi/download.html









---------------------------------------



Posted through http://www.FPGARelated.com
 

Welcome to EDABoard.com

Sponsor

Back
Top