欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

可編程邏輯器件的邏輯控制方法及裝置與流程

文檔序號(hào):11918359閱讀:278來源:國知局
可編程邏輯器件的邏輯控制方法及裝置與流程

本發(fā)明屬于可編程邏輯技術(shù)領(lǐng)域,尤其涉及一種可編程邏輯器件的邏輯控制方法及裝置。



背景技術(shù):

可編程邏輯器件具有性能強(qiáng)、速度快、高度可定制、輸入輸出接口豐富等優(yōu)勢(shì),適用于高數(shù)數(shù)據(jù)采集、多任務(wù)并行處理、特殊應(yīng)用等場(chǎng)合。因此,可編程邏輯器件發(fā)展迅速,集成度大幅提高,成本也逐步降低,越來越多的被用于各種電子電路設(shè)計(jì)中。

發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中的可編程邏輯器件至少存在以下問題:在將可編程邏輯器件應(yīng)用在各種電子電路設(shè)計(jì)時(shí),需要根據(jù)不同的電子電路設(shè)計(jì)需求對(duì)可編程邏輯器件的控制邏輯進(jìn)行較大幅度改動(dòng),導(dǎo)致可編程邏輯器件的通用性較差且資源占用率較高。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供了一種可編程邏輯器件的邏輯控制方法及裝置,以解決現(xiàn)有技術(shù)中可編程邏輯器件的通用性較差且資源占用率較高的問題。

本發(fā)明實(shí)施例的第一方面,提供了一種可編程邏輯器件的邏輯控制方法,包括:

接收中斷信號(hào),所述中斷信號(hào)包括中斷請(qǐng)求、目標(biāo)數(shù)據(jù)的源地址和目標(biāo)數(shù)據(jù)的目標(biāo)地址,并檢測(cè)所述中斷請(qǐng)求的優(yōu)先級(jí);

在所述中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),根據(jù)所述中斷信號(hào)生成數(shù)據(jù)傳輸請(qǐng)求;

根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求,從所述目標(biāo)數(shù)據(jù)的源地址讀取所述目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址。

本發(fā)明實(shí)施例的第二方面,提供了一種可編程邏輯器件的邏輯控制裝置,包括:

中斷管理模塊,用于接收中斷信號(hào),所述中斷信號(hào)包括中斷請(qǐng)求、目標(biāo)數(shù)據(jù)的源地址和目標(biāo)數(shù)據(jù)的目標(biāo)地址,并檢測(cè)所述中斷請(qǐng)求的優(yōu)先級(jí);

數(shù)據(jù)傳輸管理模塊,用于在所述中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),根據(jù)所述中斷信號(hào)生成數(shù)據(jù)傳輸請(qǐng)求;

數(shù)據(jù)讀寫模塊,用于根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求,從所述目標(biāo)數(shù)據(jù)的源地址讀取所述目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址。

本發(fā)明實(shí)施例相對(duì)于現(xiàn)有技術(shù)所具有的有益效果:接收中斷信號(hào),所述中斷信號(hào)包括中斷請(qǐng)求、目標(biāo)數(shù)據(jù)的源地址、目標(biāo)數(shù)據(jù)的目標(biāo)地址和目標(biāo)數(shù)據(jù)的數(shù)目,并檢測(cè)中斷請(qǐng)求的優(yōu)先級(jí);在中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),生成數(shù)據(jù)傳輸請(qǐng)求;根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,能夠?qū)⒍鄠€(gè)模塊的數(shù)據(jù)操作請(qǐng)求統(tǒng)一管理生成中斷請(qǐng)求,按照中斷請(qǐng)求的優(yōu)先級(jí)以進(jìn)行數(shù)據(jù)傳輸,而且根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,與任務(wù)需求不直接相關(guān),因此任務(wù)需求發(fā)生變化時(shí),相應(yīng)的代碼無需改動(dòng)或僅需進(jìn)行微小的改動(dòng),能夠提高可編程邏輯器件的通用性,降低資源占用率。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例一提供的可編程邏輯器件的邏輯控制方法的流程圖;

圖2是本發(fā)明實(shí)施例一提供的所述根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求讀取所述目標(biāo)數(shù)據(jù)步驟的流程圖;

圖3是本發(fā)明實(shí)施例一提供的所述將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址步驟的流程圖;

圖4是本發(fā)明實(shí)施例一提供的中斷管理邏輯的狀態(tài)轉(zhuǎn)移圖;

