浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 模擬技術(shù)

可提高設(shè)計性能的HDL編程風(fēng)格與技巧

發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):546

        

    

    可提高設(shè)計性能的hdl編程風(fēng)格與技巧

    

    通過熟悉器件架構(gòu),選擇合適的硬件平臺和硅片特性,并借助配置恰當(dāng)且性能優(yōu)良的實現(xiàn)工具,設(shè)計人員就能獲得較高的設(shè)計性能。不過,在提高設(shè)計性能的眾多方法中最容易被忽視的也許就是為目標(biāo)器件編寫高效的hdl代碼。本文所討論的編程風(fēng)格與技巧可提高設(shè)計性能。

    

    使用復(fù)位對性能的影響

    

    很少有哪種系統(tǒng)級的選擇能夠像復(fù)位選擇那樣對性能、面積和功率產(chǎn)生如此重要的影響。一些系統(tǒng)架構(gòu)師規(guī)定必須使用系統(tǒng)全局異步復(fù)位。采用賽靈思的fpga架構(gòu),復(fù)位的使用和類型將對代碼性能產(chǎn)生重要影響。

    

    

    

    圖1:綜合工具選用2個lut。圖2:更靈活的lut接口。

    

    在目前所有的賽靈思fpga架構(gòu)中,查找表(lut)單元就像邏輯、rom/ram或移位寄存器(srl或移位寄存器lut)那樣是可配置的。綜合工具可以根據(jù)rtl代碼推斷出采用某一種結(jié)構(gòu)。不過,為了將lut用作移位寄存器,代碼中不能描述復(fù)位功能,因為srl本身沒有復(fù)位功能。這也意味著具有復(fù)位功能的移位寄存器代碼不能獲得最佳實現(xiàn)(移位寄存器之間需要多個觸發(fā)器和相關(guān)路徑),而沒有復(fù)位功能的代碼則可以獲得快速而緊湊的實現(xiàn)結(jié)果(使用srl)。

    

    這兩種情況對面積和功率的影響更明顯一些,但對性能的影響不很明顯。一般而言,采用觸發(fā)器生成的移位寄存器不會成為設(shè)計中的關(guān)鍵路徑,因為寄存器之間的時序路徑通常沒有足夠的長度成為設(shè)計中最長的路徑。而資源(觸發(fā)器和布線)的額外消耗會對其它設(shè)計部分的布局和布線選擇產(chǎn)生負(fù)面影響,因而可能導(dǎo)致更長的布線路徑。

    

    專用乘法器和ram模塊

    

    乘法器通常用于dsp設(shè)計。但由于賽靈思的fpga架構(gòu)中包含有乘法專用資源,因此在許多設(shè)計中都有乘法器的應(yīng)用。這些乘法器除了執(zhí)行乘法操作外,還提供其它功能。同樣地,實際上不管哪種應(yīng)用,每個fpga設(shè)計都會用到大小不一的ram。

    

    賽靈思fpga包含幾個ram模塊,在設(shè)計中可以用作ram、rom、大型lut甚至通用邏輯。使用乘法器和ram資源可獲得更加緊湊、具有更高性能的設(shè)計,不過復(fù)位選擇對性能既有正面的,也有負(fù)面的影響,具體取決于使用的復(fù)位類型。ram和乘法器模塊只包含同步復(fù)位,因此如果這些功能的代碼用異步復(fù)位編寫,那么這些模塊中的寄存器就無法使用了。這對性能的影響是非常嚴(yán)重的。例如,virtex-4器件的全管線式乘法器采用異步復(fù)位設(shè)計時,頻率最高只能達(dá)到200mhz,而將代碼改成同步復(fù)位后,性能可提高兩倍以上,頻率可達(dá)500mhz。

    

    

    

    圖3:綜合工具選用3個lut。

    

    要從兩個方面看待與ram有關(guān)的問題。與乘法器類似,virtex-4塊ram具有可選的輸出寄存器,使用它們可以減少ram的時鐘到輸出時間,提高整體設(shè)計速度。但這些寄存器只提供同步復(fù)位,不提供異步復(fù)位,因此當(dāng)代碼中的寄存器采用異步復(fù)位描述時就無法使用這些寄存器。

    

    第二個問題來自ram被用作lut或通用邏輯時。有時基于面積和性能方面的考慮,將配置為rom或通用邏輯的多個lut壓縮進(jìn)單個塊ram是非常有益的。這可通過人工設(shè)定結(jié)構(gòu),或以自動方式將部分邏輯設(shè)計映射到未用的ram存儲區(qū)來實現(xiàn)。因為塊ram具有同步復(fù)位功能,因此當(dāng)使用同步復(fù)位(或沒有復(fù)位)時,無需改變已經(jīng)定義好的設(shè)計功能就可實現(xiàn)通用邏輯的映射。但當(dāng)采用異步復(fù)位描述時,這就不可能實現(xiàn)。

    

    通用邏輯

    

    異步復(fù)位對通用邏輯結(jié)構(gòu)也會產(chǎn)生影響。由于所有的賽靈思fpga通用寄存器都具有將復(fù)位/置位編程為異步或同步的能力,因此設(shè)計人員可能認(rèn)為使用異步復(fù)位沒什么不妥。但這種假設(shè)通常是錯誤的。如果沒有使用異步復(fù)位,那么置位/復(fù)位邏輯就可以被置為同步邏輯。這樣一來,就可釋放額外的資源用于邏輯優(yōu)化。

     <

        

    

    可提高設(shè)計性能的hdl編程風(fēng)格與技巧

    

    通過熟悉器件架構(gòu),選擇合適的硬件平臺和硅片特性,并借助配置恰當(dāng)且性能優(yōu)良的實現(xiàn)工具,設(shè)計人員就能獲得較高的設(shè)計性能。不過,在提高設(shè)計性能的眾多方法中最容易被忽視的也許就是為目標(biāo)器件編寫高效的hdl代碼。本文所討論的編程風(fēng)格與技巧可提高設(shè)計性能。

    

    使用復(fù)位對性能的影響

    

    很少有哪種系統(tǒng)級的選擇能夠像復(fù)位選擇那樣對性能、面積和功率產(chǎn)生如此重要的影響。一些系統(tǒng)架構(gòu)師規(guī)定必須使用系統(tǒng)全局異步復(fù)位。采用賽靈思的fpga架構(gòu),復(fù)位的使用和類型將對代碼性能產(chǎn)生重要影響。

    

    

    

    圖1:綜合工具選用2個lut。圖2:更靈活的lut接口。

    

    在目前所有的賽靈思fpga架構(gòu)中,查找表(lut)單元就像邏輯、rom/ram或移位寄存器(srl或移位寄存器lut)那樣是可配置的。綜合工具可以根據(jù)rtl代碼推斷出采用某一種結(jié)構(gòu)。不過,為了將lut用作移位寄存器,代碼中不能描述復(fù)位功能,因為srl本身沒有復(fù)位功能。這也意味著具有復(fù)位功能的移位寄存器代碼不能獲得最佳實現(xiàn)(移位寄存器之間需要多個觸發(fā)器和相關(guān)路徑),而沒有復(fù)位功能的代碼則可以獲得快速而緊湊的實現(xiàn)結(jié)果(使用srl)。

    

    這兩種情況對面積和功率的影響更明顯一些,但對性能的影響不很明顯。一般而言,采用觸發(fā)器生成的移位寄存器不會成為設(shè)計中的關(guān)鍵路徑,因為寄存器之間的時序路徑通常沒有足夠的長度成為設(shè)計中最長的路徑。而資源(觸發(fā)器和布線)的額外消耗會對其它設(shè)計部分的布局和布線選擇產(chǎn)生負(fù)面影響,因而可能導(dǎo)致更長的布線路徑。

    

    專用乘法器和ram模塊

    

    乘法器通常用于dsp設(shè)計。但由于賽靈思的fpga架構(gòu)中包含有乘法專用資源,因此在許多設(shè)計中都有乘法器的應(yīng)用。這些乘法器除了執(zhí)行乘法操作外,還提供其它功能。同樣地,實際上不管哪種應(yīng)用,每個fpga設(shè)計都會用到大小不一的ram。

    

    賽靈思fpga包含幾個ram模塊,在設(shè)計中可以用作ram、rom、大型lut甚至通用邏輯。使用乘法器和ram資源可獲得更加緊湊、具有更高性能的設(shè)計,不過復(fù)位選擇對性能既有正面的,也有負(fù)面的影響,具體取決于使用的復(fù)位類型。ram和乘法器模塊只包含同步復(fù)位,因此如果這些功能的代碼用異步復(fù)位編寫,那么這些模塊中的寄存器就無法使用了。這對性能的影響是非常嚴(yán)重的。例如,virtex-4器件的全管線式乘法器采用異步復(fù)位設(shè)計時,頻率最高只能達(dá)到200mhz,而將代碼改成同步復(fù)位后,性能可提高兩倍以上,頻率可達(dá)500mhz。

    

    

    

    圖3:綜合工具選用3個lut。

    

    要從兩個方面看待與ram有關(guān)的問題。與乘法器類似,virtex-4塊ram具有可選的輸出寄存器,使用它們可以減少ram的時鐘到輸出時間,提高整體設(shè)計速度。但這些寄存器只提供同步復(fù)位,不提供異步復(fù)位,因此當(dāng)代碼中的寄存器采用異步復(fù)位描述時就無法使用這些寄存器。

    

    第二個問題來自ram被用作lut或通用邏輯時。有時基于面積和性能方面的考慮,將配置為rom或通用邏輯的多個lut壓縮進(jìn)單個塊ram是非常有益的。這可通過人工設(shè)定結(jié)構(gòu),或以自動方式將部分邏輯設(shè)計映射到未用的ram存儲區(qū)來實現(xiàn)。因為塊ram具有同步復(fù)位功能,因此當(dāng)使用同步復(fù)位(或沒有復(fù)位)時,無需改變已經(jīng)定義好的設(shè)計功能就可實現(xiàn)通用邏輯的映射。但當(dāng)采用異步復(fù)位描述時,這就不可能實現(xiàn)。

    

    通用邏輯

    

    異步復(fù)位對通用邏輯結(jié)構(gòu)也會產(chǎn)生影響。由于所有的賽靈思fpga通用寄存器都具有將復(fù)位/置位編程為異步或同步的能力,因此設(shè)計人員可能認(rèn)為使用異步復(fù)位沒什么不妥。但這種假設(shè)通常是錯誤的。如果沒有使用異步復(fù)位,那么置位/復(fù)位邏輯就可以被置為同步邏輯。這樣一來,就可釋放額外的資源用于邏輯優(yōu)化。

     <

相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

泰克新發(fā)布的DSA830
   泰克新發(fā)布的DSA8300在一臺儀器中同時實現(xiàn)時域和頻域分析,DS... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!