FPGA時序分析及時序約束常用方法(下篇)

一般常見的時序優化手段有:

1:關鍵路徑插入寄存器
當一段代碼裏組合邏輯過多地時候很容易出現這個問題
2:打兩拍
當模塊之間的數據交互涉及到跨時鐘域的時候,通常可以採用打兩拍的方式來避免亞穩態的出現,這是一種非常有用的辦法

    reg    [7:0]data_reg1;
    reg    [7:0]data_reg2;
	
    always@(posedge clk_50M or negedge rst_n)  	
	    if(!rst_n)
		    data_reg1 <= 8'b0;
		else
		    data_reg1 <= data;
	
	always@(posedge clk_50M or negedge rst_n)
	    if(!rst_n)
		    data_reg2 <= 8'b0;
		else
		    data_reg2 <= data_reg1;

3:避免一個模塊驅動多個模塊
這點事從模塊設計的大框架上考慮的,如果實在是要用一個模塊驅動多個模塊,可以考慮將這個模塊例化多次來實現,以多消耗一些硬件資源爲代價換取較好的時序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章