圖5是本發(fā)明實(shí)施例一提供的數(shù)據(jù)傳輸管理邏輯的狀態(tài)轉(zhuǎn)移圖;

圖6是本發(fā)明實(shí)施例一提供的APB總線控制器的狀態(tài)轉(zhuǎn)移圖;

圖7是本發(fā)明實(shí)施例二提供的可編程邏輯器件的邏輯控制的結(jié)構(gòu)框圖;

圖8是本發(fā)明實(shí)施例二提供的數(shù)據(jù)讀寫模塊的結(jié)構(gòu)框圖;

圖9是本發(fā)明實(shí)施例二提供的數(shù)據(jù)讀寫模塊的又一結(jié)構(gòu)框圖。

具體實(shí)施方式

以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具體細(xì)節(jié),以便透徹理解本發(fā)明實(shí)施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體細(xì)節(jié)的其它實(shí)施例中也可以實(shí)現(xiàn)本發(fā)明。在其它情況中,省略對(duì)眾所周知的系統(tǒng)、裝置、電路以及方法的詳細(xì)說明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。

為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。

實(shí)施例一:

圖1示出了本發(fā)明實(shí)施例一提供的可編程邏輯器件的邏輯控制方法的實(shí)現(xiàn)流程,詳述如下:

步驟S101,接收中斷信號(hào),所述中斷信號(hào)包括中斷請(qǐng)求、目標(biāo)數(shù)據(jù)的源地址和目標(biāo)數(shù)據(jù)的目標(biāo)地址,并檢測(cè)所述中斷請(qǐng)求的優(yōu)先級(jí)。

本步驟中,所述檢測(cè)所述中斷請(qǐng)求的優(yōu)先級(jí)具體可以為:獲取所述中斷請(qǐng)求的優(yōu)先級(jí)標(biāo)識(shí);其中,每種中斷請(qǐng)求對(duì)應(yīng)一個(gè)優(yōu)先級(jí)標(biāo)識(shí)。例如,根據(jù)中斷請(qǐng)求的不同,中斷請(qǐng)求的優(yōu)先級(jí)標(biāo)識(shí)可以分為高優(yōu)先級(jí)、中優(yōu)先級(jí)、低優(yōu)先級(jí)等幾種。也可以通過數(shù)字來表征中斷請(qǐng)求的優(yōu)先級(jí)標(biāo)識(shí),例如數(shù)字1對(duì)應(yīng)高優(yōu)先級(jí),數(shù)字2對(duì)應(yīng)中優(yōu)先級(jí),數(shù)字3對(duì)應(yīng)低優(yōu)先級(jí),但不限于此。

因此,在接收到中斷信號(hào)以后,獲取中斷信號(hào)中的中斷請(qǐng)求,然后根據(jù)該中斷請(qǐng)求的優(yōu)先級(jí)標(biāo)識(shí)來得出該終端請(qǐng)求的優(yōu)先級(jí)別。另外,中斷請(qǐng)求的有效標(biāo)識(shí)對(duì)應(yīng)第一標(biāo)志位,無效標(biāo)識(shí)對(duì)應(yīng)第二標(biāo)志位。其中,第一標(biāo)志位可以為1,第二標(biāo)志位可以為0。即,在檢測(cè)到中斷請(qǐng)求的標(biāo)識(shí)為第一標(biāo)志位時(shí),則說明接收到有效的中斷請(qǐng)求,并準(zhǔn)備響應(yīng)該中斷請(qǐng)求;否則,不用響應(yīng)該中斷請(qǐng)求。

步驟S102,在所述中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),根據(jù)所述中斷信號(hào)生成數(shù)據(jù)傳輸請(qǐng)求。

本步驟中,在檢測(cè)到中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),開始響應(yīng)該中斷請(qǐng)求,并生成數(shù)據(jù)傳輸請(qǐng)求。其中,所述數(shù)據(jù)傳輸請(qǐng)求可以包括數(shù)據(jù)讀取傳輸請(qǐng)求和數(shù)據(jù)寫入傳輸請(qǐng)求。所述數(shù)據(jù)讀取傳輸請(qǐng)求包括所述目標(biāo)數(shù)據(jù)的源地址和數(shù)據(jù)讀取傳輸次數(shù);所述數(shù)據(jù)寫入傳輸請(qǐng)求包括所述目標(biāo)數(shù)據(jù)的目標(biāo)地址和數(shù)據(jù)寫入傳輸次數(shù)。

