Forum Discussion
Altera_Forum
Honored Contributor
21 years agoMultiple Clock
Hi everyone,
I try to implement a system with multiple clock domains. The NIOS system run with 50 Mhz and some avalon components should run with 100 Mhz (DMA, FIFO, internal SRAM). SOPC Builder build this system without a problem. But during the "Analysis & Synthesis" I got several errors. So I have tried to build the system that is descriped in "Building Systems with Multiple Clock Domains" but the same errors occured. Has somebody made the same expericences ? Or build a working system with multiple clock domains. regards revolt8 Replies
- Altera_Forum
Honored Contributor
Hi!
I think you can try to get the other clocks from a fast clock by using PLL. - Altera_Forum
Honored Contributor
The clock generation is not the problem.
The clock-domain crossing logic that is created by the SOPC builder can not be synthesised or simulated. - Altera_Forum
Honored Contributor
Add SignalTap II to the list as well.
I used a seperate clock for a custom peripheral on a uKit board, it built and works fine. The periperhal clock was 1/3 slower than system. Both clocks originated from same PLL. Have you tried a faster clock for CPU and slower for other, just as a test? - Altera_Forum
Honored Contributor
I found the problem during the sythesis. SOPC Builder creates for the clock domain crossing logic:
endofpacket_bus_pipe : dma_0_control_port_slave_X_cpu_data_master_bus_pipe port map( data_out (31 DOWNTO 1) => open, data_out (0 downto 0) => internal_slave_endofpacket, clk1 => slave_clk, clk2 => master_clk, data_in => std_logic_vector'("0000000000000000000000000000000") & (A_TOSTDLOGICVECTOR(master_endofpacket)), reset_clk1_n => slave_reset_n, reset_clk2_n => master_reset_n ); Quartus doen't like this line : data_out (0 downto 0) => internal_slave_endofpacket, after changing to data_out (0) => internal_slave_endofpacket, synthesis works without a problem, but modelsim show some other problems http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/sad.gif @joelw: no I didn't try. But I will do. - Altera_Forum
Honored Contributor
@joelw: Now my NIOS is fast then my fifo, but the errors are still the same.
- Altera_Forum
Honored Contributor
Hi there,
I had the same problem. Make sure you are running the service pack for 4.2. This fixes things. Good Luck. - Altera_Forum
Honored Contributor
hi sja,
thx for the hint. Now synthesis runs without a problem. Did you try to simulate your design with Modelsim? There I get still errors. - Altera_Forum
Honored Contributor
Hi there revolt,
Sorry. I didn't go down the Modelsim path so I can't offer any suggestions there. I hope you work it out. Good luck sja