M
Mike Treseler
Guest
Beanut wrote:
Sometimes I have to compose my_improved_entity using
my_entity + another_entity + process:glue
and I like to see the new glue code and the old
instances all in the same architecture.
for simulation and vendor independence
and costs nothing for an FPGA target.
Note that large structures can power up
in one state and synchronously init
to another during an idle state.
Can work fine for serial data too.
Parallel data is the problem.
Say the clock hits just as the asynch count
is rolling over from x"FFFFFFFF" to zero.
-- Mike Treseler
I think this is a venial sin not requiring a commandment.11. Do not mix behavioural and structural in a single block.
Mixing them requires a synthesis run on the higher hierarchical
levels, and may take obscene amount of runtime. When the block is
fully structural, the subblocks may simply be linked together.
Sometimes I have to compose my_improved_entity using
my_entity + another_entity + process:glue
and I like to see the new glue code and the old
instances all in the same architecture.
Not me. It is an advantageI am an advocate of having a global reset and many still recommend it:
http://www.chipdesignmag.com/fpgadeveloper/august2005.html
I do not buy into the routing issue because I treat the reset as a high
fanout net. In an ASIC I would route it as a clock, in an FPGA I
connect it to one of the prerouted clocks. Does anyone else advocate
removing global reset?
for simulation and vendor independence
and costs nothing for an FPGA target.
Note that large structures can power up
in one state and synchronously init
to another during an idle state.
Works fine for controls.Will someone provide some insight into the problem with synchronizing a
bus? I was intending commandment 4 for control signals, but I've never
had a bus problem.
Can work fine for serial data too.
Parallel data is the problem.
Say the clock hits just as the asynch count
is rolling over from x"FFFFFFFF" to zero.
-- Mike Treseler