Ilya Tarasov wrote on 9/18/2017 7:47 AM:
>
> Moving to new nodes, 28 nm and below is VERY hard and complex. To be ready to topology requirements, RTL designer must clearly understand challenges coming with advanced nodes. There are many issues to GA144 chip, and major of them are:
> 1. Is this design a pure synchronous? From the overview this is not clear.
Some call the GA144 asynchronous while others say it is synchronous with
locally generated clocks. Each CPU runs independently with a clock created
with delay lines of differing delays selected by the instruction being run.
So the cycle time depends on the instruction and each processor runs
independently. There is no global clock lines.
> 2. OKCAD seems to be useless because of no DRC (Design Rules Checking). This is enormous huge and important part of advanced nodes with tons of tricky physical effects (from difraction and EM crosstalk to even quantum effects starting approx. from 20 nm and below). Drawing GDSII just from scratch, like in OKCAD, will definitely lead you to failure.
The approach in OKAD is to understand the details of the process enough to
construct basic transistors and interconnect, then wire them together to
produce larger blocks in a similar way to constructing an application in
Forth from low level words working upward. I have no idea how well this
will work in a cutting edge process, but there is a lot less dependency on
the tools finding your errors when your design is as simple as the F18A.
> 3. System level of modelling becomes more and more important while chip size is growing. We may have 1000 cores but how to manage all them? How we can dispatch tasks, data exchange etc with so many cores? We should multiply cores to clock speed only after getting answers on that questions.
These problems seem to exist in the present GA144 chip. Funny, in FPGAs
with 10,000 logic elements we don't have this problem of "dispatch" and
scheduling. You don't need to schedule logic when it is not multitasking
and dispatch is automatic, inputs change, outputs update. A chip with
10,000 F18a cores can be designed in a similar way where you don't worry
about keeping cores busy all the time or even worry if a core is used as
nothing more than a wire.
In fact, a chip like the GA1000 might be able to do something FPGAs have
been difficult to teach, partial reconfiguration on the fly. F18a CPUs can
do some things that allow them to be updated easily. They can execute code
from a comms port. It might be practical to pull code from an external
repository to reconfigure the logic of CPU nodes on the fly.