0
我有一個合成VHDL代碼的大問題。我剛剛退出FPGA設計。VHDL - 我必須在每個順序過程中使用相同的時鐘信號嗎?
我有多個連續的過程,和某些進程的時鐘是別人的結果,就像下面的代碼:
process(clk_100MHz)
begin
if(clk_100MHz'event and clk_100MHz = '1') then
clk_divider_4 <= clk_divider_4 + 1;
clk_25MHz <= clk_divider(1);
end if;
end process;
process(clk_25MHz)
begin
if(clk_25MHz'event and clk_25MHz = '1') then
-- Some sequantial code here
end if;
end process;
這是個問題?因爲我感覺我的代碼問題是由於計時問題引起的,這可能是原因。
謝謝您的回答,
達米安。
對於downvoter:請提供一個簡短的評論downvote的原因,因爲這將有助於新人改善他們的問題。 –
你是否在兩個時鐘域之間傳輸數據?是否有大量的寄存器連接到'clk_25MHz'? –
使用一個單一的時鐘,除非你有一個很好的理由否則。然後,使用「時鐘域交叉」技術來解決問題 - 另請參閱異步輸入的「輸入同步器」。在該時鐘域內,使用時鐘使相關時鐘(Morten的答案)成爲可能。 –