Lothar M. wrote:
> Bitwurschtler wrote:
>> elsif (rising_edge(clk) and reset='0') then
> Usually this shouldn't rise problems, as it's only a clock enable. But
> it's not the "normal" way and hey, who knows?
Well, some FPGA architectures are simply not intended for using the same
signal as asynchronous and synchronous control Signal (here 'reset' is
used as high active async reset and low active sync clock enable.
Despite the Standard (xilinx) template for clock enable is
1 | if reset = '1' then
|
2 | -- ..
|
3 | elsif rissing_edge(clk) then
|
4 | if reset = '0' then
|
5 | -- ..
|
6 | end if;
|
7 | end if:
|
https://www.xilinx.com/support/documentation/white_papers/wp275.pdf
VHDL Syntax for Synthesis is vendor specific, so there is a "good
chance" that
1 |
|
2 | elsif (rising_edge(clk) and reset='0') then
|
is translated into a gated clock ant not a clock enable.
http://vhdlguru.blogspot.de/2010/04/what-is-gated-clock-and-how-it-reduces.html
I am also wondering how STA is handling a (assumed) asynchronous clock
enable.