《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > SoPC系統(tǒng)的綜合優(yōu)化設計策略
SoPC系統(tǒng)的綜合優(yōu)化設計策略
國防科技大學電子科學與工程學院空間所 楊進 邱兆坤 楊德貴
摘要: 在SoPC設計中,系統(tǒng)往往比較復雜。為了提高設計性能(有時甚至只是為了達到設計要求),對所設計的SOPC系統(tǒng)進行綜合優(yōu)化是非常必要的。論文結合具體工程,以Altera公司的FPGA EP2S60為例,探討了SOPC系統(tǒng)設計的綜合優(yōu)化方法。
Abstract:
Key words :

      在SoPC設計中,系統(tǒng)往往比較復雜。為了提高設計性能(有時甚至只是為了達到設計要求),對所設計的SOPC系統(tǒng)進行綜合優(yōu)化是非常必要的。論文結合具體工程,以Altera公司的FPGA EP2S60為例,探討了SOPC系統(tǒng)設計的綜合優(yōu)化方法。

  1 綜合優(yōu)化設計的一般流程和方法
  在FPGA處理器沒有選定前,可以進行SOPC系統(tǒng)的開發(fā)。根據(jù)編譯和優(yōu)化的效果指導處理器芯片的選型,選擇合適的處理器型號、速度等級和封裝。當硬件系統(tǒng)設計好后,就只能在已選擇好的處理器芯片上進行優(yōu)化。一般的優(yōu)化方法有Verilog程序代碼優(yōu)化、編譯和布線優(yōu)化設置,在添加Nios II系統(tǒng)后也涉及對Nios II系統(tǒng)的優(yōu)化。在設計過程中應遵循模塊化設計思想,如果前面的優(yōu)化都不能達到滿意的效果,則需要使用邏輯鎖定技術和應用DSE算法進行優(yōu)化。
 
  2 綜合優(yōu)化設計策略
  2.1 Quartus II軟件優(yōu)化設置
  在進行綜合前,對軟件編譯和布線進行優(yōu)化設置是優(yōu)化設計的一個重要步驟,不同設置對綜合布線的結果有較大影響。幾個比較重要的設置包括時間要求設置、編譯器設置,最重要的是布線器的設置,如圖1所示。
 
  設計中設置對所有路徑進行優(yōu)化,并設置布線器盡最大努力滿足設計的時序要求。在進一步的布線器參數(shù)設置中,選擇全局時鐘有效,這樣雖然可能增加實際布線后延時,但是可以減少時鐘偏斜,為系統(tǒng)整體時序設計的穩(wěn)定性提供保障,同時也可以增強網(wǎng)絡的驅動能力。
 
  另外,中心處理器EP2S60支持多種電平模式,而各個bank支持的模式不盡相同。在最初的硬件電路設計中已經(jīng)考慮到這一點,將外接PCI接口的引腳分配在器件的bank7和bank8上,這樣可以充分利用器件設計好的優(yōu)化路徑,達到比較好的設計性能。在引腳分配中,需要對引腳的特性進行更詳細的設置,具體應根據(jù)實際系統(tǒng)引腳分配的功能要求選擇相應的電平標準,如PCI核接口選擇3.3 V PCI電平標準。
 
  2.2 程序代碼的優(yōu)化設計
  Verilog語言是一種類C語言的硬件描述語言,在設計中首先要對所需實現(xiàn)的硬件電路結構和連接都十分清晰,然后再用適當?shù)恼Z言進行描述。在具體實現(xiàn)上,應綜合考慮以下基本設計原則:
 
  ①面積和速度的平衡互換原則。如設計時序余量大,可以通過功能模塊復用來減少消耗的芯片面積;如設計時序要求高,可采用“串并轉換”和“乒乓操作”以面積換速度。
 
  ②硬件原則。從硬件角度進行程序開發(fā)。
 
 ?、?系統(tǒng)原則。以系統(tǒng)的眼光進行模塊劃分和各模塊任務的分配。
 
 ?、芡皆O計原則。同步設計易于提高設計的頻率和設計的穩(wěn)定性,當前的優(yōu)化工具也多是針對同步時序的優(yōu)化。
 
  硬件程序設計的另一個重要方面是狀態(tài)機的設計。課題中涉及4個狀態(tài)機的設計。遵循好的狀態(tài)機設計原則也是硬件程序開發(fā)中不可忽視的一方面。
 
  狀態(tài)機編碼方式的選擇:由于FPGA中提供較多的觸發(fā)器資源,F(xiàn)PGA設計中多采用熱鍵編碼方式,綜合器的綜合約束屬性界面下可以方便地改變狀態(tài)編碼方式。
 
  初始化狀態(tài)和默認狀態(tài):為避免上電不能正確進入初始狀態(tài),設計中初始狀態(tài)編碼為全零;同時為保證邏輯不會陷入死循環(huán),設計語句中應注意完備化設計。
 
  采用兩段式狀態(tài)機設計方法:將狀態(tài)轉移單獨寫成一個模塊,將狀態(tài)的操作和判斷寫到另一個模塊中,這樣可以將同步時序和組合邏輯分別放置于不同的邏輯塊,利于綜合器優(yōu)化代碼和布線器實現(xiàn)設計。
 
  2.3 片上存儲器分配策略
  在Stratix II系列的FPGA中包含3種不同類型的內部存儲塊:M-RAM塊、M512 RAM塊和M4K RAM塊。設計中,應用不同的存儲塊設計不同的存儲器,可以達到較優(yōu)化的系統(tǒng)性能。
 
  M-RAM完全支持雙端口模式,由512 Kb RAM加上校驗位組成,主要用于大數(shù)據(jù)包的緩存,如以太網(wǎng)幀、IP包等大到幾KB的數(shù)據(jù)包,以及視頻圖像幀的緩存和NiosII嵌人式軟核的存儲;M512 RAM塊由512位模塊加上校驗的RAM組成,主要用于接口速率適配的內部FIF0、移位寄存器和時鐘域隔離等;M4K塊由4 096×1位到128×36位的4 Kb模塊加校驗組成,主要用于小型數(shù)據(jù)塊存儲和多通道I/O協(xié)議中,另外M4K RAM也完全支持雙端口模式。
 
  設計中采用的中心處理器FPGA芯片EP2S60包含豐富的存儲器邏輯資源,和上一代Stratix系列相比,運行速度提高了50%,邏輯容量增加了1倍,具有達180 Kb的等效邏輯元件和9 Mb的RAM,大大增加了集成度,為高度集成的應用提供了實現(xiàn)基礎,而成本比上一代還要低。設計采用的EP2S60器件邏輯資源如表1所列。
      根據(jù)器件內3種存儲器的各自特點,結合片內的邏輯資源分布,在片內設計了5個同步 FIFO,其中4個長度32位、存儲深度256字的FIFO作為64位PCI傳輸?shù)木彺妫硪粋€長度32位,存儲深度設計為2 048字。M512存儲塊主要用于內部FIFO的設計,在配置片內FIFO時選擇M512存儲塊類型。1個32位長、存儲深度256字的FIFO占用的邏輯資源為30個LUT單元、15個M512存儲塊、134個REG單元。4個這樣的FIFO占用60個M512存儲塊、120個LUT單元。536個 REG單元。而1個32位長、2 048字存儲深度的FIFO占用的邏輯資源為114個M512存儲塊、63個LUT單元、128個REG單元。這樣,系統(tǒng)設計中的FIFO總共占用174 個M512存儲塊,相比表1中EP2S60器件329個M512存儲塊,占用率為52.9%,完全可以在片內設計實現(xiàn)。
 
  類似計算機系統(tǒng),軟CPU Nios II系統(tǒng)也需要配置片上的ROM和片上RAM,如圖2所示。片上ROM設計存儲器類型為M4K,數(shù)據(jù)寬度32位,深度為32 KB,讀延遲1。片上RAM存儲器類型同樣為M4K,數(shù)據(jù)寬度32位,深度設計為16 KB,讀延遲1。
 
  片上ROM主要用于上電后程序從外部存儲器加載完成后的程序存儲,是IDE主程序開始執(zhí)行的地方。在Nios II自動分配的地址中,一般起始地址為0x00000000,目的地址為設計ROM容量的大小。片上RAM主要作為程序運行的緩存和程序異常時的暫存,相當于計算機中的內存。在IDE編程設置中,要對片上ROM和片上RAM的使用進行具體的設置,如圖3所示。
 
  對程序存儲器和只讀數(shù)據(jù)存儲器,設置為使用片上ROM。對讀寫數(shù)據(jù)存儲器、堆存儲器和堆棧存儲器,設置使用片上RAM存儲器。這樣,可以作到有效的存儲器配置。
 
  2.4 針對NiOS II系統(tǒng)的優(yōu)化
  SoPC 系統(tǒng)在沒有添加Nios II系統(tǒng)時,較容易實現(xiàn)比較高的頻率,在加入Nios II系統(tǒng)后,系統(tǒng)設計頻率有較明顯的下降。因此在帶Nios II的系統(tǒng)中,對Nios II的優(yōu)化設計是制約整個SOPC系統(tǒng)時序的一個瓶頸。
 
  另一方面,在Nios II系統(tǒng)中,多是應用已經(jīng)設計好的軟核CPU和外接器件IP核,在設計時已經(jīng)進行過優(yōu)化并且已經(jīng)封裝集成,進一步優(yōu)化的難度很大,因此優(yōu)化主要放在自行開發(fā)設計的IP核和軟件的參數(shù)配置以及設計NiosII系統(tǒng)時應當遵循的一些原則上。在Nios II IDE編程環(huán)境中,如圖4所示,選擇最大優(yōu)化,在編譯器參數(shù)設置中選擇小的C編譯庫和減少設備驅動,這樣經(jīng)優(yōu)化后可以縮減硬件代碼,減少器件資源占用。
 
  參考文獻[7]中探討了Nios II系統(tǒng)的優(yōu)化途徑。文中歸納系統(tǒng)優(yōu)化有如下方法:
 
 ?、龠\算應采用定點運算。經(jīng)過測試,浮點加法和乘法運算消耗的時間為定點運算的5~6 倍,如果需要浮點運算,也應該采用自定義指令的方式來實現(xiàn)。
 
 ?、诓捎肅語言和匯編語言混合編程。對計算量大的多次調用的程序模塊采用匯編語言,對主干流程語言采用C語言,這樣可以照顧到程序的可讀性,效率也較高,同時縮減程序占用資源量。
 
 ?、凼褂糜脩糇远x指令。將一些復雜的算法由軟件轉而交由硬件來實現(xiàn),可以獲得較高的效率提升。
 
 ?、苁褂糜布铀偬岣哕浖阅堋Mㄟ^添加外部協(xié)處理器來加速數(shù)據(jù)功能。
 
 ?、?多處理器系統(tǒng)。使用兩個或多個處理器來提高系統(tǒng)的數(shù)據(jù)處理能力。
 
  通過上面分析,進行系統(tǒng)優(yōu)化似乎是一個矛盾的過程:有時需要優(yōu)化以縮減代碼量并減少資源占用,有時又通過增加邏輯和添加處理模塊來提升數(shù)據(jù)處理能力。實際上,評價一個系統(tǒng)設計的好壞,除了需要實現(xiàn)基本的功能外,還要看使用邏輯資源和性能的綜合比較,以更好地利用處理器,達到最好的性能。
 
  3 實驗結論
  在系統(tǒng)設計中,應用文中分析的綜合優(yōu)化設計方法,系統(tǒng)最高頻率有了較大提升,從最初的88.24 MHz,優(yōu)化至目前的111.73 MHz。由于在Quartus II編譯器參數(shù)沒置中,要求最高時鐘設置為132 MHz,因此優(yōu)化后最高時鐘報告以紅色顯示,表示沒有達到預先設置的132 MHz時鐘要求。相比于優(yōu)化前,系統(tǒng)最高頻率提高了26.62%,可見采取的綜合優(yōu)化設計措施比較有效。對于EP2S60器件,在沒有添加Nios II系統(tǒng)時,可以較容易達到200~300 MHz的最高時鐘頻率,加入Nios II經(jīng)過優(yōu)化處理,最高時鐘頻率目前只實現(xiàn)111.73 MHz,應該還有進一步優(yōu)化空間。可以考慮對關鍵路徑進行手工連線,采用DSE算法和邏輯鎖定技術進行進一步的優(yōu)化,從而提高系統(tǒng)最高頻率。
