本發(fā)明涉及集成電路領(lǐng)域中的嵌入式設(shè)計(jì),尤其涉及一種數(shù)據(jù)訪問裝置及方法。
背景技術(shù):
隨著片上系統(tǒng)(SoC,System On Chip)技術(shù)的發(fā)展,一個(gè)芯片內(nèi)集成的功能模塊也越來越多,而各個(gè)模塊對(duì)于存儲(chǔ)器的訪問要求也越來越高,因此,片上總線在芯片架構(gòu)中顯得非常重要,片上總線實(shí)現(xiàn)片上主機(jī)(主模塊)對(duì)各個(gè)從機(jī)(從模塊)的控制是片上系統(tǒng)不可缺少的一部分。目前很多芯片設(shè)計(jì)采用數(shù)據(jù)突發(fā)傳輸(AMBA,Advanced Microcontroller Bus Architecture)芯片內(nèi)總線協(xié)議中的高級(jí)高性能總線(AHB,Advanced High Performance Bus)協(xié)議。
現(xiàn)有技術(shù)中,在集成電路(IC,Integrated Circuit)設(shè)計(jì)中,需要用戶掌握總線協(xié)議,通過編寫寄存器傳輸級(jí)(RTL,Register-Transfer Level)代碼由AHB中的仲裁模塊決定的AHB總線的訪問路徑。
然而,采用上述現(xiàn)有技術(shù)的實(shí)現(xiàn)方案,通過用戶掌握總線協(xié)議,編寫RTL代碼的方式會(huì)浪費(fèi)訪問時(shí)間,且可靠性也不高,而且對(duì)于規(guī)模比較大的芯片,可能需要幾百上千個(gè)從模塊,若是手動(dòng)編寫每個(gè)從模塊的RTL代碼,將是一個(gè)非常巨大的工作量。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實(shí)施例期望提供一種數(shù)據(jù)訪問裝置及方法,能夠快速簡(jiǎn)潔有效地實(shí)現(xiàn)數(shù)據(jù)訪問裝置,且提高了數(shù)據(jù)訪問裝置的可靠性。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問裝置,所述數(shù)據(jù)訪問裝置包括:
主端口接口模塊,用于傳輸?shù)谝恢鞫丝诎l(fā)送的訪問請(qǐng)求至仲裁模塊,所述訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù);
所述仲裁模塊,用于根據(jù)預(yù)設(shè)表格,通過從端口接口模塊確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址,并發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,其中,所述仲裁模塊是根據(jù)所述預(yù)設(shè)表格生成的,所述預(yù)設(shè)表格包括總線參數(shù);
所述從端口接口模塊,用于傳輸所述仲裁模塊發(fā)送的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,以供所述第一從端口根據(jù)所述第一從端口的有效地址和所述訪問命令,對(duì)所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問裝置中,所述數(shù)據(jù)訪問裝置還包括:第一跨時(shí)鐘模塊;所述仲裁模塊通過所述第一跨時(shí)鐘模塊與所述從端口接口模塊進(jìn)行通信;
所述仲裁模塊,還用于發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一跨時(shí)鐘模塊;
所述第一跨時(shí)鐘模塊,用于根據(jù)所述預(yù)設(shè)表格,將所述仲裁模塊發(fā)送的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)所在的時(shí)鐘域切換至所述第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的所述第一從端口的對(duì)接,并發(fā)送切換時(shí)鐘域后的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口;
所述從端口接口模塊,還用于傳輸所述第一跨時(shí)鐘模塊發(fā)送的切換時(shí)鐘域后的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,以供所述第一從端口根據(jù)切換時(shí)鐘域后的所述第一從端口的有效地址和所述訪問命令,對(duì)切換時(shí)鐘域后的所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問裝置中,所述數(shù)據(jù)訪問裝置還包括:第一流水線模塊;所述仲裁模塊通過所述第一流水線模塊與所述從端口接口模塊通信;
所述仲裁模塊,還用于發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一流水線模塊;
所述第一流水線模塊,用于將所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)按照時(shí)序輸出至所述第一從端口;
所述從端口接口模塊,還用于傳輸所述第一流水線模塊按照時(shí)序輸出的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,以供所述第一從端口根據(jù)時(shí)序正確的所述第一從端口的有效地址和所述訪問命令,對(duì)所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問裝置中,所述數(shù)據(jù)訪問裝置還包括:下一級(jí)仲裁模塊;所述仲裁模塊通過所述下一級(jí)仲裁模塊與所述從端口接口模塊通信;
所述仲裁模塊,用于根據(jù)所述預(yù)設(shè)表格,通過所述下一級(jí)仲裁模塊及所述從端口接口模塊確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址,并通過所述下一級(jí)仲裁模塊發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口。
在上述數(shù)據(jù)訪問裝置中,所述AHB主線還包括:第二跨時(shí)鐘模塊;所述下一級(jí)仲裁模塊通過所述第二跨時(shí)鐘模塊與所述從端口接口模塊通信;
所述仲裁模塊,還用于根據(jù)所述預(yù)設(shè)表格,通過所述下一級(jí)仲裁模塊及所述從端口接口模塊中確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址,并通過所述下一級(jí)仲裁模塊發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第二跨時(shí)鐘模塊;
所述第二跨時(shí)鐘模塊,用于根據(jù)所述預(yù)設(shè)表格,將通過所述下一級(jí)仲裁模塊發(fā)送的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)所在的時(shí)鐘域切換至所述第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的所述第一從端口的對(duì)接,并發(fā)送切換時(shí)鐘域后的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口;
所述從端口接口模塊,還用于傳輸?shù)诙鐣r(shí)鐘模塊發(fā)送的切換時(shí)鐘域后的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,以供所述第一從端口根據(jù)切換時(shí)鐘域后的所述第一從端口的有效地址和所述訪問命令,對(duì)切換時(shí)鐘域后的所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問裝置中,所述AHB主線還包括:第二流水線模塊;所述下一級(jí)仲裁模塊通過所述第二流水線模塊與所述從端口接口模塊通信;
所述仲裁模塊,用于根據(jù)所述預(yù)設(shè)表格,通過所述下一級(jí)仲裁模塊及所述從端口接口模塊確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址,并通過所述下一級(jí)仲裁模塊發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第二跨時(shí)鐘模塊;
所述第二流水線模塊,用于將所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)按照時(shí)序輸出至所述第一從端口。
所述從端口接口模塊,還用于傳輸所述第二流水線模塊按照時(shí)序輸出的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)按照時(shí)序輸出至所述第一從端口,以供所述第一從端口根據(jù)時(shí)序正確的所述第一從端口的有效地址和所述訪問命令,對(duì)所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問裝置中,所述數(shù)據(jù)訪問裝置還包括:高級(jí)高性能總線AHB轉(zhuǎn)換模塊;所述AHB轉(zhuǎn)換模塊與所述從端口接口模塊通信;
所述AHB轉(zhuǎn)換模塊,用于解析通過所述從端口接口模塊接收的所述訪問命令和所述訪問數(shù)據(jù)。
在上述數(shù)據(jù)訪問裝置中,所述數(shù)據(jù)訪問裝置還包括:主端口選擇模塊;所述主端口接口模塊與所述主端口選擇模塊通信;
所述主端口選擇模塊,用于從多個(gè)主端口中確定與所述仲裁模塊通信的所述第一主端口,以實(shí)現(xiàn)所述第一主端口與所述仲裁模塊的AHB數(shù)據(jù)傳輸。
在上述數(shù)據(jù)訪問裝置中,所述從端口接口模塊,具體用于傳輸對(duì)所述訪問數(shù)據(jù)進(jìn)行所述訪問命令對(duì)應(yīng)的訪問操作至所述仲裁模塊;
所述仲裁模塊,還用于通過所述主端口接口模塊傳輸所述訪問命令的響應(yīng)至所述第一主端口。
在上述數(shù)據(jù)訪問裝置中,所述從端口接口模塊,還用于傳輸不響應(yīng)所述訪問命令的訪問操作;
所述仲裁模塊,還用于在未通過所述從端口接口模塊接收到對(duì)所述訪問命 令的響應(yīng)之后,接收通過所述主端口接口模塊發(fā)送的下一次訪問請(qǐng)求,并根據(jù)所述下一次訪問請(qǐng)求進(jìn)行通過主端口接口模塊與所述從端口接口模塊傳輸?shù)南乱淮卧L問操作。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問方法,所述數(shù)據(jù)訪問方法包括:
接收第一主端口發(fā)送的訪問請(qǐng)求,所述訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù);
根據(jù)預(yù)設(shè)表格,確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址;
發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,以供所述第一從端口根據(jù)所述第一從端口的有效地址和所述訪問命令,對(duì)所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問方法中,所述發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口之前,所述方法還包括:
根據(jù)所述預(yù)設(shè)表格,將所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)所在的時(shí)鐘域切換至所述第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的所述第一從端口的對(duì)接;
相應(yīng)的,所述發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,包括:
發(fā)送切換時(shí)鐘域后的所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口。
在上述數(shù)據(jù)訪問方法中,所述發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口,包括:
將所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)按照時(shí)序輸出至所述第一從端口,以供所述第一從端口根據(jù)時(shí)序正確的所述第一從端口的有效地址和所述訪問命令,對(duì)所述訪問數(shù)據(jù)進(jìn)行訪問操作。
在上述數(shù)據(jù)訪問方法中,所述接收第一主端口發(fā)送的訪問請(qǐng)求之前,所述方法還包括:
從多個(gè)主端口中確定所述第一主端口。
在上述數(shù)據(jù)訪問方法中,所述根據(jù)預(yù)設(shè)表格,確定與所述訪問地址對(duì)應(yīng)的第一從端口及所述第一從端口的有效地址之后,所述發(fā)送所述第一從端口的有效地址、所述訪問命令和所述訪問數(shù)據(jù)至所述第一從端口之前,所述方法還包括:
解析所述訪問命令和所述訪問數(shù)據(jù)。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)訪問裝置及方法,包括:主端口接口模塊,用于傳輸?shù)谝恢鞫丝诎l(fā)送的訪問請(qǐng)求至仲裁模塊,該訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù);仲裁模塊,用于根據(jù)預(yù)設(shè)表格,通過從端口接口模塊確定與訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址,并發(fā)送該第一從端口的有效地址、該訪問命令和該訪問數(shù)據(jù)至第一從端口,其中,仲裁模塊是根據(jù)預(yù)設(shè)表格生成的,該預(yù)設(shè)表格包括總線參數(shù);從端口接口模塊,用于傳輸仲裁模塊發(fā)送的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)該第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。采用上述數(shù)據(jù)訪問裝置進(jìn)行數(shù)據(jù)傳輸時(shí),由于仲裁模塊是由預(yù)設(shè)表格生成的,不再通過用戶手工編碼進(jìn)行仲裁模塊的改寫,因此,解決大規(guī)模芯片項(xiàng)目中由于數(shù)據(jù)訪問裝置端口多、改動(dòng)頻繁造成的代碼維護(hù)工作量大、手工編碼易出錯(cuò)的問題,從而可以簡(jiǎn)潔有效地實(shí)現(xiàn)數(shù)據(jù)訪問裝置,提高了數(shù)據(jù)訪問裝置的可靠性。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖一;
圖2為本發(fā)明實(shí)施例中的全地址示意圖一;
圖3為本發(fā)明實(shí)施例中的全地址示意圖二;
圖4為本發(fā)明實(shí)施例中實(shí)現(xiàn)仲裁模塊傳輸數(shù)據(jù)的流程圖;
圖5為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖二;
圖6為本發(fā)明實(shí)施例提供的第一跨時(shí)鐘模塊的設(shè)計(jì)框圖;
圖7為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖三;
圖8為現(xiàn)有技術(shù)中提供的普通流水線模塊的設(shè)計(jì)框圖;
圖9為本發(fā)明實(shí)施例提供的第一流水線模塊的設(shè)計(jì)框圖;
圖10為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖四;
圖11為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖五;
圖12為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖六;
圖13為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖七;
圖14為本發(fā)明實(shí)施例提供的AHB轉(zhuǎn)換模塊的設(shè)計(jì)框圖;
圖15為本發(fā)明實(shí)施例中的一種數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖八;
圖16為本發(fā)明實(shí)施例提供的主端口接口模塊的結(jié)構(gòu)示意圖;
圖17為本發(fā)明實(shí)施例中的一種示例性的數(shù)據(jù)訪問裝置的結(jié)構(gòu)示意圖;
圖18為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法的流程圖一;
圖19為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法的流程圖二;
圖20為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法的流程圖三;
圖21為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法的流程圖四。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
實(shí)施例一
如圖1所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問裝置1,該數(shù)據(jù)訪問裝置1可以包括:
主端口接口模塊10,用于傳輸?shù)谝恢鞫丝诎l(fā)送的訪問請(qǐng)求至仲裁模塊11,該訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù)。
仲裁模塊11,用于根據(jù)預(yù)設(shè)表格,通過從端口接口模塊12確定與訪問地址對(duì)應(yīng)的第一從端口接口及該第一從端口的有效地址,并發(fā)送該第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至該第一從端口,該仲裁模塊11是根據(jù)預(yù)設(shè)表 格生成的,該預(yù)設(shè)表格包括總線參數(shù)。
從端口接口模塊12,用于傳輸仲裁模塊11發(fā)送的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至從端口,以供該第一從端口根據(jù)該第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。
其中,仲裁模塊11與主端口接口模塊10通信,以及從端口接口模塊12與該仲裁模塊11通信。
需要說明的是,本發(fā)明是實(shí)施例中的數(shù)據(jù)訪問裝置可以為高級(jí)高性能總線(AHB,Advanced High Performance Bus)。
需要說明的是,仲裁模塊11的功能是完成主端口和任意個(gè)從端口之間的任意地址仲裁及多路選擇功能,即仲裁主端口進(jìn)行訪問請(qǐng)求的從端口的地址和路徑。本發(fā)明實(shí)施例中的仲裁模塊是通過預(yù)設(shè)表格生成的代碼實(shí)現(xiàn)的模塊。該預(yù)設(shè)表格包括總線參數(shù),示例性的,預(yù)設(shè)表格中總線參數(shù)可以包括:從端口名稱、從端口的地址位寬、從端口的地址范圍等參數(shù)。具體的,利用預(yù)設(shè)表格中的VB腳本,檢測(cè)預(yù)設(shè)表格中的總線參數(shù),根據(jù)總線參數(shù)生成仲裁模塊代碼,實(shí)現(xiàn)仲裁模塊的功能。
進(jìn)一步地,本發(fā)明實(shí)施例中的仲裁模塊11采用高地址選擇設(shè)計(jì)方式,由于仲裁模塊11通過主端口接口模塊10接收到的訪問請(qǐng)求中攜帶的訪問地址為某個(gè)要訪問的從端口的全地址,但是從端口的有效地址不一定占滿該全地址位寬,因此,本發(fā)明實(shí)施例中,通過判別訪問地址的高位地址的值來通過從端口接口模塊確定從端口中的第一從端口,該第一從端口為第一主端口想要進(jìn)行訪問的從端口。
需要說明的是,本發(fā)明實(shí)施例中的主端口接口模塊10與主機(jī)的主端口連接,從端口接口模塊12與從機(jī)的從端口連接,通過主端口接口模塊10對(duì)從端口接口模塊12的訪問就是主機(jī)對(duì)從機(jī)進(jìn)行的訪問。
具體的,以全地址位寬是20bit地址的主機(jī),訪問10bit從機(jī)為例,本發(fā)明實(shí)施例中采用高位選擇設(shè)計(jì)僅需要判斷11bit邏輯。如圖2所示,為全地址示意圖,從圖2中可知:片選比特位的數(shù)值的每一比特可以為0、1或Z。其中,片 選比特位是指地址中超出最小從端口地址位寬的部分。本發(fā)明實(shí)施例中的整個(gè)地址分配過程可以為:仲裁模塊11根據(jù)最小從端口地址大小,將全地址劃分為2n份(n為片選比特位的個(gè)數(shù)),每個(gè)從端口也根據(jù)自身地址大小占用2k個(gè)(k為片選比特位中Z的個(gè)數(shù))最小從端口模塊地址位寬。如果片選比特位中沒有Z,則只占用一個(gè)最小從端口模塊地址位寬,如果片選比特位最低位為Z,則占用2個(gè)最小從端口模塊地址位寬,如果片選比特位最低兩位為Z,則占用4個(gè)最小從端口模塊地址位寬,如果片選比特位最低三位為Z,則占用8個(gè)最小從端口模塊地址位寬,依次類推。這樣,仲裁模塊11就可以通過判斷高地址位(片選比特位)的比特值來確定要訪問的第一從端口了。
其中,片選比特位中的某一比特位為Z,表示占用了該比特位為0和1的地址,同時(shí)比該比特位低的比特位都必須為Z;每個(gè)從端口只能占用2k個(gè)最小空間。如果不滿足這兩個(gè)條件,則說明仲裁模塊11獲取的訪問地址不是任何一個(gè)從端口的地址,因此,將該訪問地址空閑,同時(shí)該訪問地址對(duì)應(yīng)的模塊為空。
示例性的,假設(shè)仲裁模塊11的總地址空間大小是1MB,最小從端口pcie_brg_csr是4KB,最大從端口pcie_ep_bkend是64KB。因此,“總線字節(jié)地址位寬”為20;“最小從模塊字節(jié)地址位寬”為12;“最大從模塊字節(jié)地址位寬”為16。對(duì)于從端口pcie_brg_csr,地址空間大小為4KB,“字節(jié)地址位寬”填12,僅占用一個(gè)最小地址空間,指定“字節(jié)片選地址范圍”為8’b0000_0000。從端口在仲裁模塊11實(shí)際分到的地址如圖3所示,“Z”表示可以為0也可以為1,即高8bit為8’b0000_0000的地址都會(huì)尋址到該從端口。
進(jìn)一步地,仲裁模塊11判斷出訪問地址對(duì)應(yīng)第一從端口的地址后,仲裁模塊11將除高地址位外的第一從端口的有效地址通過從端口接口模塊12發(fā)送至從端口。
可以理解的是,本發(fā)明實(shí)施例中的仲裁模塊11采用高地址選擇設(shè)計(jì),大大降低了仲裁和多路選擇時(shí)的組合邏輯量,而仲裁模塊11采用被動(dòng)響應(yīng)方式,則保證數(shù)據(jù)訪問裝置1不會(huì)因?yàn)槟硞€(gè)從端口異常沒有響應(yīng)而掛死。
可選的,本發(fā)明實(shí)施例提出的訪問命令可以包括讀命令和寫命令。
可選的,從端口接口模塊12,還具體用于傳輸對(duì)訪問數(shù)據(jù)進(jìn)行訪問命令對(duì)應(yīng)的訪問操作至仲裁模塊11,以及仲裁模塊11通過主端口接口模塊10傳輸該訪問命令的響應(yīng)至第一主端口。
可以理解的是,主機(jī)向一個(gè)從機(jī)發(fā)送讀命令時(shí),該從機(jī)需向主機(jī)發(fā)送該讀命令的響應(yīng),以完成主機(jī)對(duì)一個(gè)從機(jī)的讀操作。
可選的,從端口接口模塊12,還用于傳輸不響應(yīng)訪問命令的訪問操作。
仲裁模塊11,還用于在未通過從端口接口模塊12接收到對(duì)訪問命令的響應(yīng)之后,接收通過主端口接口模塊10發(fā)送的下一次訪問請(qǐng)求,并根據(jù)該下一次訪問請(qǐng)求進(jìn)行通過該主端口接口模塊10與該從端口接口模塊12傳輸?shù)南乱淮卧L問操作。
可以理解的是,示例性的,當(dāng)主機(jī)向一個(gè)從機(jī)發(fā)送讀命令時(shí),該從機(jī)回存在不響應(yīng)該讀命令的情況,這時(shí)就出現(xiàn)了數(shù)據(jù)訪問裝置1掛死的情況,此時(shí),由于本發(fā)明實(shí)施例中的仲裁模塊11采用被動(dòng)響應(yīng)方式,因此,若仲裁模塊11在通過主端口接口模塊10接收到發(fā)送的下一次訪問請(qǐng)求時(shí),仲裁模塊11放棄本次訪問請(qǐng)求,開始處理下一次訪問請(qǐng)求。這樣處理,避免了仲裁模塊一直為了等待通過從端口接口模塊12傳輸?shù)捻憫?yīng),而使得數(shù)據(jù)訪問裝置1出現(xiàn)掛死的情況的發(fā)生。
具體的,仲裁模塊11可以通過狀態(tài)機(jī)實(shí)現(xiàn)上述被動(dòng)響應(yīng)方式可以規(guī)避數(shù)據(jù)訪問裝置1掛死的問題。如圖4所示,為狀態(tài)機(jī)流程圖。一個(gè)正常的AHB的訪問命令的響應(yīng)流程為:仲裁模塊11的初始處于空閑狀態(tài),當(dāng)收到訪問請(qǐng)求(訪問命令)后,可以向命令狀態(tài)切換,該訪問命令被響應(yīng)后,該仲裁模塊11由空閑狀態(tài)切換到數(shù)據(jù)狀態(tài),訪問數(shù)據(jù)被響應(yīng)后再切換到完成狀態(tài),最后回到空閑狀態(tài),實(shí)現(xiàn)了一次AHB的仲裁傳送。當(dāng)從機(jī)出現(xiàn)異常時(shí),訪問命令和訪問數(shù)據(jù)可能不會(huì)被響應(yīng),如果此時(shí)主機(jī)一直在等待從機(jī)的響應(yīng),AHB協(xié)議中也沒有給出最大的等待時(shí)間,那總線將處于掛死狀態(tài)。為了不違背AHB協(xié)議,同時(shí)又能解決這個(gè)問題,本發(fā)明實(shí)施例中的仲裁模塊11增加一個(gè)是否有下一次訪問請(qǐng)求的判斷,如果主機(jī)能夠等待,可以無限長(zhǎng)時(shí)間的等待,如果主機(jī)不想等待, 則可以再發(fā)起下一次訪問請(qǐng)求,狀態(tài)機(jī)會(huì)根據(jù)下一次訪問請(qǐng)求切換到空閑狀態(tài)并啟動(dòng)新的訪問操作。這樣既可以不違背AHB協(xié)議,同時(shí)又能解決掛死風(fēng)險(xiǎn)問題。
可選的,如圖5所示,數(shù)據(jù)訪問裝置1還包括:第一跨時(shí)鐘模塊13;仲裁模塊11通過該第一跨時(shí)鐘模塊13與從端口接口模塊12通信。
仲裁模塊11,還用于發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一跨時(shí)鐘模塊13。
第一跨時(shí)鐘模塊13,用于根據(jù)預(yù)設(shè)表格,將仲裁模塊11發(fā)送的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)所在的時(shí)鐘域切換至該第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的該第一從端口的對(duì)接,并發(fā)送切換時(shí)鐘域后的該第一從端口的有效地址、該訪問命令和該訪問數(shù)據(jù)至第一從端口。
從端口接口模塊12,還用于傳輸?shù)谝豢鐣r(shí)鐘模塊13發(fā)送的切換時(shí)鐘域后的第一從端口的有效地址、訪問命令和述訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)切換時(shí)鐘域后的第一從端口的有效地址和訪問命令,對(duì)切換時(shí)鐘域后的訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,仲裁模塊11通過第一跨時(shí)鐘模塊13與從端口接口模塊12通信的情況,包括:仲裁模塊11與第一跨時(shí)鐘模塊13通信,該第一跨時(shí)鐘模塊13又與從端口接口模塊12通信的情況,還包括:仲裁模塊11與第一跨時(shí)鐘模塊13通信,該第一跨時(shí)鐘模塊13又通過新的模塊(例如:第一流水線模塊14)與從端口接口模塊12通信的情況,還可以包括:仲裁模塊11與新的功能模塊(例如:第一流水線模塊14)通信后,通過第一跨時(shí)鐘模塊13與從端口接口模塊12通信的情況。具體的三者之間的通信關(guān)系由實(shí)際應(yīng)用中的需要的功能模塊來決定,本發(fā)明實(shí)施例不作限制。
特別的,本發(fā)明實(shí)施例中的第一跨時(shí)鐘模塊13可以為至少一個(gè),具體的數(shù)量也由實(shí)際應(yīng)用的情況決定,本發(fā)明實(shí)施例不作限制。
可以理解的是,第一跨時(shí)鐘模塊13完成時(shí)鐘域切換功能,可以支持AHB接口的任意位地址、任意時(shí)鐘域間的轉(zhuǎn)換。
可選的,第一跨時(shí)鐘模塊13模塊可以采用兩種實(shí)現(xiàn)方式:先入先出隊(duì)列(FIFO,F(xiàn)irst Input First Output)方式和異步握手方式。
具體的,本發(fā)明實(shí)施例中的第一跨時(shí)鐘模塊13的設(shè)計(jì)框圖示例性的可以為圖6所示,源時(shí)鐘(訪問請(qǐng)求所在的時(shí)鐘域)發(fā)起讀寫請(qǐng)求,被存如讀寫FIFO,選擇模塊根據(jù)FIFO的空滿來讀取FIFO的請(qǐng)求,并轉(zhuǎn)換為AHB協(xié)議輸出到目的時(shí)鐘域(從端口接口模塊12),將目的時(shí)鐘域的響應(yīng)返回到完成響應(yīng)FIFO,并返回給源時(shí)鐘域的AHB。
進(jìn)一步地,本發(fā)明實(shí)施例中的第一跨時(shí)鐘模塊13內(nèi)部設(shè)置超時(shí)保護(hù)機(jī)制,該超時(shí)保護(hù)機(jī)制用來監(jiān)控響應(yīng)時(shí)間,不會(huì)因?yàn)闆]有響應(yīng)而掛住總線;設(shè)置主從端口傳輸類型分離機(jī)制,對(duì)不支持突發(fā)的從端口,仍然可以允許主端口以突發(fā)方式配置,提高了總線的配置速率。其保護(hù)方式具體為,如果超過預(yù)設(shè)時(shí)間操作仍沒有完成,則將一個(gè)特定數(shù)據(jù)的完成發(fā)給完成響應(yīng)FIFO,保證源時(shí)鐘域的AHB不會(huì)被掛死。
可選的,預(yù)設(shè)時(shí)間可以為1分鐘,具體的預(yù)設(shè)時(shí)間的選擇可以根據(jù)實(shí)際的響應(yīng)完成時(shí)間來決定,本發(fā)明實(shí)施例不作限制。
需要說明的是,本發(fā)明實(shí)施例中的模塊間都通過AHB接口進(jìn)行連接,而通過從端口接口模塊12接收的訪問數(shù)據(jù)必須是與該從端口接口模塊12對(duì)應(yīng)的要接收的從端口的時(shí)鐘域一致,才能與該從端口連接的AHB接口(從端口接口)對(duì)接上。
可選的,如圖7所示,數(shù)據(jù)訪問裝置1還包括:第一流水線模塊14;仲裁模塊11通過該第一流水線模塊14與從端口接口模塊12通信。
仲裁模塊11,還用于發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一流水線模塊14。
第一流水線模塊14,用于將第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)按照時(shí)序輸出至第一從端口。
從端口接口模塊12,還用于傳輸?shù)谝涣魉€模塊14按照時(shí)序輸出的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根 據(jù)時(shí)序正確的第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,仲裁模塊11通過第一流水線模塊14與從端口接口模塊12通信的情況,包括:仲裁模塊11與第一流水線模塊14通信,該第一流水線模塊14又與從端口接口模塊12通信的情況,還包括:仲裁模塊11與第一流水線模塊14通信,該第一流水線模塊14又通過新的模塊(例如:第一跨時(shí)鐘模塊14)與從端口接口模塊12通信的情況,還可以包括:仲裁模塊11與新的功能模塊(例如:第一跨時(shí)鐘模塊13)通信后,通過第一流水線模塊14與從端口接口模塊12通信的情況。具體的三者之間的通信關(guān)系由實(shí)際應(yīng)用中的需要的功能模塊來決定,本發(fā)明實(shí)施例不作限制。
特別的,本發(fā)明實(shí)施例中的第一流水線模塊14可以為至少一個(gè),具體的數(shù)量也由實(shí)際應(yīng)用的情況決定,本發(fā)明實(shí)施例不作限制。
需要說明的是,第一流水線模塊14的功能是完成AHB接口的流水線功能,透?jìng)髁魉€兩側(cè)接口傳輸類型,當(dāng)芯片后端綜合時(shí)序達(dá)不到時(shí),采用第一流水線模塊14用來優(yōu)化時(shí)序,使用時(shí)只需設(shè)定地址位寬參數(shù),就可避免數(shù)據(jù)傳輸過程中出現(xiàn)時(shí)序邏輯錯(cuò)誤的情況。
具體的,設(shè)計(jì)思路為:通常流水線模塊的思路是直接插入一級(jí)寄存器,如圖8所示,但對(duì)于AHB協(xié)議來說,通常的流水線模塊的方式會(huì)造成數(shù)據(jù)錯(cuò)誤,所以我們提出了采用數(shù)據(jù)鎖存的流水線模塊的方式。示例性的如圖9所示,為第一流水線模塊的設(shè)計(jì)框圖。根據(jù)AHB協(xié)議,AHB的每個(gè)操作都是需要握手反饋的,普通流水線模塊的方式無法握手,會(huì)造成時(shí)序錯(cuò)亂。而本發(fā)明實(shí)施例提出的AHB流水線模塊的方式具體的以A向B發(fā)讀請(qǐng)求為例,對(duì)經(jīng)過該第一流水線模塊14的數(shù)據(jù)傳輸進(jìn)行說明:數(shù)據(jù)鎖存模塊始終鎖存最新的有效數(shù)據(jù)A;第一流水線模塊14給數(shù)據(jù)A的響應(yīng)默認(rèn)為有效響應(yīng);當(dāng)A發(fā)出新的訪問命令后,控制選擇A輸出給B為數(shù)據(jù)A信號(hào),控制選擇B輸出給A為不響應(yīng)信號(hào);如果數(shù)據(jù)B沒有響應(yīng)則控制選擇A輸出給B為數(shù)據(jù)A鎖存數(shù)據(jù);等待數(shù)據(jù)B響應(yīng)后控制選擇A輸出給B為數(shù)據(jù)A;再次等待數(shù)據(jù)B響應(yīng)后控制選擇B輸出給A為響應(yīng)信號(hào)。
可選的,如圖10所示,數(shù)據(jù)訪問裝置1還包括:下一級(jí)仲裁模塊15;仲裁模塊11通過該下一級(jí)仲裁模塊15與從端口接口模塊12通信。
仲裁模塊11,用于根據(jù)預(yù)設(shè)表格,通過下一級(jí)仲裁模塊15及從端口接口模塊12中確定與該訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址,并通過該下一級(jí)仲裁模塊15發(fā)送該第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口。
需要說明的是,由于有時(shí)仲裁模塊11的工作量大的問題,會(huì)有仲裁模塊11處理不過來的情況,因此,本發(fā)明實(shí)施例中還提出數(shù)據(jù)訪問裝置1中設(shè)置下一級(jí)仲裁模塊15,該下一級(jí)仲裁模塊15與仲裁模塊11共同完成仲裁功能。
特別的,本發(fā)明實(shí)施例中的下一級(jí)仲裁模塊15可以為至少一個(gè),具體的數(shù)量也由實(shí)際應(yīng)用的情況決定,本發(fā)明實(shí)施例不作限制。
可選的,如圖11所示,AHB主線還包括:第二跨時(shí)鐘模塊16;下一級(jí)仲裁模塊15通過該第二跨時(shí)鐘模塊16與從端口接口模塊12通信。
仲裁模塊11,還用于根據(jù)預(yù)設(shè)表格,通過下一級(jí)仲裁模塊15及從端口接口模塊12中確定與訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址,并通過該下一級(jí)仲裁模塊15發(fā)送該第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至該第二跨時(shí)鐘模塊16。
第二跨時(shí)鐘模塊16,用于根據(jù)預(yù)設(shè)表格,將通過下一級(jí)仲裁模塊15發(fā)送的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)所在的時(shí)鐘域切換至第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的該第一從端口的對(duì)接,并發(fā)送切換時(shí)鐘域后的該第一從端口的有效地址、該訪問命令和該訪問數(shù)據(jù)至第一從端口。
從端口接口模塊12,還用于傳輸?shù)诙鐣r(shí)鐘模塊16發(fā)送的切換時(shí)鐘域后的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)切換時(shí)鐘域后的第一從端口的有效地址和訪問命令,對(duì)切換時(shí)鐘域后的訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,下一級(jí)仲裁模塊15通過第二跨時(shí)鐘模塊16與從端口接口 模塊12通信的情況,包括:下一級(jí)仲裁模塊15與第二跨時(shí)鐘模塊16通信,該第二跨時(shí)鐘模塊16又與從端口接口模塊12通信的情況,還包括:下一級(jí)仲裁模塊15與第二跨時(shí)鐘模塊16通信,該第二跨時(shí)鐘模塊16又通過新的模塊(例如:第二流水線模塊17)與從端口接口模塊12通信的情況,還可以包括:下一級(jí)仲裁模塊15與新的功能模塊(例如:第二流水線模塊17)通信后,通過第二跨時(shí)鐘模塊16與從端口接口模塊12通信的情況。具體的三者之間的通信關(guān)系由實(shí)際應(yīng)用中的需要的功能模塊來決定,本發(fā)明實(shí)施例不作限制。
特別的,本發(fā)明實(shí)施例中的第二跨時(shí)鐘模塊16可以為至少一個(gè),具體的數(shù)量也由實(shí)際應(yīng)用的情況決定,本發(fā)明實(shí)施例不作限制。
需要說明的是,第二跨時(shí)鐘模塊16的功能與實(shí)現(xiàn)方式與第一跨時(shí)鐘模塊13的功能與實(shí)現(xiàn)方式原理相同,此處不再贅述。
可選的,如圖12所示,AHB主線還包括:第二流水線模塊17;下一級(jí)仲裁模塊15通過該第二流水線模塊17與從端口接口模塊12通信。
仲裁模塊11,用于根據(jù)預(yù)設(shè)表格,通過下一級(jí)仲裁模塊15及從端口接口模塊12確定與該訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址,并通過該下一級(jí)仲裁模塊15發(fā)送該第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至該第二跨時(shí)鐘模塊16。
第二流水線模塊17,用于將第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)按照時(shí)序輸出至第一從端口。
從端口接口模塊12,還用于傳輸?shù)诙魉€模塊17按照時(shí)序輸出的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)按照時(shí)序輸出至第一從端口,以供該第一從端口根據(jù)時(shí)序正確的第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,下一級(jí)仲裁模塊15通過第二流水線模塊17與從端口接口模塊12通信的情況,包括:下一級(jí)仲裁模塊15與第二流水線模塊17通信,該第二流水線模塊17又與從端口接口模塊12通信的情況,還包括:下一級(jí)仲裁模塊15與第二流水線模塊17通信,該第二流水線模塊17又通過新的模塊(例 如:第二跨時(shí)鐘模塊16)與從端口接口模塊12通信的情況,還可以包括:下一級(jí)仲裁模塊15與新的功能模塊(例如:第二跨時(shí)鐘模塊16)通信后,通過第二流水線模塊17與從端口接口模塊12通信的情況。具體的三者之間的通信關(guān)系由實(shí)際應(yīng)用中的需要的功能模塊來決定,本發(fā)明實(shí)施例不作限制。
特別的,本發(fā)明實(shí)施例中的第二流水線模塊17可以為至少一個(gè),具體的數(shù)量也由實(shí)際應(yīng)用的情況決定,本發(fā)明實(shí)施例不作限制。
需要說明的是,第二流水線模塊17的功能與實(shí)現(xiàn)方式與第一流水線模塊14的功能與實(shí)現(xiàn)方式原理相同,此處不再贅述。
可選的,示例性的如圖13所示,數(shù)據(jù)訪問裝置1還包括:AHB轉(zhuǎn)換模塊18;該AHB轉(zhuǎn)換模塊18與從端口接口模塊12通信。
AHB轉(zhuǎn)換模塊18,用于解析通過從端口接口模塊12接收的訪問命令和訪問數(shù)據(jù)。
如圖14所示,以AHB協(xié)議中的信號(hào)為例,說明AHB轉(zhuǎn)換模塊18的控制實(shí)現(xiàn)流程:控制延遲寄存器始終存儲(chǔ)最新的控制信號(hào),即圖13中連接的信號(hào);解析輸出的讀寫信號(hào)是經(jīng)過控制信號(hào)做邏輯判斷后輸出的,比如write信號(hào)是HSEL為1,HTRANS為10,HWRITE為1時(shí)輸出為1,否則輸出為0;如果是寫操作沒有返回過程就可以結(jié)束了;如果是讀操作,數(shù)據(jù)返回時(shí)通過選擇控HREADY,僅當(dāng)收到讀命令且沒有返回時(shí)HREADY信號(hào)為0。
需要說明的是,上述信號(hào)均為AHB協(xié)議中定義的信號(hào),此處不再詳細(xì)地進(jìn)行說明。
可以理解的是,AHB轉(zhuǎn)換模塊18將AHB接口轉(zhuǎn)換為存儲(chǔ)器接口功能,有效解決了從端口對(duì)AHB信號(hào)的解析問題。具體的AHB轉(zhuǎn)換模塊18實(shí)現(xiàn)了兩種轉(zhuǎn)換方式,一種為AHB轉(zhuǎn)換模塊18將AHB接口轉(zhuǎn)換為不帶流控的存儲(chǔ)器接口,這種方式不允許從端口反壓,保證讀寫操作都能正確接收,多用于芯片內(nèi)部寄存器配置;另一種為AHB轉(zhuǎn)換模塊18將AHB接口轉(zhuǎn)換為帶流控的存儲(chǔ)器接口,這種方式允許從端口不能接收讀寫操作時(shí)發(fā)起流控,配置流便會(huì)保持到流控消除,多用于芯片外部訪問,比如DDR 3等。用戶使用時(shí)根據(jù)項(xiàng)目需 要選擇這兩種方式之一,本發(fā)明實(shí)施例不作限制。
可選的,示例性的如圖15所示,數(shù)據(jù)訪問裝置1還包括:主端口選擇模塊19;主端口接口模塊10與該主端口選擇模塊19通信。
主端口選擇模塊19,用于從多個(gè)主端口中確定與仲裁模塊11通信的第一主端口,以實(shí)現(xiàn)該第一主端口與該仲裁模塊11的AHB數(shù)據(jù)傳輸。
具體的,主端口選擇模塊19用于有多主端口的情況,該主端口選擇模塊19可以用來實(shí)現(xiàn)上述多個(gè)主端口的仲裁,最終判決一個(gè)主端口來控制數(shù)據(jù)訪問裝置。
示例性的,本發(fā)明實(shí)施例可以采用select信號(hào)的方式實(shí)現(xiàn)多個(gè)主端口的選擇,這種方式相對(duì)簡(jiǎn)單可靠,可以任意擴(kuò)展,如圖16所示,為主端口選擇模塊19的結(jié)構(gòu)示意圖,以4個(gè)主機(jī)方式為例,結(jié)社當(dāng)select為2時(shí),主端口選擇模塊19就選通主機(jī)2,使得主機(jī)2對(duì)應(yīng)的主端口與AHB接口連通。
可以理解的是,示例性的如圖17所示,為數(shù)據(jù)訪問裝置1的可以實(shí)現(xiàn)的一種整體架構(gòu)框圖,本發(fā)明實(shí)施例中的各個(gè)模塊通過頂層互聯(lián),就可以實(shí)現(xiàn)任意數(shù)據(jù)訪問裝置1的連接方式。具體的本發(fā)明實(shí)施例提出的數(shù)據(jù)訪問裝置1的搭建方式,將上面實(shí)施例中提出的模塊按照?qǐng)D1的方式連接起來,就可以實(shí)現(xiàn)任意多個(gè)主端口、任意多個(gè)從端口、任意總線層數(shù)、任意跨時(shí)鐘的數(shù)據(jù)訪問裝置,且不需要寫新的代碼。用戶可以根據(jù)自己的實(shí)際需求任意裁剪,解決端口和層數(shù)受限制的問題。
本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)訪問裝置,該數(shù)據(jù)訪問裝置可以包括:主端口接口模塊,用于傳輸?shù)谝恢鞫丝诎l(fā)送的訪問請(qǐng)求至仲裁模塊,該訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù);仲裁模塊,用于根據(jù)預(yù)設(shè)表格,通過從端口接口模塊確定與訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址,并發(fā)送該第一從端口的有效地址、該訪問命令和該訪問數(shù)據(jù)至從端口,其中,仲裁模塊是根據(jù)預(yù)設(shè)表格生成的,該預(yù)設(shè)表格包括總線參數(shù);從端口接口模塊,用于傳輸仲裁模塊發(fā)送的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)該第一從端口的有效地址和訪問命令, 對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。采用上述數(shù)據(jù)訪問裝置進(jìn)行數(shù)據(jù)傳輸時(shí),由于仲裁模塊是由預(yù)設(shè)表格生成的,不再通過用戶手工編碼進(jìn)行仲裁模塊的改寫,因此,解決大規(guī)模芯片項(xiàng)目中由于數(shù)據(jù)訪問裝置端口多、改動(dòng)頻繁造成的代碼維護(hù)工作量大、手工編碼易出錯(cuò)的問題,從而可以簡(jiǎn)潔有效地實(shí)現(xiàn)數(shù)據(jù)訪問裝置,提高了數(shù)據(jù)訪問裝置的可靠性。
實(shí)施例二
本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問方法,如圖18所示,該方法可以包括:
S101、數(shù)據(jù)訪問裝置接收第一主端口發(fā)送的訪問請(qǐng)求,該訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù)。
需要說明的是,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置可以為AHB總線。
S102、數(shù)據(jù)訪問裝置根據(jù)預(yù)設(shè)表格,確定與訪問地址對(duì)應(yīng)的第一從端口及第一從端口的有效地址。
S103、數(shù)據(jù)訪問裝置發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)第一從端口的有效地址和所述訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,數(shù)據(jù)訪問裝置可以完成主端口和任意個(gè)從端口之間的任意地址仲裁及多路選擇功能,即仲裁主端口進(jìn)行訪問請(qǐng)求的從端口的地址和路徑。本發(fā)明實(shí)施例中的仲裁模塊是通過預(yù)設(shè)表格生成的代碼實(shí)現(xiàn)的模塊。該預(yù)設(shè)表格包括總線參數(shù),示例性的,預(yù)設(shè)表格中總線參數(shù)可以包括:從端口名稱、從端口的地址位寬、從端口的地址范圍等參數(shù)。具體的,利用預(yù)設(shè)表格中的VB腳本,檢測(cè)預(yù)設(shè)表格中的總線參數(shù),根據(jù)總線參數(shù)生成仲裁模塊代碼,實(shí)現(xiàn)仲裁模塊的功能。
進(jìn)一步地,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置采用高地址選擇設(shè)計(jì)方式,由于數(shù)據(jù)訪問裝置接收到的訪問請(qǐng)求中攜帶的訪問地址為某個(gè)要訪問的從端口的全地址,但是從端口的有效地址不一定占滿該全地址位寬,因此,本發(fā)明實(shí)施例中,通過判別訪問地址的高位地址的值來通過從端口接口模塊確定從端口中的第一從端口,該第一從端口為第一主端口想要進(jìn)行訪問的從端口。
需要說明的是,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置與主機(jī)的主端口連接,以及從機(jī)的從端口連接,通過數(shù)據(jù)訪問裝置的訪問就是主機(jī)對(duì)從機(jī)進(jìn)行的訪問。
具體的,以全地址位寬是20bit地址的主機(jī),訪問10bit從機(jī)為例,本發(fā)明實(shí)施例中采用高位選擇設(shè)計(jì)僅需要判斷11bit邏輯。如圖2所示,為全地址示意圖,從圖2中可知:片選比特位的數(shù)值的每一比特可以為0、1或Z。其中,片選比特位是指地址中超出最小從端口地址位寬的部分。本發(fā)明實(shí)施例中的整個(gè)地址分配過程可以為:數(shù)據(jù)訪問裝置根據(jù)最小從端口地址大小,將全地址劃分為2n份(n為片選比特位的個(gè)數(shù)),每個(gè)從端口也根據(jù)自身地址大小占用2k個(gè)(k為片選比特位中Z的個(gè)數(shù))最小從端口模塊地址位寬。如果片選比特位中沒有Z,則只占用一個(gè)最小從端口模塊地址位寬,如果片選比特位最低位為Z,則占用2個(gè)最小從端口模塊地址位寬,如果片選比特位最低兩位為Z,則占用4個(gè)最小從端口模塊地址位寬,如果片選比特位最低三位為Z,則占用8個(gè)最小從端口模塊地址位寬,依次類推。這樣,數(shù)據(jù)訪問裝置就可以通過判斷高地址位(片選比特位)的比特值來確定要訪問的第一從端口了。
其中,片選比特位中的某一比特位為Z,表示占用了該比特位為0和1的地址,同時(shí)比該比特位低的比特位都必須為Z;每個(gè)從端口只能占用2k個(gè)最小空間。如果不滿足這兩個(gè)條件,則說明數(shù)據(jù)訪問裝置獲取的訪問地址不是任何一個(gè)從端口的地址,因此,將該訪問地址空閑,同時(shí)該訪問地址對(duì)應(yīng)的模塊為空。
示例性的,假設(shè)數(shù)據(jù)訪問裝置的總地址空間大小是1MB,最小從端口pcie_brg_csr是4KB,最大從端口pcie_ep_bkend是64KB。因此,“總線字節(jié)地址位寬”為20;“最小從模塊字節(jié)地址位寬”為12;“最大從模塊字節(jié)地址位寬”為16。對(duì)于從端口pcie_brg_csr,地址空間大小為4KB,“字節(jié)地址位寬”填12,僅占用一個(gè)最小地址空間,指定“字節(jié)片選地址范圍”為8’b0000_0000。從端口在數(shù)據(jù)訪問裝置實(shí)際分到的地址如圖3所示,“Z”表示可以為0也可以為1,即高8bit為8’b0000_0000的地址都會(huì)尋址到該從端口。
進(jìn)一步地,數(shù)據(jù)訪問裝置判斷出訪問地址對(duì)應(yīng)第一從端口的地址后,該數(shù) 據(jù)訪問裝置將除高地址位外的第一從端口的有效地址發(fā)送至從端口。
可以理解的是,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置采用高地址選擇設(shè)計(jì),大大降低了仲裁和多路選擇時(shí)的組合邏輯量,而數(shù)據(jù)訪問裝置采用被動(dòng)響應(yīng)方式,則保證該數(shù)據(jù)訪問裝置不會(huì)因?yàn)槟硞€(gè)從端口異常沒有響應(yīng)而掛死。
具體的,數(shù)據(jù)訪問裝置將第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)按照時(shí)序輸出至所述第一從端口,以供第一從端口根據(jù)時(shí)序正確的第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。
需要說明的是,數(shù)據(jù)訪問裝置還可以完成AHB接口的流水線功能,透?jìng)髁魉€兩側(cè)接口傳輸類型,當(dāng)芯片后端綜合時(shí)序達(dá)不到時(shí),采用數(shù)據(jù)訪問裝置來優(yōu)化時(shí)序,使用時(shí)只需設(shè)定地址位寬參數(shù),就可避免數(shù)據(jù)傳輸過程中出現(xiàn)時(shí)序邏輯錯(cuò)誤的情況。
具體的,設(shè)計(jì)思路為:通常流水線模塊的思路是直接插入一級(jí)寄存器,如圖8所示,但對(duì)于AHB協(xié)議來說,通常的流水線模塊的方式會(huì)造成數(shù)據(jù)錯(cuò)誤,所以我們提出了采用數(shù)據(jù)鎖存的流水線模塊的方式。示例性的如圖9所示,為第一流水線模塊的設(shè)計(jì)框圖。根據(jù)AHB協(xié)議,AHB的每個(gè)操作都是需要握手反饋的,普通流水線模塊的方式無法握手,會(huì)造成時(shí)序錯(cuò)亂。而本發(fā)明實(shí)施例提出的AHB流水線模塊的方式具體的以A向B發(fā)讀請(qǐng)求為例,對(duì)經(jīng)過該第一流水線模塊的數(shù)據(jù)傳輸進(jìn)行說明:數(shù)據(jù)鎖存模塊始終鎖存最新的有效數(shù)據(jù)A;第一流水線模塊給數(shù)據(jù)A的響應(yīng)默認(rèn)為有效響應(yīng);當(dāng)A發(fā)出新的訪問命令后,控制選擇A輸出給B為數(shù)據(jù)A信號(hào),控制選擇B輸出給A為不響應(yīng)信號(hào);如果數(shù)據(jù)B沒有響應(yīng)則控制選擇A輸出給B為數(shù)據(jù)A鎖存數(shù)據(jù);等待數(shù)據(jù)B響應(yīng)后控制選擇A輸出給B為數(shù)據(jù)A;再次等待數(shù)據(jù)B響應(yīng)后控制選擇B輸出給A為響應(yīng)信號(hào)。
可選的,本發(fā)明實(shí)施例提出的訪問命令可以包括讀命令和寫命令。
進(jìn)一步地,如圖19所示,S103之前,即數(shù)據(jù)訪問裝置發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口之前,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法還包括:S104。具體如下:
S104、數(shù)據(jù)訪問裝置根據(jù)預(yù)設(shè)表格,將第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)所在的時(shí)鐘域切換至第一從端口所在的時(shí)鐘域,以實(shí)現(xiàn)與處于不同時(shí)鐘域的第一從端口的對(duì)接。
可以理解的是,數(shù)據(jù)訪問裝置還可以完成時(shí)鐘域切換功能,可以支持AHB接口的任意位地址、任意時(shí)鐘域間的轉(zhuǎn)換。
可選的,數(shù)據(jù)訪問裝置的跨時(shí)鐘模塊功能可以采用兩種實(shí)現(xiàn)方式:FIFO,方式和異步握手方式。
具體的,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置采用第一跨時(shí)鐘模塊跨時(shí)鐘功能,該第一跨時(shí)鐘模塊的設(shè)計(jì)框圖示例性的可以為圖6所示,源時(shí)鐘(訪問請(qǐng)求所在的時(shí)鐘域)發(fā)起讀寫請(qǐng)求,被存如讀寫FIFO,選擇模塊根據(jù)FIFO的空滿來讀取FIFO的請(qǐng)求,并轉(zhuǎn)換為AHB協(xié)議輸出到目的時(shí)鐘域,將目的時(shí)鐘域的響應(yīng)返回到完成響應(yīng)FIFO,并返回給源時(shí)鐘域的AHB。
進(jìn)一步地,本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置的第一跨時(shí)鐘模塊內(nèi)部設(shè)置超時(shí)保護(hù)機(jī)制,該超時(shí)保護(hù)機(jī)制用來監(jiān)控響應(yīng)時(shí)間,不會(huì)因?yàn)闆]有響應(yīng)而掛住總線;設(shè)置主從端口傳輸類型分離機(jī)制,對(duì)不支持突發(fā)的從端口,仍然可以允許主端口以突發(fā)方式配置,提高了總線的配置速率。其保護(hù)方式具體為,如果超過預(yù)設(shè)時(shí)間操作仍沒有完成,則將一個(gè)特定數(shù)據(jù)的完成發(fā)給完成響應(yīng)FIFO,保證源時(shí)鐘域的AHB不會(huì)被掛死。
可選的,預(yù)設(shè)時(shí)間可以為1分鐘,具體的預(yù)設(shè)時(shí)間的選擇可以根據(jù)實(shí)際的響應(yīng)完成時(shí)間來決定,本發(fā)明實(shí)施例不作限制。
需要說明的是,本發(fā)明實(shí)施例中的模塊間都通過AHB接口進(jìn)行連接,而數(shù)據(jù)訪問裝置接收的訪問數(shù)據(jù)必須是與要接收的從端口的時(shí)鐘域一致,才能與該從端口連接的AHB接口(從端口接口)對(duì)接上。
相應(yīng)的,S103可以與S104對(duì)應(yīng),具體如下:
S103、數(shù)據(jù)訪問裝置發(fā)送切換時(shí)鐘域后的第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口。
進(jìn)一步地,如圖20所示,S101之前,即數(shù)據(jù)訪問裝置接收第一主端口發(fā) 送的訪問請(qǐng)求之前,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法還包括:S105。具體如下:
S105、數(shù)據(jù)訪問裝置從多個(gè)主端口中確定第一主端口。
數(shù)據(jù)訪問裝置可以通過主端口選擇模塊19實(shí)現(xiàn)從多個(gè)主端口中確定第一主端口。
示例性的,本發(fā)明實(shí)施例可以采用select信號(hào)的方式實(shí)現(xiàn)多個(gè)主端口的選擇,這種方式相對(duì)簡(jiǎn)單可靠,可以任意擴(kuò)展,如圖16所示,為主端口選擇模塊19的結(jié)構(gòu)示意圖,以4個(gè)主機(jī)方式為例,結(jié)社當(dāng)select為2時(shí),主端口選擇模塊19就選通主機(jī)2,使得主機(jī)2對(duì)應(yīng)的主端口與AHB接口連通。
可以理解的是,示例性的如圖17所示,為數(shù)據(jù)訪問裝置的可以實(shí)現(xiàn)的一種整體架構(gòu)框圖,本發(fā)明實(shí)施例中的各個(gè)模塊通過頂層互聯(lián),就可以實(shí)現(xiàn)任意數(shù)據(jù)訪問裝置的連接方式。具體的本發(fā)明實(shí)施例提出的數(shù)據(jù)訪問裝置的搭建方式,將上面實(shí)施例中提出的模塊按照?qǐng)D的方式連接起來,就可以實(shí)現(xiàn)任意多個(gè)主端口、任意多個(gè)從端口、任意總線層數(shù)、任意跨時(shí)鐘的數(shù)據(jù)訪問裝置,且不需要寫新的代碼。用戶可以根據(jù)自己的實(shí)際需求任意裁剪,解決端口和層數(shù)受限制的問題。
進(jìn)一步地,如圖21所示,S102之后,S103之前,即數(shù)據(jù)訪問裝置根據(jù)預(yù)設(shè)表格,確定與訪問地址對(duì)應(yīng)的第一從端口及第一從端口的有效地址之后,數(shù)據(jù)訪問裝置發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至所述第一從端口之前,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)訪問方法還包括:S106。具體如下:
S106、數(shù)據(jù)訪問裝置解析訪問命令和訪問數(shù)據(jù)。
數(shù)據(jù)訪問裝置采用AHB轉(zhuǎn)換模塊18解析訪問命令和訪問數(shù)據(jù)。
如圖14所示,以AHB協(xié)議中的信號(hào)為例,說明AHB轉(zhuǎn)換模塊18的控制實(shí)現(xiàn)流程:控制延遲寄存器始終存儲(chǔ)最新的控制信號(hào),即圖13中連接的信號(hào);解析輸出的讀寫信號(hào)是經(jīng)過控制信號(hào)做邏輯判斷后輸出的,比如write信號(hào)是HSEL為1,HTRANS為10,HWRITE為1時(shí)輸出為1,否則輸出為0;如果是寫操作沒有返回過程就可以結(jié)束了;如果是讀操作,數(shù)據(jù)返回時(shí)通過選擇控 HREADY,僅當(dāng)收到讀命令且沒有返回時(shí)HREADY信號(hào)為0。
需要說明的是,上述信號(hào)均為AHB協(xié)議中定義的信號(hào),此處不再詳細(xì)地進(jìn)行說明。
可以理解的是,AHB轉(zhuǎn)換模塊將AHB接口轉(zhuǎn)換為存儲(chǔ)器接口功能,有效解決了從端口對(duì)AHB信號(hào)的解析問題。具體的AHB轉(zhuǎn)換模塊實(shí)現(xiàn)了兩種轉(zhuǎn)換方式,一種為AHB轉(zhuǎn)換模塊將AHB接口轉(zhuǎn)換為不帶流控的存儲(chǔ)器接口,這種方式不允許從端口反壓,保證讀寫操作都能正確接收,多用于芯片內(nèi)部寄存器配置;另一種為AHB轉(zhuǎn)換模塊將AHB接口轉(zhuǎn)換為帶流控的存儲(chǔ)器接口,這種方式允許從端口不能接收讀寫操作時(shí)發(fā)起流控,配置流便會(huì)保持到流控消除,多用于芯片外部訪問,比如DDR 3等。用戶使用時(shí)根據(jù)項(xiàng)目需要選擇這兩種方式之一,本發(fā)明實(shí)施例不作限制。
進(jìn)一步地,數(shù)據(jù)訪問裝置傳輸對(duì)訪問數(shù)據(jù)進(jìn)行訪問命令對(duì)應(yīng)的訪問操作,并傳輸該訪問命令的響應(yīng)至第一主端口。
可以理解的是,主機(jī)向一個(gè)從機(jī)發(fā)送讀命令時(shí),該從機(jī)需向主機(jī)發(fā)送該讀命令的響應(yīng),以完成主機(jī)對(duì)一個(gè)從機(jī)的讀操作。
進(jìn)一步地,數(shù)據(jù)訪問裝置傳輸不響應(yīng)訪問命令的訪問操作。
進(jìn)一步地,數(shù)據(jù)訪問裝置未接收到對(duì)訪問命令的響應(yīng)之后,該數(shù)據(jù)訪問裝置接收下一次訪問請(qǐng)求,并根據(jù)該下一次訪問請(qǐng)求進(jìn)行下一次訪問操作。
可以理解的是,示例性的,當(dāng)主機(jī)向一個(gè)從機(jī)發(fā)送讀命令時(shí),該從機(jī)回存在不響應(yīng)該讀命令的情況,這時(shí)就出現(xiàn)了數(shù)據(jù)訪問裝置掛死的情況,此時(shí),由于本發(fā)明實(shí)施例中的數(shù)據(jù)訪問裝置的仲裁模塊采用被動(dòng)響應(yīng)方式,因此,若數(shù)據(jù)訪問裝置的仲裁模塊在通過主端口接口模塊接收到發(fā)送的下一次訪問請(qǐng)求時(shí),仲裁模塊放棄本次訪問請(qǐng)求,開始處理下一次訪問請(qǐng)求。這樣處理,避免了仲裁模塊一直為了等待通過從端口接口模塊傳輸?shù)捻憫?yīng),而使得數(shù)據(jù)訪問裝置出現(xiàn)掛死的情況的發(fā)生。
具體的,仲裁模塊可以通過狀態(tài)機(jī)實(shí)現(xiàn)上述被動(dòng)響應(yīng)方式可以規(guī)避數(shù)據(jù)訪問裝置掛死的問題。如圖4所示,為狀態(tài)機(jī)流程圖。一個(gè)正常的AHB的訪問 命令的響應(yīng)流程為:數(shù)據(jù)訪問裝置的仲裁模塊的初始處于空閑狀態(tài),當(dāng)收到訪問請(qǐng)求(訪問命令)后,可以向命令狀態(tài)切換,該訪問命令被響應(yīng)后,該仲裁模塊由空閑狀態(tài)切換到數(shù)據(jù)狀態(tài),訪問數(shù)據(jù)被響應(yīng)后再切換到完成狀態(tài),最后回到空閑狀態(tài),實(shí)現(xiàn)了一次AHB的仲裁傳送。當(dāng)從機(jī)出現(xiàn)異常時(shí),訪問命令和訪問數(shù)據(jù)可能不會(huì)被響應(yīng),如果此時(shí)主機(jī)一直在等待從機(jī)的響應(yīng),AHB協(xié)議中也沒有給出最大的等待時(shí)間,那總線將處于掛死狀態(tài)。為了不違背AHB協(xié)議,同時(shí)又能解決這個(gè)問題,本發(fā)明實(shí)施例中的仲裁模塊增加一個(gè)是否有下一次訪問請(qǐng)求的判斷,如果主機(jī)能夠等待,可以無限長(zhǎng)時(shí)間的等待,如果主機(jī)不想等待,則可以再發(fā)起下一次訪問請(qǐng)求,狀態(tài)機(jī)會(huì)根據(jù)下一次訪問請(qǐng)求切換到空閑狀態(tài)并啟動(dòng)新的訪問操作。這樣既可以不違背AHB協(xié)議,同時(shí)又能解決掛死風(fēng)險(xiǎn)問題。
本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)訪問方法,通過接收第一主端口發(fā)送的訪問請(qǐng)求,該訪問請(qǐng)求中攜帶訪問地址、訪問命令和訪問數(shù)據(jù);根據(jù)預(yù)設(shè)表格,確定與訪問地址對(duì)應(yīng)的第一從端口及該第一從端口的有效地址;發(fā)送第一從端口的有效地址、訪問命令和訪問數(shù)據(jù)至第一從端口,以供該第一從端口根據(jù)第一從端口的有效地址和訪問命令,對(duì)訪問數(shù)據(jù)進(jìn)行訪問操作。采用上述數(shù)據(jù)訪問裝置進(jìn)行數(shù)據(jù)傳輸時(shí),由于仲裁模塊是由預(yù)設(shè)表格生成的,不再通過用戶手工編碼進(jìn)行仲裁模塊的改寫,因此,解決大規(guī)模芯片項(xiàng)目中由于數(shù)據(jù)訪問裝置端口多、改動(dòng)頻繁造成的代碼維護(hù)工作量大、手工編碼易出錯(cuò)的問題,從而可以簡(jiǎn)潔有效地實(shí)現(xiàn)數(shù)據(jù)訪問裝置,提高了數(shù)據(jù)訪問裝置的可靠性。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方 框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。