具體的,響應(yīng)數(shù)據(jù)讀取傳輸請(qǐng)求可以為將預(yù)設(shè)長(zhǎng)度的目標(biāo)數(shù)據(jù)從源位置讀取出,并存儲(chǔ)到預(yù)設(shè)存儲(chǔ)器中。響應(yīng)所述數(shù)據(jù)寫入傳輸請(qǐng)求可以為將存儲(chǔ)在預(yù)設(shè)存儲(chǔ)器中的目標(biāo)數(shù)據(jù)寫至目標(biāo)位置。其中,預(yù)設(shè)長(zhǎng)度可以對(duì)應(yīng)為中斷信號(hào)中的目標(biāo)數(shù)據(jù)的數(shù)目,也即目標(biāo)數(shù)據(jù)的長(zhǎng)度。其中,目標(biāo)數(shù)據(jù)的源地址可以對(duì)應(yīng)目標(biāo)數(shù)據(jù)的第一個(gè)地址的數(shù)據(jù),目標(biāo)數(shù)據(jù)的數(shù)目對(duì)應(yīng)目標(biāo)數(shù)據(jù)的長(zhǎng)度,由此可以得出傳輸?shù)哪繕?biāo)數(shù)據(jù);目標(biāo)數(shù)據(jù)的目標(biāo)位置可以對(duì)應(yīng)將目標(biāo)數(shù)據(jù)寫入的第一個(gè)地址,再根據(jù)目標(biāo)數(shù)據(jù)的數(shù)目可以得出目標(biāo)數(shù)據(jù)的寫入地址。

步驟S103,根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求,從所述目標(biāo)數(shù)據(jù)的源地址讀取所述目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址。

參見圖3,一個(gè)實(shí)施例中,所述從所述目標(biāo)數(shù)據(jù)的源地址讀取所述目標(biāo)數(shù)據(jù)可以包括:

步驟S201,獲取所述目標(biāo)數(shù)據(jù)的源地址和所述數(shù)據(jù)讀取傳輸次數(shù),初始化第一次總線讀操作地址和數(shù)據(jù)讀取傳輸次數(shù)。

其中,本實(shí)施例中,所述中斷信號(hào)還包括目標(biāo)數(shù)據(jù)的數(shù)目。第一次總線讀操作地址為所述目標(biāo)數(shù)據(jù)的源地址,所述數(shù)據(jù)讀取傳輸次數(shù)的初始值等于所述目標(biāo)數(shù)據(jù)的數(shù)目。即,從所述目標(biāo)數(shù)據(jù)的源地址開始讀取預(yù)設(shè)長(zhǎng)度的目標(biāo)數(shù)據(jù),預(yù)設(shè)長(zhǎng)度為所述目標(biāo)數(shù)據(jù)的數(shù)目。

步驟S202,讀取所述第N次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù),并將讀到的數(shù)據(jù)存至預(yù)設(shè)存儲(chǔ)器,且所述數(shù)據(jù)讀取傳輸次數(shù)自減1;直至所述數(shù)據(jù)讀取傳輸次數(shù)等于1。

本步驟中,所述第N+1次總線讀操作地址為在第N次總線讀操作地址的基礎(chǔ)上加一;N為大于等于1的整數(shù)。讀取第一次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù)后,可以將讀到的數(shù)據(jù)存至FIFO(First Input First Output,先進(jìn)先出隊(duì)列)存儲(chǔ)空間中,以使得在將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址時(shí),能夠方便準(zhǔn)確地按照讀取的順序?qū)⒆x取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址。

例如,第2次總線讀操作地址為在第1次總線讀操作地址的基礎(chǔ)上加一,即第2次總線讀操作地址為在目標(biāo)數(shù)據(jù)的源地址的基礎(chǔ)上加一。第3次總線讀操作地址為在第2次總線讀操作地址的基礎(chǔ)上加一,以此類推直至所述數(shù)據(jù)讀取傳輸次數(shù)等于1。

具體的,讀取第2次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù),將讀取到的數(shù)據(jù)存至所述預(yù)設(shè)存儲(chǔ)器,數(shù)據(jù)讀取傳輸次數(shù)自減1變?yōu)镸-2;第3次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù),將讀取到的數(shù)據(jù)存至所述預(yù)設(shè)存儲(chǔ)器,數(shù)據(jù)讀取傳輸次數(shù)自減1變?yōu)镸-3;……;直至第M-1次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù),將讀取到的數(shù)據(jù)存至所述預(yù)設(shè)存儲(chǔ)器,數(shù)據(jù)讀取傳輸次數(shù)自減1變?yōu)?。M為目標(biāo)數(shù)據(jù)的數(shù)目。

