專利名稱:一種基于矩陣的芯片端口映射方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路數(shù)字處技術(shù)領(lǐng)域,尤其是基于矩陣結(jié)構(gòu)的芯片端口映 射的實(shí)現(xiàn)方法。
背景技術(shù):
端口復(fù)用是芯片設(shè)計(jì)所使用的通用技術(shù)之一。其通常所采用的方法就是通 過簡(jiǎn)單的把幾個(gè)功能端口的復(fù)用到一個(gè)芯片端口,通過寄存器的配置,來(lái)實(shí)現(xiàn) 端口功能的選擇。
這種通用方法的一個(gè)明顯不足就是缺乏靈活性,從而導(dǎo)致了一定程度降低 了芯片的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn),提供一種基于矩陣的芯片端口映 射方法,通過寄存器配置來(lái)控制復(fù)用矩陣邏輯,把一組端口映射到特定的芯片 管腳上,大大提高芯片管腳的效率,減少芯片管腳的數(shù)量。
本發(fā)明所要解決的技術(shù)問題是如何采用一種簡(jiǎn)單有效的方法,在實(shí)現(xiàn)芯片 相同功能的情況下,針對(duì)不同的應(yīng)用場(chǎng)合,采用不同的端口映射方法,提高芯 片管腳的效率,減少芯片管腳的數(shù)量,結(jié)構(gòu)簡(jiǎn)單又易于實(shí)現(xiàn)。
基于矩陣結(jié)構(gòu)的芯片端口映射的實(shí)現(xiàn)方法,該方法通過寄存器配置和硬件
復(fù)用控制矩陣邏輯,可以把任意功能的I/O (輸入/輸出)復(fù)用到芯片不同管腳
上,實(shí)現(xiàn)芯片端口的映射。為了減少控制矩陣邏輯規(guī)模,把N個(gè)I/0定義為一
個(gè)功能組,根據(jù)芯片功能需要,把芯片功能的I/O進(jìn)行排列組合產(chǎn)生M個(gè)功能 組,根據(jù)芯片可用管腳數(shù)量,定義K個(gè)I/0端口組(每個(gè)端口組包含N個(gè)I/0),
構(gòu)造邏輯電路,通過寄存器配置,實(shí)現(xiàn)從M'功能組到K7端口組的映射,同時(shí)端 口組每個(gè)I/0也可以單獨(dú)定義成GP10。包括如下步驟
步驟l:定義N個(gè)I/0為一個(gè)功能組;
步驟2:根據(jù)芯片功能,定義P個(gè)功能,每個(gè)功能包含一定數(shù)量的I/O; 步驟3:把P個(gè)功能中一部分功能進(jìn)行排列組合組成一個(gè)功能組,這個(gè)功能 組的I/O總的數(shù)量不超過N個(gè)I/O;
步驟4:重復(fù)步驟3產(chǎn)生M個(gè)功能組;
步驟5:根據(jù)芯片可用管腳數(shù)量,定義K個(gè)I/0端口組,每個(gè)端口組包含N
個(gè)I/0;
步驟6:構(gòu)造控制復(fù)用矩陣邏輯電路,可通過寄存器配置實(shí)現(xiàn)從M'功能組 到K7端口組的映射;
步驟7:構(gòu)造邏輯電路,可通過寄存器配置把功能組M'中的1/0設(shè)置成功
能1/0,或者設(shè)置成GPIO (本專業(yè)使用的術(shù)語(yǔ))。
可以把任意功能映射某一組芯片管腳上,也可以把任意功能映射到任意組 芯片管腳上,可以提高芯片管腳的效率,減少芯片管腳的數(shù)量。
假設(shè)我們?cè)O(shè)計(jì)一款芯片包含如下功能MAC、 LCD、 12S、 NAND、 SD/MMC、 NOR Flash、 Keypad、 ITU IN (以上模塊均為本專業(yè)使用的模塊)等模塊。為了節(jié)約 封裝成本,并盡量使芯片小型化,我們把芯片封裝成包含108個(gè)管腳芯片,其
中芯片包含多組電源和地、JTAG、SDRAM的地址和數(shù)據(jù)總線等模塊是系統(tǒng)必須的, 這些模塊管腳不必復(fù)用,這些功能總計(jì)需要占用60個(gè)管腳,剩下48個(gè)管腳可 用于MAC、 LCD、 12S、 NAND、 SD/醒C、 N0R Flash、 Keypad、 ITU IN等功能組的 復(fù)用,根據(jù)以上步驟實(shí)現(xiàn)芯片功能與管腳的復(fù)用,步驟如下
所述步驟1:根據(jù)可供復(fù)用的管腳數(shù)量為T (范圍為1到1000,如48,但 不限于此)個(gè)以及各模塊管腳數(shù)量,把N (范圍為1到1000,如12,但不限于 此)個(gè)I/0定義為l個(gè)功能組。
如可供復(fù)用的管腳數(shù)量為48個(gè)以及各模塊管腳數(shù)量,把12個(gè)I/O定義為1 個(gè)功能組。
所述步驟2:根據(jù)芯片功能,確定芯片包含哪些模塊,如MAC、 LCD、 12S、 NAND、 SD/畫C、 NOR Flash、 Keypad、 ITU IN、 ITU OUT、 TV 0UT、 S謹(jǐn)、AC97、 UART、 SSP、 SPI、 USB、 CAN、 RS485、 RS232、 FlaxRaw、 FlexIO、 SDIO、 SATA、 1394、 WLAN、 Bluetooth、 Irda、 PS、 SDRAM、 DDR、 DDR 2、 S謹(jǐn)、CEATA、 CF、 IDE、 e腿C、 XD、 MemoryStick、 SPDIF模塊,但不限于此;確定每個(gè)功能組的 1/0數(shù)量,每個(gè)模塊的I/0數(shù)量根據(jù)需要確定,如其中MAC有12個(gè)I/0、 12S有 4個(gè)I/O、 NAND有16個(gè)I/O、 Keypad有12個(gè)I/O、 ITU IN有11個(gè)I/O。(它的 數(shù)據(jù)線與NAND共用,所以只有4個(gè)I/O) 、 NOR Flash有12個(gè)1/0、 Keypad有12 個(gè)1/0、 ITU IN有11個(gè)I/0。但不限于此。
所述步驟3和步驟4:根據(jù)產(chǎn)品需要,定義如下的M(范圍為1到1000,如 9,但不限于此)個(gè)功能組,每個(gè)功能組擁有不超過N個(gè)1/0,定義如下的9個(gè)功 能組,每個(gè)功能組擁有不超過12個(gè)1/0,為了描述方便,把MAC的12個(gè)I/0寫 成mac [ 11:0] , LCD的20個(gè)I/O寫成led [ 19:0] , I2S的4個(gè)I/O寫成i2s [3:0], ITU IN的11個(gè)I/O寫成itu_in[10:0],同時(shí)mac[O]表示為MAC的第0個(gè)1/0, mac[5]表示為MAC的第5個(gè)1/0, led[15:12]表示為L(zhǎng)CD的第12到第15個(gè)1/0, keypad[5:2]表示為Keypad的第2到第5個(gè)I/O。某個(gè)功能組n由模塊1的第a 至第b個(gè)I/0,模塊2的第c至第d個(gè)I/0,模塊3的第e至第f個(gè)I/0組成, 則這個(gè)功能組表示成功能組m模塊l[b:a]、模塊2[d:c]、模塊3[f:e]。
所述9個(gè)功能組分別為
功能組l:mac[ll:O]
功能組2:i2s[3:0]、 lcd[19:12]
功能組3:lcd[ll:O]
功能組4:n肌d[15:4]
功能組5:nand[3:0]、 sdmmc[3:0]、i2s[3:0]
功能組6:norflash[ll:O]
功能組7:keypad[11:0]
功能組8:itu—in[10:0]
功能組9:nand[3:0]、 lcd[19:12]。
所述步驟5:由于可供復(fù)用的管腳數(shù)j匱為T (范圍為1到1000,如48,但
不限于此)個(gè),N (范圍為1到1000,如12,但不限于此)個(gè)I/O定義為1個(gè) 功能組,所以芯片只有K二T/N((范圍為I到IOOO,如4,但不限于此)個(gè)1/0 端口組,也就是說在某個(gè)具體應(yīng)用用,最多只能把以上M個(gè)功能組中的K個(gè)功 能組映射到芯片管腳上。
如由于可供復(fù)用的管腳數(shù)量為48個(gè),把12個(gè)I/O定義為1個(gè)功能組,所 以芯片只有4個(gè)I/O端口組,也就是說在某個(gè)具體應(yīng)用用,最多只能把以上9 個(gè)功能組中的4個(gè)功能組映射到芯片管腳上。
所述步驟6:構(gòu)造控制復(fù)用矩陣邏輯電路,設(shè)計(jì)了 K (范圍為1到1000,如 4,但不限于此)個(gè)配置寄存器用來(lái)實(shí)現(xiàn)功能組到端口組的映射,如芯片共用108 個(gè)管腳,其中49至ljl08管腳用于通用的目的,l到48管腳用于端口復(fù)用,分成 4組,其中PAD Group 0包含1到12管腳,其中PAD Group 1包含13到24管 腳,其中PAD Group 2包含25到36管腳,其中PAD Group 3包含37到48管 腳,芯片中設(shè)計(jì)了如下寄存器PADOCTL、 PAD1CTL、 PAD2CTL、 PAD3CTL控制復(fù)用 矩陣邏輯電路,用來(lái)實(shí)現(xiàn)功能組到端口組的映射;設(shè)置PAD0CTL等于7,則表示 功能組7的Keypad的12個(gè)1/0映射到芯片的管腳1到管腳12 (PAD Group 0), 設(shè)置PAD3CTL等于2,則表示功能組2映射到PAD Group 3,即的I2S的4個(gè)1/0 映射到芯片的管腳45到管腳48和功能組2的LCD的第13個(gè)1/0到第20個(gè)1/0 映射到芯片的管腳37到管腳44。
所述步驟7:構(gòu)造邏輯電路,設(shè)計(jì)了 M(范圍為1到1000,如9,但不限于 此)個(gè)寄存器配置把功能組中的I/0設(shè)置成功能1/0,或者設(shè)置成GPIO。如在芯 片中設(shè)計(jì)了 9個(gè)PAD模式寄存器,分別為PADM0DE1、 PADM0DE2到PADM0DE9,這 9個(gè)寄存器的bit0到bit 11分別控制功能組的每一個(gè)I/O是否為GPIO (1是GPIO, 0是功能I/0);如要把功能組5中的第5到8個(gè)I/0設(shè)置成GPI0,只需要設(shè)置 寄存器PADMODE5等于0x0f0即可。
在某個(gè)應(yīng)用中需要使用NAND、 I2S、 Keypad,通過設(shè)置PADOCTL等于4、
PADICTL等于5、 PAD2CTL等于7,就可把NAND、 I2S、 Keypad映射到芯片管腳 上,其中功能組5中的sdmmc[3:0]不需要使用,它對(duì)應(yīng)的管腳為管腳17到20, 就可用作GPIO,只需要設(shè)置寄存器PADM0DE5等于OxOfO即可。 本發(fā)明的有益效果為
本發(fā)明采用一種簡(jiǎn)單有效的方法,在實(shí)現(xiàn)芯片相同功能的情況下,針對(duì)不 同的應(yīng)用場(chǎng)合,采用不同的端口映射方法,提高芯片管腳的效率,減少芯片管 腳的數(shù)量,結(jié)構(gòu)簡(jiǎn)單又易于實(shí)現(xiàn)。
本發(fā)明的顯著有益效果在于芯片本身包含許多功能,為實(shí)現(xiàn)這些功能, 可能需要非常多的I/0管腳,但針對(duì)特定的應(yīng)用場(chǎng)合一,可能需要功能一、二、 三,功能四、五不需要使用,而應(yīng)用場(chǎng)合二,可能需要功能二、三、五,功能 一、四不需要使用,如果芯片把所有功能封裝出來(lái),則可能增加封裝成本和封 裝芯片的面積,如果芯片只把部分功能封裝出來(lái),則只能應(yīng)用到特定的場(chǎng)合, 其它應(yīng)用需要另作封裝。如果采用本發(fā)明的方法,則采用較少封裝實(shí)現(xiàn)最大的 功能,不同的端口復(fù)用方法針對(duì)不同的市場(chǎng)應(yīng)用,降低了成本,增加了芯片的 最大的靈活性。
圖1為基于矩陣結(jié)構(gòu)的芯片端口映射的硬件結(jié)構(gòu)實(shí)現(xiàn)原理圖。 圖2為基于矩陣的芯片端口映射方法的流程圖。
具體實(shí)施例方式
下面參考說明書附圖,具體說明本發(fā)明的實(shí)現(xiàn)過程。
圖1為基于矩陣結(jié)構(gòu)的芯片端口映射的硬件結(jié)構(gòu)實(shí)現(xiàn)原理圖; 本發(fā)明所述的基于矩陣結(jié)構(gòu)的端口映射的實(shí)現(xiàn)方法。
功能組的定義根據(jù)定義,將N個(gè)不同功能I/0定義為功能組。不同的功
能組可以包括相同的I/O。
端口組的定義根據(jù)芯片可用管腳數(shù)量T和一個(gè)功能組的1/0數(shù)量N,則端 口組的數(shù)量K二T/N。
矩陣的形成和控制功能組選擇寄存器控制功能組到端口組的映射,端口 模式寄存器可把管腳配置成功能腳或GPIO。通過配置,使得每個(gè)端口可以靈活 配置成不同的功能組或GPIO。
下面參考說明書附圖,具體說明本發(fā)明的實(shí)現(xiàn)過程。
假設(shè)我們?cè)O(shè)計(jì)一款芯片包含如下功能MAC、 LCD、 12S、 NAND、 SD/醒C、 NOR Flash、 Keypad、 ITUIN等模塊。為了節(jié)約封裝成本,并盡量使芯片小型化,我 們把芯片封裝成包含108個(gè)管腳芯片,其中芯片包含多組電源和地、JTAG、 SDRAM 的地址和數(shù)據(jù)總線等模塊是系統(tǒng)必須的,這些模塊管腳不必復(fù)用,這些功能總 計(jì)需要占用60個(gè)管腳,剩下48個(gè)管腳可用于MAC、 LCD、 12S、 NAND、 SD/醒C、 NOR Flash、 Keypad、 ITU IN等功能組的復(fù)用。
步驟l:確定每個(gè)功能組的I/0數(shù)量;
根據(jù)可供復(fù)用的管腳數(shù)量為T (范圍為1到1000,如48,但不限于此)個(gè) 以及各模塊管腳數(shù)量,把N (范圍為1到1000,如12,但不限于此)個(gè)I/O定 義為1個(gè)功能組。
如可供復(fù)用的管腳數(shù)量為48個(gè)以及各模塊管腳數(shù)量,把12個(gè)I/O定義為1
個(gè)功能組。
步驟2:確定芯片功能模塊,及每個(gè)功能的I/0數(shù)量;
根據(jù)芯片功能,確定芯片包含MAC、 LCD、 12S、 NAND、 SD/薩C、 NORFlash、 Keypad、 ITU IN等模塊,確定每個(gè)功能組的I/O數(shù)量,其中MAC有12個(gè)I/O、 LCD有20個(gè)I/O、 I2S有4個(gè)1/0、 NAND有16個(gè)I/O、 SD/MMC有4個(gè)I/O (它的 數(shù)據(jù)線與N認(rèn)D共用,所以只有4個(gè)I/O) 、 NOR Flash有12個(gè)1/0、 Keypad有12 個(gè)1/0、 ITU IN有11個(gè)I/0。但不限于此。
步驟3和步驟4:產(chǎn)生功能組;
根據(jù)產(chǎn)品需要,定義如下的M(范圍為l到lOOO,如9,但不限于此)個(gè)功能 組,每個(gè)功能組擁有不超過N個(gè)1/0,我們定義如下的9個(gè)功能組,每個(gè)功能組 擁有不超過12個(gè)I/0,為了描述方便,我們把MAC的12個(gè)I/0寫成mac[ll:0], LCD的20個(gè)I/0寫成lcd[19:0], I2S的4個(gè)I/O寫成i2s[3:0] , ITUIN的ll 個(gè)I/O寫成itu—in[10:0],其它以此類推,同時(shí)mac[O]表示為MAC的第0個(gè)1/0, mac[5]表示為MAC的第5個(gè)1/0, lcd[15:12]表示為L(zhǎng)CD的第12到第15個(gè)1/0, keypad[5:2]表示為Keypad的第2到第5個(gè)I/O。如某個(gè)功能組由模塊1的第a 至第b個(gè)I/0,模塊2的第c至第d個(gè)I/0,模塊3的第e至第f個(gè)I/0組成, 則這個(gè)功能組表示成
功能組n:模塊l[b'.a]、模塊2[d:c]、模塊3[f:e]
芯片包含的9個(gè)功能組,分別為
功能組l: mac[ll:O]
功能組2: i2s[3:0]、 lcd[19:12]
功能組3: lcd[ll:0] 功能組4: nand[15:4]
功能組5:腦d[3:0]、 sd獄[3:0]、 i2s[3:0]
功能組6: norflash[ll:O]
功能組7: keypad[11:0]
功能組8: itu—in[10:0]
功能組9:麵d[3:0]、 led[19:12]
步驟5:確定芯片I/0端口組的數(shù)量
由于可供復(fù)用的管腳數(shù)量為T (范圍為1到1000,如48,但不限于此)個(gè), N (范圍為1到1000,如12,但不限于此)個(gè)I/O定義為1個(gè)功能組,所以芯 片只有K二T/N((范圍為I到IOOO,如4,但不限于此)個(gè)I/0端口組,也就是 說在某個(gè)具體應(yīng)用用,最多只能把以上M個(gè)功能組中的K個(gè)功能組映射到芯片 管腳上。
如由于可供復(fù)用的管腳數(shù)量為48個(gè),把12個(gè)I/O定義為1個(gè)功能組,所 以芯片只有4個(gè)I/0端口組,也就是說在某個(gè)具體應(yīng)用用,最多只能把以上9 個(gè)功能組中的4個(gè)功能組映射到芯片管腳上。
步驟6:構(gòu)造控制復(fù)用矩陣邏輯電路,可通過寄存器配置來(lái)控制復(fù)用矩陣邏 輯,實(shí)現(xiàn)從功能組到端口組的映射。
設(shè)計(jì)了 K (范圍為1到1000,如4,但不限于此)個(gè)配置寄存器用來(lái)實(shí)現(xiàn)功 能組到端口組的映射,如芯片共有108個(gè)管腳,其中49到108管腳用于通用的 目的,不能用于復(fù)用,l到48管腳用于端口復(fù)用,分成4組,其中PAD Group 0
包含1到12管腳,其中PAD Group 1包含13到24管腳,其中PAD Group 2包 含25到36管腳,其中PAD Group 3包含37到48管腳,構(gòu)造控制復(fù)用矩陣邏 輯電路,芯片中設(shè)計(jì)了如下寄存器PADOCTL(控制PAD Gro叩0) 、 PADICTL(控制 PAD Group 1)、 PAD2CTL(控制PAD Group 2)、 PAD3CTL (控制PAD Group 3)控制 復(fù)用矩陣邏輯電路,用來(lái)實(shí)現(xiàn)功能組到端口組的映射。如設(shè)置PADOCTL等于7, 則表示功能組7的Keypad的12個(gè)I/O映射到芯片的管腳1到管腳12 (PAD Group 0),設(shè)置PAD3CTL等于2,則表示功能組2映射到PAD Group 3,即的I2S的4 個(gè)1/0映射到芯片的管腳45到管腳48和功能組2的LCD的第13個(gè)1/0到第20 個(gè)1/0映射到芯片的管腳37到管腳44。
假設(shè)有一個(gè)應(yīng)用需要使用MAC、 LCD、 NAND功能,通過設(shè)置PADOCTL等于1、 PADICTL等于3、 PAD2CTL等于4、 PAD3CTL等于9,就可把MAC、 LCD、 NAND映 射到芯片管腳上。另一個(gè)應(yīng)用需要使用I2S、 LCD和NOR Flash功能,通過設(shè)置 PADOCTL等于2、 PADICTL等于3、 PAD2CTL等于6,就可把I2S、 LCD、 NOR Flash 映射到芯片管腳上,還剩余一組PAD Group 3的管腳可用作其它用途。
步驟7:構(gòu)造邏輯電路,可通過寄存器配置把功能組的1/0設(shè)置成功能1/0, 或者設(shè)置成GPIO,設(shè)計(jì)了 M(范圍為1到1000,如9,但不限于此)個(gè)寄存器配 置把功能組中的I/O設(shè)置成功能1/0,或者設(shè)置成GPIO。在芯片中設(shè)計(jì)了 9個(gè) PAD模式寄存器,分別為PADM0DE1、PADM0DE2到PADM0DE9,這9個(gè)寄存器的bitO 到bitll分別控制功能組的每一個(gè)I/O是否為GPIO或功能1/0(1是GPIO, 0是 功能I/O)。如要把功能組5中的第5到8個(gè)I/O設(shè)置成GPIO,只需要設(shè)置寄存 器PADM0DE5等于0x0f0即可。
在某個(gè)應(yīng)用中需要使用NAND、 I2S、 Keypad,通過設(shè)置PAD0CTL等于4、 PAD1CTL等于5、 PAD2CTL等于7,就可把NAND、 I2S、 Keypad映射到芯片管腳 上,其中功能組5中的sdmmc[3:0]不需要使用,它對(duì)應(yīng)的管腳為管腳17到20, 就可用作GPIO,只需要設(shè)置寄存器PADM0DE5等于OxOfO即可。
圖2為基于矩陣的芯片端口映射方法的流程該方法通過寄存器配置和硬件復(fù)用控制矩陣邏輯,可以把任意功能的I/O 復(fù)用到芯片任意管腳上,實(shí)現(xiàn)芯片端口的映射,其步驟如下 步驟l:定義N個(gè)I/0為一個(gè)功能組;
步驟2:根據(jù)芯片功能,定義P個(gè)功能,每個(gè)功能包含一定數(shù)量的I/O; 步驟3:把P個(gè)功能中一部分功能進(jìn)行排列組合組成一個(gè)功能組,這個(gè)功能 組的I/O總的數(shù)量不超過N個(gè)I/O;
步驟4:重復(fù)步驟3產(chǎn)生M個(gè)功能組;
步驟5:根據(jù)芯片可用管腳數(shù)量,定義K個(gè)l/0端口組,每個(gè)端口組包含N 個(gè)I/0;
步驟6:構(gòu)造控制復(fù)用矩陣邏輯電路,可通過寄存器配置實(shí)現(xiàn)從M'功能組 到P端口組的映射;
步驟7:構(gòu)造邏輯電路,可通過寄存器配置把功能組M'中的I/O設(shè)置成功
能1/0,或者設(shè)置成GPIO。
本發(fā)明所用的實(shí)例只是用來(lái)對(duì)基于矩陣的端口映射的一種解釋說明,并不 代表本發(fā)明所要保護(hù)的范圍僅限于此,凡采用本發(fā)明中所提及的方法和結(jié)構(gòu), 或者采用對(duì)某些部分相同功能的替代方案,均在本發(fā)明所要求的保護(hù)范圍,從
事本行業(yè)的技術(shù)人員對(duì)此應(yīng)予理解(
權(quán)利要求
1.一種基于矩陣的芯片端口映射方法,該方法通過寄存器配置和硬件復(fù)用控制矩陣邏輯,可以把任意功能的I/O復(fù)用到芯片不同管腳上,實(shí)現(xiàn)芯片端口的映射,其步驟如下步驟1定義N個(gè)I/O為一個(gè)功能組;步驟2根據(jù)芯片功能,定義P個(gè)功能,每個(gè)功能包含一定數(shù)量的I/O;步驟3把P個(gè)功能中一部分功能進(jìn)行排列組合組成一個(gè)功能組,這個(gè)功能組的I/O總的數(shù)量不超過N個(gè)I/O;步驟4重復(fù)步驟3產(chǎn)生M個(gè)功能組;步驟5根據(jù)芯片可用管腳數(shù)量,定義K個(gè)I/O端口組,每個(gè)端口組包含N個(gè)I/O;步驟6構(gòu)造控制復(fù)用矩陣邏輯電路,可通過寄存器配置實(shí)現(xiàn)從Mi功能組到Kj端口組的映射;步驟7構(gòu)造邏輯電路,可通過寄存器配置把功能組Mi中的I/O設(shè)置成功能I/O,或者設(shè)置成GPIO。
2、 根據(jù)權(quán)利要求1所述的基于矩陣的芯片端口映射方法,其特征在于可以把任意功能映射任意組芯片管腳上,可以提高芯片管腳的效率,減少芯片管腳 的數(shù)量。
3、 根據(jù)權(quán)利要求1所述的基于矩陣的芯片端口映射方法,其特征在于,所述 步驟l:根據(jù)可供復(fù)用的管腳數(shù)量為T個(gè)以及各模塊管腳數(shù)量,把N個(gè)I/0定義為1個(gè)功能組。
4、 根據(jù)權(quán)利要求1所述的基于矩陣的芯片端口映射方法,其特征在于,所述步驟2:根據(jù)芯片功能,確定芯片包含哪些模塊,如MAC、 LCD、 12S、 NAND、 SD/MMC、 NORFlash、 Keypad、 ITUIN、而OUT、 TVOUT、 SRAM、 AC97、 UART、 SSP、 SPI、 USB、 CAN、 RS485、 RS232、 FlaxRaw、 FlexIO、 SDIO、 SATA、 1394、 WLAN、 Bluetooth、 Irda、 PS、 SDRAM、 DDR、 DDR2、 SRAM、 CEATA、 CF、 IDE、 eMMC、 XD、 MemoryStick、 SPDIF模塊,但不限于此; 確定每個(gè)功能組的I/O數(shù)量,每個(gè)模塊的I/O數(shù)量根據(jù)需要確定,如其中MAC 有12個(gè)I/O、 I2S有4個(gè)I/O、 NAND有16個(gè)I/O、 Keypad有12個(gè)I/O、 ITU IN 有11個(gè)I/O。
5、根據(jù)權(quán)利要求l所述的基于矩陣的芯片端口映射方法,其特征在于,所述步 驟3和步驟4:根據(jù)產(chǎn)品需要,定義如下的M個(gè)功能組,每個(gè)功能組擁有不超過N 個(gè)1/0,把某個(gè)模塊XX的a個(gè)I/O寫成xx[a-l:0],如把MAC的12個(gè)I/0寫成 mac[ll:O], LCD的20個(gè)I/O寫成lcd[19:0], 12S的4個(gè)I/O寫成i2s[3:0], ITUIN的ll 個(gè)I/O寫成itujn[10:0],同時(shí)mac
表示為MAC的第0個(gè)I/0, mac[5]表示為MAC的 第5個(gè)I/0, lcd[15:12]表示為L(zhǎng)CD的第12到第15個(gè)I/0, keypad[5:2]表示為Keypad 的第2到第5個(gè)I/0,某個(gè)功能組n由模塊l的第a至第b個(gè)1/0,模塊2的第c至第d個(gè) I/O,模塊3的第e至第f個(gè)I/0組成,則這個(gè)功能組表示成功能組n:模塊l[b:a]、模塊2[d:c]、模塊3[f:e]M個(gè)功能組表示如下,但不限于此功能組l:模塊l[b:a]、模塊2[d:c]、模塊3[f:e]功能組2:模塊4[k:i]功能組3:模塊l[j:l]、模塊5[mm]、模塊8[o:p] 功能組M:模塊t[x:y]、模塊n[u:v]如某芯片包含MAC、 L2S、 LCD、 NAND、 SD/MMC、 NORFlash、 KEYPAD、 ITUIN等功能,設(shè)計(jì)了如下9個(gè)功能組,分別為 功能組l: mac[ll:0〗 功能組2: i2s[3:0]、 lcd[19:12] 功能組3: lcd[ll:0] 功能組4: nand[15:4]功能組5: nand[3:0〗、sdmmc[3:0]、 i2s[3:0]功能組6: norflash[ll:O]功能組7: keypad[ll:O]功能組8: itu—in[10:0]功能組9: nand[3:0]、 lcd[19:12]。
6、 根據(jù)權(quán)利要求l所述的基于矩陣的芯片端口映射方法,其特征在于,所述步 驟5:由于可供復(fù)用的管腳數(shù)量為T個(gè),N個(gè)I/0定義為1個(gè)功能組,所以芯片只有 K二T/N個(gè)I/0端口組,也就是說在某個(gè)具體應(yīng)用用,最多只能把以上M個(gè)功能組 中的K個(gè)功能組映射到芯片管腳上。
7、 根據(jù)權(quán)利要求1所述的基于矩陣的芯片端口映射方法,其特征在于,所述 步驟6:構(gòu)造控制復(fù)用矩陣邏輯電路,設(shè)計(jì)了K個(gè)配置寄存器用來(lái)實(shí)現(xiàn)功能組 到端口組的映射,某芯片共有108個(gè)管腳,其中49至ljl08管腳用于通用的目 的,l到48管腳用于端口復(fù)用,分成4組,其中PAD Group 0包含1到12管 腳,其中PAD Group 1包含13到24管腳,其中PAD Group 2包含25到36管 腳,其中PAD Group 3包含37到48管腳,芯片中設(shè)計(jì)了如下寄存器PADOCTL、 PAD1CTL、 PAD2CTL、 PAD3CTL,用來(lái)實(shí)現(xiàn)功能組到端口組的映射;以前述 的設(shè)計(jì)了 9個(gè)功能組芯片為例,設(shè)置PADOCTL等于7,則表示功能組7的 Keypad的12個(gè)I/O映射到芯片的管腳1到管腳12,設(shè)置PAD3CTL等于2, 則表示功能組2的I2S的4個(gè)I/O映射到芯片的管腳45到管腳48和功能組2 的LCD的第13個(gè)I/O到第20個(gè)I/O映射到芯片的管腳37到管腳44。 8、根據(jù)權(quán)利要求l所述的基于矩陣的芯片端口映射方法,其特征在于,所述步 驟7:構(gòu)造邏輯電路,設(shè)計(jì)了M個(gè)寄存器配置把功能組中的I/0設(shè)置成功能1/0, 或者設(shè)置成GPIO,以前述的設(shè)計(jì)了9個(gè)功能組芯片為例,芯片中設(shè)計(jì)了9個(gè)PAD 模式寄存器,分別為PADMODEl、 PADMODE2到PADMODE9,這9個(gè)寄存器的 bit0到bitll分別控制功能組的每一個(gè)I/O是否為GPIO或功能I/O;如要把功能組5 中的第5到8個(gè)I/0設(shè)置成GPI0,只需要設(shè)置
全文摘要
本發(fā)明提供一種基于矩陣的芯片端口映射方法,方法包括定義N個(gè)I/O為一個(gè)功能組;根據(jù)芯片功能,定義P個(gè)功能,每個(gè)功能包含一定數(shù)量的I/O;把P個(gè)功能中一部分功能的I/O進(jìn)行排列組合組成一個(gè)功能組,這個(gè)功能組的I/O總的數(shù)量不超過N個(gè)I/O;產(chǎn)生M個(gè)功能組;根據(jù)芯片可用管腳數(shù)量,定義K個(gè)I/O芯片端口組,每個(gè)端口組包含N個(gè)I/O;構(gòu)造控制復(fù)用矩陣邏輯電路,可通過寄存器配置實(shí)現(xiàn)從M<sub>i</sub>功能組到K<sub>i</sub>端口組的映射;構(gòu)造邏輯電路,可通過寄存器配置把功能組M<sub>i</sub>中的I/O設(shè)置成功能I/O,或者設(shè)置成GPIO。
文檔編號(hào)H03K19/177GK101369813SQ20081016755
公開日2009年2月18日 申請(qǐng)日期2008年10月10日 優(yōu)先權(quán)日2008年10月10日
發(fā)明者張小光, 曹志林, 湯加躍 申請(qǐng)人:深圳市飛芯科技有限公司