www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > > OpenFPGA

大部分開(kāi)發(fā)者使用 BUFGCTRL 或 BUFGMUX進(jìn)行時(shí)鐘切換,它們?cè)跁r(shí)鐘切換上可以提供無(wú)毛刺輸出。然而,了解所涉及的原理是有好處的。

當(dāng)然,無(wú)論我們?cè)谕竭壿嬛惺褂媚姆N技術(shù),重要的是要確保在進(jìn)行時(shí)鐘切換時(shí)輸出上沒(méi)有毛刺。任何故障都可能導(dǎo)致下游邏輯的錯(cuò)誤。

那么,讓我們看看如何僅使用邏輯門(mén)和寄存器產(chǎn)生無(wú)毛刺輸出的時(shí)鐘切換。Peter 大神介紹了如下電路。

使用兩個(gè)寄存器來(lái)存儲(chǔ)選擇信號(hào)的狀態(tài)。這些狀態(tài)在時(shí)鐘的下降沿更新,并且取消選擇的寄存器將其時(shí)鐘保持在復(fù)位狀態(tài)。由于下降沿,時(shí)鐘處于低電平,并且輸出時(shí)鐘保持低電平。它將保持低電平,直到所選時(shí)鐘變低(以更新其控制寄存器)并變高。

在 Vivado 中實(shí)現(xiàn)這一點(diǎn)很簡(jiǎn)單。只需幾行代碼即可創(chuàng)建時(shí)鐘切換。

library ieee;

use ieee.std_logic_1164.all;


entity clk_sw is port(

 clk_a : in std_logic;

 clk_b : in std_logic;

 sel : in std_logic;

 clk_out : out std_logic);

end entity; 



architecture rtl of clk_sw is 


signal clk_a_reg : std_logic :='0';

signal clk_b_reg : std_logic :='0';


begin


cntrl_a : process(clk_a)

begin if falling_edge(clk_a) then clk_a_reg <= (not sel) and (not clk_b_reg);

 end if;

end process;


cntrl_b : process(clk_b)

begin if falling_edge(clk_b) then clk_b_reg <= sel and (not clk_a_reg);

 end if;

end process;


clk_out <= (clk_a_reg and clk_a) or (clk_b_reg and clk_b);


end architecture;

使用PLL將系統(tǒng)的時(shí)鐘 (100MHz) 劃分為兩個(gè)隨機(jī)且不相關(guān)的頻率。輸出時(shí)鐘引出到GPIO 引腳 。

使用 100 MHz 的 XPM 同步器宏來(lái)對(duì)其進(jìn)行去抖。XPM 宏的輸出用于切換時(shí)鐘并路由至 GPIO 引腳 。

創(chuàng)建了一個(gè)簡(jiǎn)單的測(cè)試平臺(tái),可以在時(shí)序仿真中運(yùn)行仿真,以確定實(shí)現(xiàn)中是否存在故障。

在上圖中可以看到時(shí)序仿真中沒(méi)有觀察到任何故障。

下一步是對(duì)電路板進(jìn)行編程,并觀察在硬件中實(shí)現(xiàn)設(shè)計(jì)時(shí)設(shè)備中是否存在故障。

將頻率設(shè)置為 6.25 MHz 和 8.125 MHz。默認(rèn)情況下,當(dāng)選擇輸入為低電平時(shí),將輸出 8.125 MHz 時(shí)鐘。將其切換至高電平將輸出切換至 6.25 MHz 時(shí)鐘。

當(dāng)然,我們需要能夠確定切換發(fā)生時(shí)輸出上是否存在任何毛刺。因此,使用示波器監(jiān)測(cè)內(nèi)部同步選擇信號(hào)和時(shí)鐘輸出引腳。

從下面觀察輸出時(shí)鐘時(shí)可以看出,當(dāng)時(shí)鐘的選擇線改變時(shí),在輸出時(shí)鐘線上沒(méi)有觀察到毛刺。

盡管現(xiàn)代 FPGA 包含更先進(jìn)、功能更強(qiáng)大的時(shí)鐘管理和時(shí)鐘電路,但一些低端FPGA上這些電路并不存在,我們就需要自己去創(chuàng)建時(shí)鐘切換電路。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