參見圖3,一個(gè)實(shí)施例中,所述將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址可以包括:

步驟S301,獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)地址和所述數(shù)據(jù)寫入傳輸次數(shù),初始化第一次總線寫操作地址和數(shù)據(jù)寫入傳輸次數(shù)。

其中,第一次總線寫操作地址為所述目標(biāo)數(shù)據(jù)的目標(biāo)地址,所述數(shù)據(jù)寫入傳輸次數(shù)的初始值為所述目標(biāo)數(shù)據(jù)的數(shù)目。即,從預(yù)設(shè)存儲(chǔ)器中將預(yù)設(shè)長(zhǎng)度的目標(biāo)數(shù)據(jù)寫至所述目標(biāo)地址。

步驟S302,按照先進(jìn)先出原則,從所述預(yù)設(shè)存儲(chǔ)器中讀取所述目標(biāo)數(shù)據(jù),并將讀取到的數(shù)據(jù)寫至第N次總線寫操作地址,且所述數(shù)據(jù)寫入傳輸次數(shù)自減1;直至所述數(shù)據(jù)寫入傳輸次數(shù)等于1。

本步驟中,可以按照先進(jìn)先出原則,從預(yù)設(shè)存儲(chǔ)器中讀取最先存入的數(shù)據(jù)后,將讀取到的數(shù)據(jù)寫至所述第一次總線寫操作地址,最終寫入地址的開頭地址。

其中,所述第N+1次總線寫操作地址為在第N次總線寫操作地址的基礎(chǔ)上加一,N為大于等于1的整數(shù)。按照先進(jìn)先出原則,依次將存儲(chǔ)至預(yù)設(shè)存儲(chǔ)器中的目標(biāo)數(shù)據(jù)逐一寫至目標(biāo)地址。具體的,目標(biāo)地址作為開頭地址,每寫入一次目標(biāo)數(shù)據(jù),總線寫操作地址自加1,所述數(shù)據(jù)寫入傳輸次數(shù)自減1,然后將下一數(shù)據(jù)寫入新的總線寫操作地址。直至所述數(shù)據(jù)寫入傳輸次數(shù)等于1。

本實(shí)施例中,可以通過總線控制邏輯響應(yīng)所述數(shù)據(jù)傳輸請(qǐng)求,從所述目標(biāo)數(shù)據(jù)的源地址讀取所述目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址。以下以APB總線為例進(jìn)行說明。具體的,在未接受到所述數(shù)據(jù)傳輸請(qǐng)求時(shí),進(jìn)入APB協(xié)議建議的“IDLE”狀態(tài),APB總線的地址信號(hào)(PADDR)、讀寫控制信號(hào)(PWRITE)、寫數(shù)據(jù)信號(hào)(PWDATA)和讀數(shù)據(jù)信號(hào)(PRDATA)對(duì)應(yīng)為數(shù)據(jù)傳輸請(qǐng)求中的源地址、目標(biāo)地址和目標(biāo)數(shù)據(jù)的數(shù)目,選擇信號(hào)(PSEL)和使能信號(hào)(PENABLE)都為0,APB總線操作完成標(biāo)志為0。在接受到所述數(shù)據(jù)傳輸請(qǐng)求時(shí),跳入APB協(xié)議建議的“SETUP”狀態(tài),邏輯模塊的PSEL=1,PENABLE=0;接著跳入APB協(xié)議建議的“ACCESS”狀態(tài),此時(shí)PENABLE=1,當(dāng)準(zhǔn)備信號(hào)(PREADY)有效時(shí),一次APB總線操作完成;此時(shí)如果仍有數(shù)據(jù)傳輸操作請(qǐng)求,狀態(tài)跳回“SETUP”,完成下一次APB總線操作。

以下結(jié)合圖4至圖6,對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)說明。

