I am implementing an extremely old logic design (circa 1965!) on a Xilinx Virtex 4 (XC4VLX25).
For those interested - it is the logic for the computer that flew to the moon and back! The design is based on approximately 5,000 3-input NOR gates and not a flip flop in sight! For the circuit diagrams see website '
I have implemented the timer and scaler modules that divide the input
2.048 MHz clock signal. The logic works beautifully in the ModelSim environment (after having implemented some delays and initial conditions for signals that form a bistable latch made from the NOR gates) but I am having fun and games with synthesising the logic.My biggest problem is the time that XST takes to synthesise the logic. ISE just grinds to a halt after reporting the combinatorial loops with the message:
Optimizing unit ...
I have left it for over two hours like this... I still haven't ever managed to synthesis the complete timer and scaler modules! I have cut down the scaler module to one or two divider sections and this does synthesise OK.
I don't really want to change the logic to suite the tool as I am trying to be as true to the original design as I can be. I have coded the logic up in a similar manner to the following:
subtype AGCBIT is STD_LOGIC;
-- etc. etc. etc. etc.
constant INI_HI : AGCBIT := '1'; constant INI_LO : AGCBIT := '0';
constant gate_delay : time := 1 ps;
-- etc. etc. etc. etc.
signal \37101\ : AGCBIT := INI_LO; signal \37102\ : AGCBIT := INI_HI; signal \37103\ : AGCBIT := INI_LO; signal \37104\ : AGCBIT := INI_HI;
-- etc. etc. etc. etc.
\37101\