新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于IP庫的可編程器件輔助設(shè)計(jì)軟件

基于IP庫的可編程器件輔助設(shè)計(jì)軟件

作者: 時(shí)間:2012-11-06 來源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://m.butianyuan.cn/article/189782.htm

在基于MCU的系統(tǒng)設(shè)計(jì)中,一般采用MCU+PLD的系統(tǒng)結(jié)構(gòu)。PLD器件具有在系統(tǒng)現(xiàn)場(chǎng)可重復(fù)編程的能力,用來實(shí)現(xiàn)系統(tǒng)的I/O接口等外圍功能。在這類系統(tǒng)中,絕大多數(shù)的數(shù)字邏輯可在PLD器件內(nèi)部完成。在設(shè)計(jì)一個(gè)新系統(tǒng)時(shí),應(yīng)盡可能利用以往設(shè)計(jì)中已使用過的IP模塊,這些模塊的設(shè)計(jì)已成熟、并經(jīng)過時(shí)間考驗(yàn),可提高設(shè)計(jì)的重復(fù)利用率,并使系統(tǒng)性能和質(zhì)量得到保證。

在長期的設(shè)計(jì)工作中,人們已積累了大量的IP 模塊,如在一個(gè)新的設(shè)計(jì)中加以利用,必然存在如何管理這些模塊的問題。為此可采用集約式的設(shè)計(jì)方法,以提高設(shè)計(jì)效率。硬件集約式的設(shè)計(jì)方法如圖1所示,它類似于軟件中高級(jí)語言的設(shè)計(jì)方式。先用HDL語言對(duì)各種不同功能的電路模塊建立IP模塊,創(chuàng)建電路單元。然后根據(jù)設(shè)計(jì)規(guī)范的要求,從庫中選取不同的電路單元組成描述外圍接口電路的HDL程序。最后,用相應(yīng)的PLD 設(shè)計(jì)工具對(duì)HDL程序進(jìn)行邏輯綜合,在PLD器件內(nèi)部完成布局布線,生成最終的數(shù)字電路。由于這些電路單元是用HDL語言描述的,而HDL語言的特點(diǎn)就是與工藝無關(guān),因此用它描述的電路單元的可移植性非常好,可以在采用不同工藝制造的PLD器件中使用。于是,電路單元庫可以用在不同的系統(tǒng)中,避免了重復(fù)設(shè)計(jì)與資源浪費(fèi)。

Xilinx公司和Altera公司的設(shè)計(jì)工具中,提供了一些HDL形式的電路庫。不過庫單元都是比較簡(jiǎn)單的小規(guī)模數(shù)字電路,如邏輯門、74系列器件等,對(duì)中、大規(guī)模和復(fù)雜邏輯時(shí)序電路的設(shè)計(jì)幫助不大。另外也有一些外圍功能模塊和復(fù)雜邏輯的單元庫提供如通用異步收發(fā)器、有限沖擊響應(yīng)濾波器等,但不是以HDL的形式提供的,只適用于某些特定的PLD器件,移植性比較差。因此,在實(shí)際工作中編制了一個(gè)管理和組合HDL電路單元--HAD軟件。通過HAD軟件,對(duì)設(shè)計(jì)好的HDL電路庫進(jìn)行管理,按照系統(tǒng)設(shè)計(jì)規(guī)范的要求從庫中選取相應(yīng)的電路單元并將它們組合起來,大大降低了系統(tǒng)設(shè)計(jì)和調(diào)試的難度,提高了系統(tǒng)的穩(wěn)定性和可靠性,并且有利于系統(tǒng)日后的升級(jí)。

2 HAD功能

設(shè)計(jì)(HAD)軟件主要是對(duì)HDL語言的電路起一個(gè)輔助設(shè)計(jì)的作用。HAD軟件的功能有兩個(gè):管理電路單元以及生成所需外圍電路的 HDL程序。

電路單元庫的管理主要有兩個(gè)方面:電路單元接口的管理以及電路單元HDL程序的管理。因此,電路單元庫是由兩個(gè)庫組成的,一個(gè)是電路單元的接口庫,另外一個(gè)是電路單元HDL程序庫[7]。電路單元接口庫里的基本單位是各個(gè)電路單元的接口信息,電路單元HDL程序庫里的基本單位是描述各種電路單元的HDL源程序。類似于標(biāo)準(zhǔn)芯片,如8255芯片,電路單元的接口信息描述了這個(gè)標(biāo)準(zhǔn)芯片的輸入輸出以及它的功能,相當(dāng)于8255的管腳和使用功能說明;而電路單元HDL程序描述了這個(gè)標(biāo)準(zhǔn)芯片內(nèi)部的實(shí)際電路以及用何種電路結(jié)構(gòu)實(shí)現(xiàn)相應(yīng)功能的,這相當(dāng)于8255芯片內(nèi)部的電路組成和結(jié)構(gòu)。對(duì)于管理一個(gè)庫來說,基本的操作主要是新增、刪除和修改庫單元。

HAD軟件的最終目的就是生成外圍電路的HDL 程序。也就是根據(jù)系統(tǒng)設(shè)計(jì)規(guī)范的要求從IP庫中選取合適的電路單元,再以適當(dāng)?shù)男问浇M合起來,成為一個(gè)完整的HDL程序。

3 電路模塊HDL程序生成

HAD軟件中最主要的功能就是電路模塊HDL程序的生成。生成電路模塊的HDL程序的過程,主要就是對(duì)電路單元IP庫中的某些單元進(jìn)行若干次例化的過程。

進(jìn)行例化就必須具備兩個(gè)條件:首先要有模塊輸入輸出端口的列表,其次要知道的是與這些端口相連接的信號(hào)列表。根據(jù)兩者的對(duì)應(yīng)關(guān)系,完成例化,然后將例化好的電路模塊組合起來,成為一個(gè)HDL程序文件?

生成電路模塊HDL程序的流程如圖2所示:

通過上面的分析,首先創(chuàng)建兩個(gè)數(shù)據(jù)庫。一個(gè)存放各種模塊HDL程序的源文件,另外一個(gè)存放與各個(gè)模塊相對(duì)應(yīng)的輸入輸出端口的信號(hào)列表。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