找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3530|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

SOPC自定義模塊的添加和接口信號(hào)的自動(dòng)識(shí)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-23 03:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 51黑黑黑 于 2016-2-23 03:53 編輯

在采用SOPC Builder構(gòu)建通用系統(tǒng)互連結(jié)構(gòu)的過(guò)程中,最重要的一項(xiàng)工作是添加符合Avalon接口規(guī)范的自定義模塊。模塊可以采用HDL文件和原理圖文件形式,通過(guò)Component Editor添加到SOPC Builder的模塊庫(kù)中,從而在今后的項(xiàng)目中使用和重用。      在添加文件后,Component Editor會(huì)調(diào)用Quartus II中的Analyzer對(duì)文件進(jìn)行分析,獲取文件的接口信號(hào)信息,再通過(guò)一系列的配置頁(yè)面設(shè)定自定義模塊和Avalon設(shè)備信號(hào)的對(duì)應(yīng)關(guān)系,進(jìn)而生成特定的配置文件,供SOPC Builder生成Avalon互連結(jié)構(gòu)與自定義模塊的連接。
      Component Editor只提取文件的接口屬性,不關(guān)心文件的內(nèi)容(但是由于Quartus II中的Analyzer會(huì)分析文件的語(yǔ)法,所以語(yǔ)法有問題的文件是不能通過(guò)Component Editor的第一步處理的)。我們可以利用這一點(diǎn),只給Component Editor提供一個(gè)Wrapper文件,即只有接口描述而沒有邏輯描述的文件,縮短文件的分析時(shí)間。在Wrapper文件添加成功后,可以重新編輯Wrapper文件的內(nèi)容,或者在Wrapper文件中例化包含有效邏輯的設(shè)計(jì)文件,不需要重新在Component Editor中處理。
      上述方法適用于接口確定,邏輯可進(jìn)一步改變的設(shè)計(jì)文件。但是當(dāng)文件的接口發(fā)生改變時(shí),就需要在Component Editor中重新添加模塊設(shè)計(jì)文件和生成配置文件。這里有一點(diǎn)很不方便:Component Editor只讀入模塊設(shè)計(jì)文件而不讀入已有的配置文件,造成先前的配置全部失效,需要用戶重新配置。在文件接口復(fù)雜和數(shù)量較多的情況下會(huì)非常不方便:一方面容易出錯(cuò),另一方面由于Component Editor運(yùn)行速度較慢,重新配置需要較長(zhǎng)的時(shí)間。
      在自主開發(fā)SOPC Builder模塊時(shí),這樣的問題是很常見的。在沒有工程壓力,只想嘗試一下的情況下,幾個(gè)來(lái)回以后,我就沒有耐心了。
      其實(shí),Altera提供了一種模塊接口命名方式,可以讓Component Editor自動(dòng)識(shí)別和映射自定義模塊的接口信號(hào),不需要用戶手動(dòng)配置。在Quartus II Version 7.1 Handbook Volume 4: SOPC Builder中專門有一段,給出了自動(dòng)識(shí)別信號(hào)命名規(guī)范:在Section I. SOPC Builder Features中的5. Component Editor中的Signals Tab里的Naming Signals for Automatic Type and Interface Recognition。
      該方法可以通過(guò)在HDL文件中恰當(dāng)?shù)孛涌谛盘?hào),讓Component Editor自動(dòng)識(shí)別任何類型的Avalon設(shè)備信號(hào)。包括:主設(shè)備接口信號(hào)(avm_*)、從設(shè)備接口信號(hào)(avs_*)、三態(tài)從設(shè)備接口信號(hào)(ats_*)和全局控制信號(hào)(gls_*)四種信號(hào)。其中包括與Avalon無(wú)關(guān)的對(duì)外接口信號(hào)(*_*_export_*)。
      采用這種方法后,即使需要Component Editor重新分析模塊設(shè)計(jì)文件,原有的映射關(guān)系也不會(huì)被破壞;既省去了第一次手動(dòng)配置的工作,也省去了進(jìn)一步編輯模塊的配置工作。提高了工作效率。
      如果對(duì).PTF文件有很深入的認(rèn)識(shí),也可以手工編輯和修改.PTF文件,代替Component Editor的工作:Component Editor的目標(biāo)就是為了生成.PTF文件。
      值得一提的是,在Quartus II7.1版中,SOPC Builder開始支持.TCL文件作為模塊的接口配置文件,在運(yùn)行Component Editor后生成的也只有.TCL文件。出于向下兼容的考慮,.PTF文件仍然是有效的配置文件,但是在新模塊的添加中不再采用這種格式。.TCl文件的形式更簡(jiǎn)潔,內(nèi)容更清晰,更加有利于手工編輯。
      此外,SOPC Builder生成的文件組織結(jié)構(gòu)和以前也有差異:更簡(jiǎn)潔,更規(guī)范,相關(guān)性更強(qiáng),更有利于移植和維護(hù)。
      還需要提到的一點(diǎn)是:Component Editor的HDL頁(yè)也有變化。一個(gè)模塊只能也只需要添加一個(gè)頂層文件,其余的下層文件在Quartus II執(zhí)行綜合時(shí)需要在用戶自定義庫(kù)或包含文件列表中添加。對(duì)于仿真,需要在Component Editor的HDL頁(yè)的仿真文件中添加頂層文件和下層文件。這一點(diǎn),也是幾年來(lái)SOPC Builder的一大改進(jìn)。畢竟,Component Editor只關(guān)心文件的接口,不關(guān)心文件的內(nèi)容。
      總結(jié)一下,本文要點(diǎn)如下:
      1. 采用Wrapper文件代替原始設(shè)計(jì)文件添加到Component Editor中,有利于采用自頂向下的開發(fā)流程。
      2. 采用Altera的自動(dòng)識(shí)別命名方式,可以顯著減少手動(dòng)配置的工作量。
      3. 手工編輯和修改.PTF或.TCL文件也是添加SOPC Builder模塊的一種高效方式。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表