R
rickman
Guest
On 5/31/2016 9:31 AM, Allan Herriman wrote:
We are miscommunicating. I thought Sean was saying Xilinx was claiming
a proper reset was not needed. If so, I'd love to read the details on
how they justify that claim. Sean was saying the configuration reset is
adequate, which is not correct for most designs (which uses the GSR).
Yes, every FF is guaranteed to be set to a known state, but since the
max delay is typically greater than the clock cycle used, this signal
much be considered to be async with the clock which means you have to
code with this in mind.
Since every Xilinx FPGA uses the GSR to put the chip in a defined state,
I'm not sure what Ken Chapman is really saying. If you use a global
set/reset signal in your design it will be replaced by the GSR signal,
so it is used by default whether or not you infer it.
--
Rick C
On Tue, 31 May 2016 08:53:27 -0400, rickman wrote:
On 5/31/2016 8:09 AM, Sean Durkin wrote:
Ilya Kalistru wrote:
They advise it for a reason. In big and complex designs big reset
network with high fanout dramatically decrease maximum achievable
frequency.
That's only part of the reason. The other part is that every FF, every
BRAM, every component of the FPGA is guaranteed by design to come up as
'0' at power up (after configuration is complete). So their claim is
that a reset (at least a global power-up reset) is simply unneccessary
and only maybe needed for things you do not wish to start up at '0'
(like, maybe a FSM state variable that dictates the initial state of an
FSM). And even in these cases it's not really needed, since the Xilinx
tools honor signal initialization values (in VHDL), and BRAMs can be
pre-loaded also. So you can be absolutely sure how every component in
the FPGA comes up after power-up, without having to use a reset signal.
You can forget about the resources the global reset signal needs,
pipelining or how to code it properly because it plain and simple is
useless and unnecessary in most cases.*
If you need to set FFs or so to specific values after power-up, then
that's a set, not a reset. Different port on the FF, different
scenario,
and certainly needed in a lot less occasions/signals, hence a signal
with much smaller fanout.
* = That's their claim, not necessarily my personal view...
I don't believe Xilinx or any other FPGA vendor makes that claim.
It seems they do (at least Ken Chapman does) make that claim.
Xilinx WP272:
"applying a global reset to your FPGA designs is not a very good
idea and should be avoided"
We are miscommunicating. I thought Sean was saying Xilinx was claiming
a proper reset was not needed. If so, I'd love to read the details on
how they justify that claim. Sean was saying the configuration reset is
adequate, which is not correct for most designs (which uses the GSR).
Yes, every FF is guaranteed to be set to a known state, but since the
max delay is typically greater than the clock cycle used, this signal
much be considered to be async with the clock which means you have to
code with this in mind.
Since every Xilinx FPGA uses the GSR to put the chip in a defined state,
I'm not sure what Ken Chapman is really saying. If you use a global
set/reset signal in your design it will be replaced by the GSR signal,
so it is used by default whether or not you infer it.
--
Rick C