此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美涩涩网站| 亚洲国产毛片完整版 | 久久午夜激情| 欧美中文字幕第一页| 午夜久久99| 亚洲欧美日韩在线高清直播| 亚洲午夜视频在线观看| 99综合精品| 中国成人亚色综合网站| 夜夜嗨av一区二区三区网页 | 亚洲精品综合久久中文字幕| 亚洲经典视频在线观看| 亚洲黄色精品| 亚洲精品一区在线| 亚洲最新色图| 亚洲一区二区动漫| 午夜激情亚洲| 欧美一区二区三区视频在线| 欧美伊人久久久久久久久影院 | 国产午夜精品美女视频明星a级 | 狠狠色香婷婷久久亚洲精品| 国语自产在线不卡| 一色屋精品亚洲香蕉网站| 在线不卡中文字幕播放| 精品电影一区| 亚洲经典在线看| 日韩视频免费看| 亚洲图片欧美午夜| 午夜影视日本亚洲欧洲精品| 欧美一级艳片视频免费观看| 亚洲国产精品悠悠久久琪琪| 亚洲日本国产| 亚洲一区免费看| 欧美专区中文字幕| 久久网站热最新地址| 欧美成人精品一区二区三区| 欧美日韩成人激情| 国产精品你懂的在线| 国产亚洲精品bt天堂精选| 黄色一区三区| 亚洲精品久久久久久久久久久久| 亚洲图片欧美日产| 亚洲国产精品久久人人爱蜜臀 | 亚洲一二三级电影| 欧美在线播放视频| 日韩系列欧美系列| 性欧美激情精品| 可以免费看不卡的av网站| 欧美日韩不卡| 国产日产亚洲精品系列| 亚洲国产美国国产综合一区二区| 一本色道精品久久一区二区三区 | 99国产精品久久久久久久| 亚洲欧美电影在线观看| 91久久极品少妇xxxxⅹ软件| 在线一区二区三区四区| 欧美一区二区视频在线| 美女主播精品视频一二三四| 欧美日韩一区二区在线观看| 国产亚洲人成a一在线v站 | 夜夜狂射影院欧美极品| 欧美影院久久久| 一区二区三区久久精品| 欧美怡红院视频一区二区三区| 美女主播精品视频一二三四| 欧美色精品天天在线观看视频| 国产中文一区| 中文久久乱码一区二区| 亚洲激情啪啪| 欧美亚洲三级| 欧美精品18videos性欧美| 国产人成精品一区二区三| 亚洲麻豆av| 欧美在线免费视屏| 亚洲天堂av图片| 欧美成年视频| 国产欧美日韩亚洲一区二区三区 | 欧美一区二区精品| 亚洲午夜精品久久久久久app| 久久免费黄色| 国产精品亚洲аv天堂网| 亚洲国产三级网| 性色一区二区| 亚洲亚洲精品三区日韩精品在线视频| 麻豆久久精品| 国产一区二区按摩在线观看| 一本久久综合亚洲鲁鲁五月天| 亚洲国产精品久久久久婷婷884| 欧美一区影院| 国产精品成av人在线视午夜片| 亚洲国产精品久久人人爱蜜臀| 欧美一激情一区二区三区| 亚洲一区二区高清视频| 欧美国产激情| 亚洲第一成人在线| 久久精品视频在线看| 欧美在线免费视频| 国产精品yjizz| 99国产精品久久久久久久成人热| 亚洲九九精品| 免费观看一区| 玉米视频成人免费看| 欧美一区中文字幕| 久久国产精品免费一区| 国产精品久久久久久久久久妞妞| 一本色道久久综合亚洲精品按摩 | 久久精品一二三区| 国产热re99久久6国产精品| 国产精品99久久久久久人| 这里只有精品在线播放| 欧美人与禽猛交乱配| 在线观看日韩一区| 最新日韩精品| 欧美大片在线观看一区| 亚洲二区在线视频| 亚洲经典在线看| 欧美激情国产日韩精品一区18| 在线看国产一区| 亚洲观看高清完整版在线观看| 久久久免费av| 极品少妇一区二区| 亚洲二区免费| 欧美jizzhd精品欧美巨大免费| 在线播放国产一区中文字幕剧情欧美| 久久黄色级2电影| 久久综合九色综合久99| 精品91在线| 亚洲激情偷拍| 欧美紧缚bdsm在线视频| 日韩视频一区二区| 宅男噜噜噜66一区二区| 国产精品xxxav免费视频| 亚洲一区二区三区免费视频 | 久久深夜福利| 在线观看亚洲精品视频| 亚洲乱码国产乱码精品精天堂| 欧美伦理a级免费电影| 夜夜爽99久久国产综合精品女不卡 | 日韩天天综合| 亚洲免费视频成人| 国产欧美91| 欧美在线免费观看视频| 久久综合久久久| 亚洲激情另类| 亚洲视频每日更新| 国产精品区免费视频| 性久久久久久久久| 美女91精品| 日韩视频精品在线观看| 午夜精品视频在线| 国产一区二区三区四区hd| 亚洲国产精品综合| 欧美日韩高清在线| 亚洲欧美久久久| 久久在精品线影院精品国产| 亚洲国产精品一区二区www| 一区二区欧美日韩视频| 国产精品私拍pans大尺度在线| 欧美在线日韩在线| 欧美大片免费久久精品三p| 99re在线精品| 久久久精品动漫| 亚洲黄色影院| 欧美亚洲在线| 91久久夜色精品国产九色| 亚洲欧美日韩天堂一区二区| 激情另类综合| 亚洲一区二区免费在线| 国产精品亚洲第一区在线暖暖韩国| 欧美在线视频观看免费网站| 欧美极品在线观看| 亚洲免费在线观看视频| 免费在线一区二区| 亚洲午夜视频在线观看| 久热精品视频在线观看一区| 日韩一二三区视频| 久久夜色精品国产亚洲aⅴ| 亚洲靠逼com| 久久久久久网址| 99国产精品久久久久久久成人热| 久久av资源网站| 日韩亚洲精品在线| 久久久久久久久久久久久久一区| 亚洲毛片视频| 久久久综合视频| 一区二区三区久久网| 另类专区欧美制服同性| 中文日韩电影网站| 蜜臀久久99精品久久久久久9| 亚洲一区二区黄色| 欧美激情一区三区| 久久爱91午夜羞羞| 国产精品任我爽爆在线播放| 亚洲乱码日产精品bd| 国内精品嫩模av私拍在线观看| 亚洲一区二区三区中文字幕在线| 在线观看91精品国产入口| 午夜免费久久久久| 亚洲精品国产精品久久清纯直播 | 久久午夜激情|