> On May 21, 2020, at 12:21 PM, Jay Jaeger <[email protected]> wrote:
> 
> On 5/21/2020 9:51 AM, Paul Koning wrote:
>> 
> ...
>> If the timing in your machine is reasonably sane and has enough margin, the 
>> simulation should be painless and synthesis should produce few issues.  If 
>> you have bits that are sensitive to wire or circuit delays, that's 
>> different.  Unfortunately, the 6600 is utterly infested with such issues, to 
>> the point that it's hard to see how it ever worked at all -- the timing 
>> documented in the manuals and implied by the wiring can't actually work.  A 
>> 1410 is probably better, especially considering that IBM had some senior 
>> designers who had experienced timing pain first-hand and had learned to 
>> avoid it.  I'm thinking of people like Gerrit Blaauw (not sure if he was on 
>> that project, though).
> 
> There may be some such sensitivities, but I doubt there are many - the
> 1410 was not a fast machine by any stretch of the imagination.
> Actually, the situation I am most concerned about in that department is
> that the FPGA signals will propagate faster than the original, so a
> signal might change state too quickly as compared to the original.

This sort of question is why I found starting with the simulator is helpful.  
In a simulation you can specify delays directly.  So for my 6600, I have the 
gate delay (5 ns) and the wire delays (1.3 ns per foot, in the twisted pair, or 
25 ns for coax cables including tx/rx circuit).  Actually, I only include wire 
delays for "long" wires; the design clearly uses wires longer than needed in 
various places for delay reasons, but my guess is that short wires are not time 
sensitive.  That may be wrong; I need to run it again without that assumption 
to see if it helps.

Once the design works that way, I can then see what would happen in synthesis, 
by replacing the original stage and wire delays by much smaller values.  Any 
place where that breaks things needs an explicit register inserted to replace 
the wire "register".  I know there will be a bunch of those, hopefully hundreds 
and not tens of thousands.

For more sane machines like a 1410 or an EL-X8, the same approach lets you 
determine whether there is any timing sensitive stuff in the design.  If not, 
then changing the model delays from "original" to "very fast" would break 
nothing.  If so, turning off the delays gives you a synthesizable design, or 
very nearly one.

        paul


Reply via email to