具體的,本發(fā)明實(shí)施例可以包括中斷管理邏輯、數(shù)據(jù)傳輸管理邏輯、APB總線控制邏輯和APB接口的邏輯模塊,每個(gè)APB接口邏輯模塊中的控制和狀態(tài)寄存器都掛靠在APB總線上。在工作中,通過APB總線讀寫這些寄存器,從而控制各邏輯模塊的功能。當(dāng)模塊間需要進(jìn)行數(shù)據(jù)傳輸時(shí)(如數(shù)據(jù)接收模塊接收到計(jì)算機(jī)發(fā)送的命令后需要配置給另一個(gè)模塊,或一個(gè)模塊采集到數(shù)據(jù)后需要發(fā)送給數(shù)據(jù)發(fā)送模塊,然后上傳給計(jì)算機(jī)),發(fā)起數(shù)據(jù)傳輸請(qǐng)求的模塊先產(chǎn)生一組中斷信號(hào),包括中斷請(qǐng)求、數(shù)據(jù)傳輸源地址、數(shù)據(jù)傳輸目的地址、數(shù)據(jù)傳輸數(shù)目。中斷管理邏輯接收到中斷請(qǐng)求后,檢測(cè)當(dāng)前是否有正在處理的中斷請(qǐng)求或未處理的優(yōu)先級(jí)高于當(dāng)前中斷請(qǐng)求優(yōu)先級(jí)的中斷請(qǐng)求;若有,等待正在處理的中斷請(qǐng)求或優(yōu)先級(jí)高于當(dāng)前中斷請(qǐng)求優(yōu)先級(jí)的中斷請(qǐng)求完成;否則,中斷管理邏輯根據(jù)當(dāng)前中斷請(qǐng)求通知數(shù)據(jù)管理邏輯進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸結(jié)束后,向發(fā)起數(shù)據(jù)傳輸請(qǐng)求的模塊發(fā)送中斷請(qǐng)求完成信號(hào)。數(shù)據(jù)管理邏輯先從目標(biāo)數(shù)據(jù)的源地址開頭的地址空間挨個(gè)讀取規(guī)定數(shù)目的數(shù)據(jù),存入內(nèi)部的FIFO;等讀取完成后,依次從FIFO取出數(shù)據(jù),挨個(gè)寫入目標(biāo)數(shù)據(jù)的目標(biāo)地址開頭的地址空間,并在完成后通知中斷管理邏輯。APB總線控制器根據(jù)數(shù)據(jù)管理邏輯的讀寫請(qǐng)求,觸發(fā)APB完成總線讀寫時(shí)序。

具體的,中斷管理邏輯可以是一個(gè)簡(jiǎn)單的有限狀態(tài)機(jī),狀態(tài)轉(zhuǎn)移如圖4所示:當(dāng)復(fù)位后或處理完一個(gè)中斷請(qǐng)求后,進(jìn)入“空閑”態(tài),此時(shí)所有通道都沒有未完成的中斷請(qǐng)求,也沒有數(shù)據(jù)傳輸請(qǐng)求;如果任意中斷請(qǐng)求有效,對(duì)應(yīng)的中斷標(biāo)志變?yōu)?。如果有多個(gè)中斷請(qǐng)求的標(biāo)志位為1,則獲取各個(gè)中斷請(qǐng)求的優(yōu)先級(jí),并優(yōu)先處理優(yōu)先級(jí)較高的(例如中斷號(hào)越小,代表優(yōu)先級(jí)越高)中斷請(qǐng)求。例如,當(dāng)前最高優(yōu)先級(jí)未處理的中斷請(qǐng)求是2號(hào),那么狀態(tài)從“空閑”跳轉(zhuǎn)到“中斷請(qǐng)求2”。跳入時(shí),如果中斷請(qǐng)求2沒有再次發(fā)出中斷請(qǐng)求,則中斷請(qǐng)求2的標(biāo)志位變?yōu)榱?。在該狀態(tài)下,中斷管理邏輯發(fā)起數(shù)據(jù)傳輸請(qǐng)求,目標(biāo)數(shù)據(jù)的源地址、目標(biāo)數(shù)據(jù)的目標(biāo)地址和目標(biāo)數(shù)據(jù)的數(shù)目為中斷請(qǐng)求2的參數(shù)。當(dāng)數(shù)據(jù)傳輸完成時(shí),中斷請(qǐng)求2處的中斷請(qǐng)求即已處理完畢,狀態(tài)跳回“空閑”,并輸出一個(gè)中斷請(qǐng)求完成信號(hào)。此外,在當(dāng)前中斷請(qǐng)求處理期間,如果檢測(cè)到其他中斷請(qǐng)求的中斷標(biāo)志位為1,等狀態(tài)跳回“空閑”后,處理中斷標(biāo)志位為1的最高優(yōu)先級(jí)的中斷請(qǐng)求。

