Combinational logic running over multiple clock cycles in Xilinx



Hi everyone

Currently our architecture consists of 1024 really fast loops, with
each result being loaded into a register, followed by a single long
1024 bit ripple carry addition that uses the end result of the 1024
loops, and loads the addition into a register. This entire sequence is
repeated 1024 times. The addition is supposed to take place over
multiple clock cycles - the design has a state machine that allocates
a configurable number of states for this addition to take place. This
is essential because it is undesirable to be running the fast loop at
the frequency it takes to do one extremely long addition.

-----|
| | loop repeated 1024 times
| |
^ v
| REG
| |
-----.
|
|
ADDER
|
v
REG

Everything synthesises fine, and Xilinx spits out a maximum clock
frequency at the end of the synthesis. However, I suspect that the
value of the clock frequency obtained assumes that the addition
operation between the two registers should be completed in one clock
cycle (I don't see why Xilinx would assume otherwise).

My question is: is there anyway of either telling Xilinx that the
addition is supposed to take over multiple clock cycles or using Xilinx
or its results to determinine the maximum clock frequency assuming that
the addition takes place over a variable number of clock frequencies?

TIA

Taras

.



Relevant Pages

  • Re: Combinational logic running over multiple clock cycles in Xilinx
    ... >Currently our architecture consists of 1024 really fast loops, ... >multiple clock cycles - the design has a state machine that allocates ... >value of the clock frequency obtained assumes that the addition ... using a ripple carry adder. ...
    (comp.lang.vhdl)
  • Re: VAX floating-point instruction timing?
    ... Not all clock ticks are the same. ... There were stretched clock cycles on at least one VAX box; there was a VAX with two different lengths for its clock cycle, depending on what is going on in the i-stream. ... Yeah, I know, they weren't completely compatible with each other but they all implemented the architecture modulo various subsets and the inevitable bug that would creep in. ... I intend to use register renaming in such a way that 1) every register modification goes to a new physical register and 2) there are sufficiently many more physical than architected registers that all the original register values are kept untouched by even the worst case autoupdating instruction. ...
    (comp.sys.dec)
  • Re: RS232
    ... I'm new with hardware projects... ... for each pulse of clock. ... the last byte saying "return my register value at this address" is received ... until you hand back off to the abstract message into the UART transmitter. ...
    (comp.lang.verilog)
  • Re: Parallel NCO (DDS) in Spartan3 for clock synthesis - highest possible speed?
    ... generator) using a simple phase accumulator (adder) and two registers. ... I take the MSB of the feedback register as my synthesised clock. ...
    (comp.arch.fpga)
  • Re: Antii, can you give us an update?
    ... 2:1 MUX for the selecting the load value ... input of mux connected to 24 bit shift register in A2 domain ... that load the load enable signal is FULLY DISABLED ... clock domains; with purely combinational logic ...
    (comp.arch.fpga)