[TUHS] Encoding an ISA: Random Logic vs. Control Stores

Lawrence Stewart stewart at serissa.com
Thu Dec 2 07:14:02 AEST 2021


> On 2021, Dec 1, at 9:55 AM, Douglas McIlroy <douglas.mcilroy at dartmouth.edu> wrote:
> 
> My take on defining random logic
> 
> random logic : hardware :: spaghetti code : software
> 
> Doug

I don’t think this is right.  The irregular parts of die photographs didn’t get that way because the hardware engineers were writing bad (spaghetti) code.  They got that way due to several levels of optimizing tools working over quite sensible RTL or System C code or whatever. You might as well ding the output of -O3 for being incomprehensible.

You might get the same logic by writing a clean state machine and letting the tools minimize the control rom into gates (good) or by writing the gates yourself (bad).  You can’t tell without looking at the sources.

Software coding:  You write the conrol flow and the compiler generates the datapath
Hardware coding:  You write the datapath and the compiler does the control logic.



More information about the TUHS mailing list