數(shù)據(jù)傳輸管理邏輯可以是一個(gè)簡(jiǎn)單的有限狀態(tài)機(jī),其狀態(tài)轉(zhuǎn)移如附圖5所示。本實(shí)施例中,以通過APB(Advanced Peripheral Bus,外圍總線)總線實(shí)現(xiàn)數(shù)據(jù)傳輸為例,對(duì)數(shù)據(jù)傳輸管理邏輯進(jìn)行說明,但并不以此為限。在其他實(shí)施例中,還可以通過AXI(Advanced eXtensible Interface)總線實(shí)現(xiàn)數(shù)據(jù)傳輸。

當(dāng)復(fù)位或處理完一次數(shù)據(jù)傳輸任務(wù)后,進(jìn)入“空閑狀態(tài)”,此時(shí)APB總線無讀寫請(qǐng)求,APB總線讀寫控制默認(rèn)為讀,讀操作地址默認(rèn)為目標(biāo)數(shù)據(jù)的源地址,寫數(shù)據(jù)為FIFO的輸出,寫操作地址默認(rèn)為目標(biāo)數(shù)據(jù)的目標(biāo)地址,讀數(shù)據(jù)連接在FIFO的輸入端口,數(shù)據(jù)讀取傳輸計(jì)數(shù)器初始值為目標(biāo)數(shù)據(jù)的數(shù)目,數(shù)據(jù)傳輸完成標(biāo)志為0。當(dāng)中斷管理邏輯發(fā)出數(shù)據(jù)傳輸請(qǐng)求時(shí),狀態(tài)跳入“讀數(shù)據(jù)”,跳入時(shí)發(fā)出一次APB總線讀請(qǐng)求,APB總線完成一次讀操作后,APB總線讀取的數(shù)據(jù)進(jìn)入FIFO,下一次APB總線讀操作地址加1,數(shù)據(jù)讀取傳輸計(jì)數(shù)器減1,并且狀態(tài)重新跳回本狀態(tài),重復(fù)下一次APB讀操作,直到讀完規(guī)定的目標(biāo)數(shù)據(jù)(即,數(shù)據(jù)讀取傳輸計(jì)數(shù)器等于1)。

之后,APB總線寫操作地址改為目標(biāo)數(shù)據(jù)的目標(biāo)地址,數(shù)據(jù)寫入傳輸計(jì)數(shù)器的初始值為目標(biāo)數(shù)據(jù)的數(shù)目,并跳入“寫數(shù)據(jù)”狀態(tài)。跳入時(shí)發(fā)出一次APB總線寫請(qǐng)求,APB總線將FIFO的輸出數(shù)據(jù)寫入到APB總線寫操作地址,當(dāng)一次APB寫操作完成后,APB總線寫操作地址加1,數(shù)據(jù)讀取傳輸計(jì)數(shù)器減1,并且狀態(tài)重新跳回“寫數(shù)據(jù)”狀態(tài),重復(fù)下一次APB寫操作,直到寫完規(guī)定的目標(biāo)數(shù)據(jù)(即,數(shù)據(jù)寫入傳輸計(jì)數(shù)器等于1)。數(shù)據(jù)傳輸完成后,狀態(tài)跳回“空閑”,并輸出數(shù)據(jù)傳輸完成信號(hào)。

另外,APB總線控制器邏輯也是一個(gè)簡(jiǎn)單的有限狀態(tài)機(jī),其狀態(tài)轉(zhuǎn)移符合APB協(xié)議的建議,如附圖6所示。當(dāng)復(fù)位或完成一次APB操作后,進(jìn)入APB協(xié)議建議的“IDLE”狀態(tài),此時(shí)APB總線的地址信號(hào)(PADDR)、讀寫控制信號(hào)(PWRITE)、寫數(shù)據(jù)信號(hào)(PWDATA)、讀數(shù)據(jù)信號(hào)(PRDATA)與數(shù)據(jù)管理邏輯的控制信號(hào)一致,選擇信號(hào)(PSEL)和使能信號(hào)(PENABLE)都為0,APB總線操作完成標(biāo)志為0。當(dāng)數(shù)據(jù)管理邏輯發(fā)出APB總線操作請(qǐng)求后,狀態(tài)跳入APB協(xié)議建議的“SETUP”狀態(tài),此時(shí)相應(yīng)邏輯模塊的PSEL=1,PENABLE=0,其他不變。之后無條件跳入APB協(xié)議建議的“ACCESS”狀態(tài),此時(shí)PENABLE=1,當(dāng)準(zhǔn)備信號(hào)(PREADY)有效時(shí),一次APB總線操作完成,此時(shí)如果仍有操作請(qǐng)求,狀態(tài)跳回“SETUP”,否則狀態(tài)跳回“IDLE”。

