R
robotron
Guest
Hello,
On Wednesday, September 12, 2012 5:24:43 PM UTC+2, rickman wrote:
1. *please*, could you find the original work?
2.
Actually, my initial design containted a bank of delay lines, recovering the binary counting (maybe unnecessary -- I must check Gabor's post about desynchronizing bits to plain binary counting). The drawback is, there is O(n^2) DFFs if implemented using shift registers. The k-th bit has to be delayed by (n-k) mod 2^k bits, what is still O(n^2). In practice, it gives huge DFF counts for 32..64bit counters.
The delayers may be also implemented using embedded counters -- since there is no need to delay arbitrary signal, only a pulse "p" (and then divide :2). Such a counter may be of ordinary architecture, because it has only log bits. However, all this seem to me to be too complicated and resource usage may asymptotically drop to O(n log), but in practice, it can hardly be less than using shift registers.
I must try Gabor's Verilog to see, what happens.
Thank you very much,
Marek
On Wednesday, September 12, 2012 5:24:43 PM UTC+2, rickman wrote:
interesting!I've seen this used before. They added delay lines after the counter
bits to produce a count output that is simple binary. This was in a
high speed network interface and the front end ran very fast relative to
the now antiquated FPGA technology. The actual circuit may not have
been a counter, it may have been an adder, but it did have a carry chain.
In essence, this circuit is a pipelined, bit serial counter. You still
need to wait for all the bits to be counted or use the conversion formula..
1. *please*, could you find the original work?
2.
Actually, my initial design containted a bank of delay lines, recovering the binary counting (maybe unnecessary -- I must check Gabor's post about desynchronizing bits to plain binary counting). The drawback is, there is O(n^2) DFFs if implemented using shift registers. The k-th bit has to be delayed by (n-k) mod 2^k bits, what is still O(n^2). In practice, it gives huge DFF counts for 32..64bit counters.
The delayers may be also implemented using embedded counters -- since there is no need to delay arbitrary signal, only a pulse "p" (and then divide :2). Such a counter may be of ordinary architecture, because it has only log bits. However, all this seem to me to be too complicated and resource usage may asymptotically drop to O(n log), but in practice, it can hardly be less than using shift registers.
I must try Gabor's Verilog to see, what happens.
Thank you very much,
Marek