時(shí)鐘使能電路是同步設(shè)計(jì)的重要基本電路,在很多設(shè)計(jì)中,雖然內(nèi)部不同模塊的處理速度不同,但是由于這些時(shí)鐘是同源的,可以將它們轉(zhuǎn)化為單一的時(shí)鐘電路處理。在FPGA的設(shè)計(jì)中,分頻時(shí)鐘和源時(shí)鐘的skew不容易控制,難以保證分頻時(shí)鐘和源時(shí)鐘同相。故此推薦采用使用時(shí)鐘使能的方法,通過使用時(shí)鐘使能可以避免時(shí)鐘“滿天飛”的情況,進(jìn)而避免了不必要的亞穩(wěn)態(tài)發(fā)生,在降低設(shè)計(jì)復(fù)雜度的同時(shí)也提高了設(shè)計(jì)的可靠性。
我們可以利用帶有使能端的D觸發(fā)器來實(shí)現(xiàn)時(shí)鐘使能的功能。
在上圖中clk1x是CLK的四分頻后產(chǎn)生的時(shí)鐘,clk1x_en是與clk1x同頻的時(shí)鐘使能信號(hào),用clk1x_en作為DFF的使能端,D端的數(shù)據(jù)只有在clk1x_en有效地時(shí)候才能打入D觸發(fā)器,從而在不引入新時(shí)鐘的前提,完成了下圖電路一致的邏輯功能。
在某系統(tǒng)中,前級(jí)數(shù)據(jù)輸入位寬為8,而后級(jí)的數(shù)據(jù)輸出位寬32,我們需要將8bit的數(shù)據(jù)轉(zhuǎn)換成32bit的數(shù)據(jù),因此后級(jí)處理的時(shí)鐘頻率為前級(jí)的1/4,若不使用時(shí)鐘時(shí)能,則就要將前級(jí)時(shí)鐘進(jìn)行4分頻來作為后級(jí)處理的時(shí)鐘,這種設(shè)計(jì)方法會(huì)引入新的時(shí)鐘域,為了避免這種情況,我們采用了時(shí)鐘時(shí)能的方法來減少設(shè)計(jì)的復(fù)雜度。
module gray ( input clk, input rst_n, input [7:0] data_in, output reg [31:0] data_out, output reg clk1x_en ); reg [1:0] cnt; reg [31:0] shift_reg; always @ (posedge clk,negedge rst_n) begin if(!rst_n) cnt <= 2'b0; else cnt <= cnt +1'b1; end always @ (posedge clk,negedge rst_n) begin if(!rst_n) clk1x_en <= 1'b0; else if(cnt ==2'b01) clk1x_en <= 1'b1; else clk1x_en <= 1'b0; end always @ (posedge clk,negedge rst_n) begin if(!rst_n) shift_reg <= 32'b0; else shift_reg <= {shift_reg[23:0],data_in}; end always @ (posedge clk,negedge rst_n) begin if(!rst_n) data_out<= 32'b0; else if(clk1x_en==1'b1)//僅在clk1x_en為1時(shí)才將shift_reg的值賦給data_out data_out<=shift_reg; end endmodule
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618496 -
D觸發(fā)器
+關(guān)注
關(guān)注
3文章
173瀏覽量
48764 -
時(shí)鐘電路
+關(guān)注
關(guān)注
10文章
243瀏覽量
51388
發(fā)布評(píng)論請(qǐng)先 登錄
PLL技術(shù)在FPGA中的動(dòng)態(tài)調(diào)頻與展頻功能應(yīng)用

Leadway電源模塊的使能信號(hào)是如何作用的
電容在時(shí)鐘電路中的應(yīng)用有哪些
時(shí)鐘電路的組成與設(shè)計(jì)要點(diǎn)介紹
FPGA時(shí)序約束之設(shè)置時(shí)鐘組

評(píng)論