另外,通過仿真軟件ModelSim對(duì)本發(fā)明實(shí)施例進(jìn)行了功能仿真驗(yàn)證,并在Altera公司的MAX 10系列FPGA上通過實(shí)際驗(yàn)證,仿真驗(yàn)證和實(shí)際驗(yàn)證都證明本發(fā)明實(shí)施例切實(shí)可行,性能良好。

上述可編程邏輯器件的邏輯控制方法,接收中斷信號(hào),并檢測(cè)中斷請(qǐng)求的優(yōu)先級(jí);在中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),生成數(shù)據(jù)傳輸請(qǐng)求;根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,從而能夠?qū)⒍鄠€(gè)模塊的數(shù)據(jù)操作請(qǐng)求統(tǒng)一管理生成中斷請(qǐng)求,按照中斷請(qǐng)求的優(yōu)先級(jí)以進(jìn)行數(shù)據(jù)傳輸,而且根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,與任務(wù)需求不直接相關(guān),因此任務(wù)需求發(fā)生變化時(shí),相應(yīng)的代碼無需改動(dòng)或僅需進(jìn)行微小的改動(dòng),能夠提高可編程邏輯器件的通用性,降低資源占用率;另外,通過APB控制器和APB總線連接各個(gè)APB接口的邏輯模塊,非常有利于添加或刪除功能模塊。本發(fā)明實(shí)施例具有結(jié)構(gòu)簡(jiǎn)單、資源占用率低、速度快、易擴(kuò)展、通用性強(qiáng)等優(yōu)點(diǎn),適用于所有的可編程邏輯器件,而且當(dāng)任務(wù)需求發(fā)生變化時(shí),代碼改動(dòng)量很小。

應(yīng)理解,上述實(shí)施例中各步驟的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。

對(duì)應(yīng)于上文實(shí)施例所述的可編程邏輯器件的邏輯控制方法,圖7示出了本發(fā)明實(shí)施例提供的可編程邏輯器件的邏輯控制裝置的結(jié)構(gòu)框圖。為了便于說明,僅示出了與本實(shí)施例相關(guān)的部分。

參照?qǐng)D7,該裝置包括中斷管理模塊701、傳輸請(qǐng)求生成模塊702和數(shù)據(jù)讀寫模塊703。其中:

中斷管理模塊701,用于接收中斷信號(hào),所述中斷信號(hào)包括中斷請(qǐng)求、目標(biāo)數(shù)據(jù)的源地址和目標(biāo)數(shù)據(jù)的目標(biāo)地址,并檢測(cè)所述中斷請(qǐng)求的優(yōu)先級(jí)。

數(shù)據(jù)傳輸管理模塊702,用于在所述中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),根據(jù)所述中斷信號(hào)生成數(shù)據(jù)傳輸請(qǐng)求。

數(shù)據(jù)讀寫模塊703,用于根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求讀取所述目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入所述目標(biāo)數(shù)據(jù)的目標(biāo)地址。

可選的,所述中斷管理模塊702具體可以用于:獲取所述中斷請(qǐng)求的優(yōu)先級(jí)標(biāo)識(shí);其中,每種中斷請(qǐng)求對(duì)應(yīng)一個(gè)優(yōu)先級(jí)標(biāo)識(shí)。

優(yōu)選的,所述數(shù)據(jù)傳輸請(qǐng)求包括數(shù)據(jù)讀取傳輸請(qǐng)求和數(shù)據(jù)寫入傳輸請(qǐng)求;

其中,所述數(shù)據(jù)讀取傳輸請(qǐng)求包括所述目標(biāo)數(shù)據(jù)的源地址和數(shù)據(jù)讀取傳輸次數(shù);所述數(shù)據(jù)寫入傳輸請(qǐng)求包括所述目標(biāo)數(shù)據(jù)的目標(biāo)地址和數(shù)據(jù)寫入傳輸次數(shù)。

參見圖8,作為一種可實(shí)施方式,所述中斷信號(hào)還包括目標(biāo)數(shù)據(jù)的數(shù)目;所述數(shù)據(jù)讀寫模塊703可以包括第一初始化單元801和讀取單元802。其中,

