From: Thorsten Kiefer on
Hi,
in my book it's written that the clock
has to instactiated like this :

architecture Behavioral of fftest is
constant T : time := 20ns;
....
begin
....
--clock
process
begin
clk <= '0';
wait for T/2;
clk <= '1';
wait for T/2;
end process
....
end Behavioral;

But I get the error messages :
2x "Wait for statement unsupported."

Spartan3, Xilinx ISE 9.2....

Best Regards
Thorsten

From: Symon on

"Thorsten Kiefer" <webmaster(a)nillakaes.de> wrote in message
news:47fe3a1e$0$583$6e1ede2f(a)read.cnntp.org...
> Hi,
> in my book it's written that the clock
> has to instactiated like this :
>
Hi Thorsten,
Your book is talking about simulation. You can't synthesise that code,
because the FPGA can't implement delays like that. You need an external
clock for synthesis that connects to your design through an input port.
HTH., Syms.


From: Thorsten Kiefer on
Symon wrote:

>
> "Thorsten Kiefer" <webmaster(a)nillakaes.de> wrote in message
> news:47fe3a1e$0$583$6e1ede2f(a)read.cnntp.org...
>> Hi,
>> in my book it's written that the clock
>> has to instactiated like this :
>>
> Hi Thorsten,
> Your book is talking about simulation. You can't synthesise that code,
> because the FPGA can't implement delays like that. You need an external
> clock for synthesis that connects to your design through an input port.
> HTH., Syms.

OK,
I found the pin, now another question. This is also for simulation only:
reset <= '1', '0' after T/2;

I tried to convert that like that :
process
begin
reset <= '1';
wait until falling_edge(clk);
reset <= '0';
end process;
But that would run forever, right ?
Is it possible to abort a process after 1 execution ?

--TK

From: Mike Treseler on
Thorsten Kiefer wrote:

> OK,
> I found the pin, now another question. This is also for simulation only:
> reset <= '1', '0' after T/2;
>
> I tried to convert that like that :

No synthesis code is required for reset or clock
other than the input port declarations.
Some testbench process can wiggle it
however you like.


-- Mike Treseler
From: Symon on
"Thorsten Kiefer" <webmaster(a)nillakaes.de> wrote in message
news:47fe3e96$0$583$6e1ede2f(a)read.cnntp.org...
>
> OK,
> I found the pin, now another question. This is also for simulation only:
> reset <= '1', '0' after T/2;
>
> I tried to convert that like that :
> process
> begin
> reset <= '1';
> wait until falling_edge(clk);
> reset <= '0';
> end process;
> But that would run forever, right ?
> Is it possible to abort a process after 1 execution ?
>
> --TK
>
generate_reset : process
begin
reset <= '1';
wait for 10 ns;
reset <= '0';
wait ; -- ***YOU NEED THIS***
end process generate_reset;