globally asyncronous vs locally syncronous?

Hi

I implemented simple VHDL-written processing node (processor, BRAM, memory controller and network controller).

And I am trying to connect between 2 processing nodes in fpga, v2pro.

Two processors are directly communicated using handshaking protocol.

Problem is a clock.

When I use all the same clocks, then remote memory access is not okay, but local memory access is okay.

When I use different clocks (ie, processor and memory - negated clock each other), then remote memory access is okay, but local memory access is not okay.

Questions are

- Is it okay if we use all clocks the same? Then it will be globally/locally synchronous.

- If it is better to use globally asynchrous locally synchronous (GALS), how can we do that?

Thankyou for any comment and pointer

Reply to
pasacco
Loading thread data ...

Hi,

Maybe I haven't got your problem, why can't you use asynchronous memory, so you could vary the processor clock as you like. Synchronous design will definitely work, however you will loose in performance. As a compromise you can always gate clock, which is probably not the best practise in FPGA design. At any rate - more details on your system arch. would help. Regards, Alex

--
Alex
Reply to
Alex

Hi,

Did you remember to put in sychronizers between clock domains? Perhaps Alex is correct...an explanation of the system architecture would be helpful.

Cheers Ernie

Reply to
ernie

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.