第一初始化單元801,用于獲取所述目標(biāo)數(shù)據(jù)的源地址和所述數(shù)據(jù)讀取傳輸次數(shù),初始化第一次總線讀操作地址和數(shù)據(jù)讀取傳輸次數(shù);其中,第一次總線讀操作地址為所述目標(biāo)數(shù)據(jù)的源地址,所述數(shù)據(jù)讀取傳輸次數(shù)的初始值等于所述目標(biāo)數(shù)據(jù)的數(shù)目。

讀取單元802,用用于讀取所述第N次總線讀操作地址對(duì)應(yīng)的數(shù)據(jù),并將讀到的數(shù)據(jù)存至預(yù)設(shè)存儲(chǔ)器,且所述數(shù)據(jù)讀取傳輸次數(shù)自減1;直至所述數(shù)據(jù)讀取傳輸次數(shù)等于1。

其中,所述第N+1次總線讀操作地址為在第N次總線讀操作地址的基礎(chǔ)上加一;N為大于等于1的整數(shù)。

參見圖9,作為另一種可實(shí)施方式,所述中斷信號(hào)還包括目標(biāo)數(shù)據(jù)的數(shù)目;所述數(shù)據(jù)讀寫模塊703可以包括第二初始化單元901和寫入單元902。其中:

第二初始化單元901,用于獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)地址和所述數(shù)據(jù)寫入傳輸次數(shù),初始化第一次總線寫操作地址和數(shù)據(jù)寫入傳輸次數(shù);其中,第一次總線寫操作地址為所述目標(biāo)數(shù)據(jù)的目標(biāo)地址,所述數(shù)據(jù)寫入傳輸次數(shù)的初始值為所述目標(biāo)數(shù)據(jù)的數(shù)目。

寫入單元902,用于按照先進(jìn)先出原則,從所述預(yù)設(shè)存儲(chǔ)器中讀取所述目標(biāo)數(shù)據(jù),并將讀取到的數(shù)據(jù)寫至第N次總線寫操作地址,且所述數(shù)據(jù)寫入傳輸次數(shù)自減1;直至所述數(shù)據(jù)寫入傳輸次數(shù)等于1。

其中,所述第N+1次總線寫操作地址為在第N次總線寫操作地址的基礎(chǔ)上加一,N為大于等于1的整數(shù)。

上述可編程邏輯器件的邏輯控制裝置,接收中斷信號(hào),并檢測(cè)中斷請(qǐng)求的優(yōu)先級(jí);在中斷請(qǐng)求的優(yōu)先級(jí)為當(dāng)前最高時(shí),生成數(shù)據(jù)傳輸請(qǐng)求;根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,從而能夠?qū)⒍鄠€(gè)模塊的數(shù)據(jù)操作請(qǐng)求統(tǒng)一管理生成中斷請(qǐng)求,按照中斷請(qǐng)求的優(yōu)先級(jí)以進(jìn)行數(shù)據(jù)傳輸,而且根據(jù)數(shù)據(jù)傳輸請(qǐng)求從源地址讀取目標(biāo)數(shù)據(jù),并將讀取的目標(biāo)數(shù)據(jù)寫入目標(biāo)地址,與任務(wù)需求不直接相關(guān),因此任務(wù)需求發(fā)生變化時(shí),相應(yīng)的代碼無需改動(dòng)或僅需進(jìn)行微小的改動(dòng),能夠提高可編程邏輯器件的通用性,降低資源占用率。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡(jiǎn)潔,僅以上述各功能單元、模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實(shí)施例中的各功能單元、模塊可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中,上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請(qǐng)的保護(hù)范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。

本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

在本發(fā)明所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明實(shí)施例各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
浦城县| 盐池县| 襄垣县| 安乡县| 通许县| 蓬莱市| 江源县| 咸阳市| 雅安市| 青田县| 岳普湖县| 南阳市| 当雄县| 龙游县| 贞丰县| 岑溪市| 米脂县| 安达市| 太康县| 彝良县| 富蕴县| 江口县| 隆化县| 屏东市| 乌恰县| 宜兰县| 六枝特区| 鹿泉市| 田林县| 洱源县| 泽普县| 同江市| 钟山县| 保康县| 南靖县| 新巴尔虎左旗| 临高县| 邹城市| 方山县| 江北区| 临泉县|