Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Asynchronous stuff in a cyclone III device

Reply
Thread Tools

Asynchronous stuff in a cyclone III device

 
 
Steffen Koepf
Guest
Posts: n/a
 
      01-19-2010
Hello,

i have a cyclone III device with a synchronous design in it.
Now i need a external memory interface to a ATMega, where
the ATMega is the master. The ATMega uses the ALE/-Wr/-Rd
style interface also used in the MCS51 devices.

The problem is, that the lower address data are only valid
for at least 5 ns after a falling edge of ALE. So i cant
synchronise the ALE signal in my internal 100 MHz clock domain.

Is it possible, to use a User-IO Pin for the ALE signal like
this:

ale : process (ExtBusALE)
begin
if (falling_edge(ExtBusALE) ) then
BusAddrInt(15 downto <= ExtBusAddress(15 downto ;
BusAddrInt(7 downto 0) <= ExtBusAD;
end if;
end process;

to store the address data at a falling ALE edge?
If not, is it possible to use a dedicated clock input for
ALE, so that the signal is distributed to the clock inputs
of the BusAddrInt storing registers?


Thanks in advance,

Steffen

 
Reply With Quote
 
 
 
 
Mike Treseler
Guest
Posts: n/a
 
      01-20-2010
Steffen Koepf wrote:
i have a cyclone III device with a synchronous design in it.
> Now i need a external memory interface to a ATMega, where
> the ATMega is the master. The ATMega uses the ALE/-Wr/-Rd
> style interface also used in the MCS51 devices.


That is unfortunate.

> The problem is, that the lower address data are only valid
> for at least 5 ns after a falling edge of ALE. So i cant
> synchronise the ALE signal in my internal 100 MHz clock domain.
> Is it possible, to use a User-IO Pin for the ALE signal like
> this:
> ale : process (ExtBusALE)
> begin
> if (falling_edge(ExtBusALE) ) then
> BusAddrInt(15 downto <= ExtBusAddress(15 downto ;
> BusAddrInt(7 downto 0) <= ExtBusAD;
> end if;
> end process;


.... and maybe resync to the fast clock.

That sounds reasonable, but be sure to
declare ALE as a clock to static timing
along with the hold delay constraint.
Synthesis will do it's best to meet it.

> is it possible to use a dedicated clock input for
> ALE, so that the signal is distributed to the clock inputs
> of the BusAddrInt storing registers?


It couldn't hurt.
Once ALE is a known clock, it will likely get a
global clock node if one is available.

-- Mike Treseler
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Very fast PWM in Cyclone III FPGA Steffen Koepf VHDL 2 05-06-2011 07:25 AM
Cyclone III SFL Megafunction Steffen Koepf VHDL 3 02-02-2010 04:57 AM
How to add delay in an output signal (without using clock) in cyclone 3 device? pankaj.goel VHDL 0 03-17-2009 05:20 AM
Nikon Coolscan III vs Minolta Dimage Scan Dual III Patrick B Cox Digital Photography 17 03-02-2004 07:15 PM



Advertisments