理單元60。該運(yùn)算信號(hào)作為由電路配置部413對(duì)輸入信號(hào)執(zhí)行的算術(shù)和邏輯運(yùn)算的結(jié)果被獲得。換言之,運(yùn)算信號(hào)表示由電路配置部413對(duì)輸入信號(hào)執(zhí)行的運(yùn)算的結(jié)果。此外,F(xiàn)PGA 41還將錯(cuò)誤檢測(cè)信號(hào)輸出到處理單元60。錯(cuò)誤檢測(cè)信號(hào)表示由異常檢測(cè)部412對(duì)配置數(shù)據(jù)中的錯(cuò)誤進(jìn)行檢測(cè)的結(jié)果。
[0031]外部記錄單元50為使配置數(shù)據(jù)被先前地記錄于其中的記錄裝置。外部記錄單元50包括非易失性存儲(chǔ)器,例如閃存或EEPR0M(電可擦除可編程只讀存儲(chǔ)器)。
[0032]接下來,將描述FPGA 41的功能。
[0033]首先,F(xiàn)PGA 41具有根據(jù)來自處理單元60的下載命令讀出記錄于外部記錄單元50中的配置數(shù)據(jù)并且將讀出的配置數(shù)據(jù)記錄到FPGA 41的配置記錄部411中的功能。
[0034]具體地,在本實(shí)施例中,F(xiàn)PGA 41基于幀(或數(shù)據(jù)塊)從外部記錄單元50讀出配置數(shù)據(jù);每幀包含預(yù)定長(zhǎng)度(例如,η比特)的數(shù)據(jù)。進(jìn)一步地,F(xiàn)PGA 41增加ECC數(shù)據(jù)(例如,k比特)到配置數(shù)據(jù)的每個(gè)讀出的幀,該ECC數(shù)據(jù)通過糾錯(cuò)碼(ECC)被編碼。然后,F(xiàn)PGA41將配置數(shù)據(jù)的每個(gè)增加了 ECC數(shù)據(jù)的幀(S卩,(n+k)比特)順序地記錄于配置記錄部411中。此外,漢明碼或循環(huán)碼可以被用作ECC碼。
[0035]其次,F(xiàn)PGA 41具有由異常檢測(cè)部412實(shí)現(xiàn)的錯(cuò)誤檢測(cè)功能。在此,錯(cuò)誤檢測(cè)功能表示檢測(cè)記錄于配置記錄部411中的配置數(shù)據(jù)中的錯(cuò)誤的功能。
[0036]具體地,在本實(shí)施例中,F(xiàn)PGA 41的異常檢測(cè)部412以預(yù)定循環(huán)重復(fù)如下處理:讀入記錄于配置記錄部411中的配置數(shù)據(jù)的每幀和增加到所述幀的ECC數(shù)據(jù);對(duì)配置數(shù)據(jù)的每幀和增加到所述幀的ECC數(shù)據(jù)執(zhí)行預(yù)定運(yùn)算;以及當(dāng)預(yù)定運(yùn)算的結(jié)果表示配置數(shù)據(jù)的幀中已發(fā)生錯(cuò)誤時(shí),輸出邏輯值I作為錯(cuò)誤檢測(cè)信號(hào)。
[0037]由于異常檢測(cè)部412對(duì)記錄于配置記錄部411中的配置數(shù)據(jù)的每幀重復(fù)執(zhí)行預(yù)定運(yùn)算,所以完成對(duì)所有配置數(shù)據(jù)執(zhí)行預(yù)定運(yùn)算要花費(fèi)時(shí)間。在下文中,異常檢測(cè)部412對(duì)配置數(shù)據(jù)的所有幀執(zhí)行預(yù)定運(yùn)算所需的時(shí)間將被稱為最大所需檢測(cè)時(shí)間。
[0038]處理單元60包括公知類型的微型計(jì)算機(jī),該微型計(jì)算機(jī)包括CPU(中央處理單元)61、ROM (只讀存儲(chǔ)器)62和RAM (隨機(jī)存取存儲(chǔ)器)63。處理單元60被配置來根據(jù)ROM62中安裝的程序執(zhí)行預(yù)定處理。例如,預(yù)定處理包括:輸出下載的命令到運(yùn)算單元40而由此導(dǎo)致運(yùn)算單元40讀入配置數(shù)據(jù)的處理;以及用于將輸出信號(hào)輸出到目標(biāo)裝置30的信號(hào)輸出處理。
[0039]接下來,由處理單元60 (更具體地,由CPU 61)執(zhí)行的信號(hào)輸出處理將參照?qǐng)D2被詳細(xì)描述。應(yīng)當(dāng)注意的是,只要信號(hào)處理系統(tǒng)I被激活,信號(hào)輸出處理就被重復(fù)執(zhí)行。
[0040]首先,在步驟S10,處理單元60確定運(yùn)算信號(hào)是否已從運(yùn)算單元40 (更具體地,從FPGA 41的電路配置部413)輸出。
[0041]如果步驟SlO的確定導(dǎo)致回答“否”,則處理單元60等待,直到運(yùn)算信號(hào)從運(yùn)算單元40輸出。
[0042]相反,如果步驟SlO的確定導(dǎo)致回答“是”,則處理進(jìn)行到步驟S20。
[0043]在步驟S20,處理單元60獲取(或接收)從運(yùn)算單元40輸出的運(yùn)算信號(hào)。
[0044]在步驟S30,處理單元60進(jìn)一步確定自步驟S20的運(yùn)算信號(hào)的獲取起逝去的時(shí)間是否長(zhǎng)于或等于預(yù)設(shè)等待時(shí)間。
[0045]另外,等待時(shí)間根據(jù)自配置數(shù)據(jù)中的錯(cuò)誤發(fā)生起直到錯(cuò)誤檢測(cè)信號(hào)從運(yùn)算單元40輸出的時(shí)間長(zhǎng)度被預(yù)設(shè),該錯(cuò)誤檢測(cè)信號(hào)表示異常檢測(cè)部412檢測(cè)到錯(cuò)誤。更特別地,在本實(shí)施例中,等待時(shí)間為預(yù)設(shè)的,從而長(zhǎng)于或等于最大所需檢測(cè)時(shí)間。
[0046]如果步驟S30的確定導(dǎo)致回答“否”,則處理單元60等待直到逝去的時(shí)間變?yōu)殚L(zhǎng)于或等于預(yù)設(shè)等待時(shí)間。
[0047]相反,如果步驟S30的確定導(dǎo)致回答“是”,則處理進(jìn)行到步驟S40。
[0048]在步驟S40,處理單元60進(jìn)一步確定在配置數(shù)據(jù)中是否已發(fā)生錯(cuò)誤。更具體地,在該步驟,處理單元60獲取從運(yùn)算單元40(更具體地,從FPGA41的異常檢測(cè)部412)輸出的錯(cuò)誤檢測(cè)信號(hào)并且確定錯(cuò)誤檢測(cè)信號(hào)是等于邏輯值I還是O。
[0049]如果步驟S40的確定導(dǎo)致回答“否”,即,如果錯(cuò)誤檢測(cè)信號(hào)等于邏輯值0,則處理進(jìn)行到步驟S50。
[0050]在步驟S50,處理單元60處理從運(yùn)算單元40輸出的運(yùn)算信號(hào),來產(chǎn)生目標(biāo)控制信號(hào)以控制目標(biāo)裝置30 ο更具體地,在該步驟,處理單元60通過基于從運(yùn)算單元40輸出的運(yùn)算信號(hào)執(zhí)行預(yù)定運(yùn)算來產(chǎn)生目標(biāo)控制信號(hào)。
[0051]在后續(xù)步驟S60,處理單元60將目標(biāo)控制信號(hào)作為輸出信號(hào)輸出到目標(biāo)裝置30。然后,處理回到步驟S10。
[0052]另一方面,如果步驟S40的確定導(dǎo)致回答“是”,即,如果錯(cuò)誤檢測(cè)信號(hào)等于邏輯值1,則處理進(jìn)行到步驟S70。
[0053]在步驟S70,處理單元60產(chǎn)生錯(cuò)誤信號(hào),錯(cuò)誤信號(hào)表示在配置數(shù)據(jù)中已發(fā)生錯(cuò)誤并且由此從運(yùn)算單元40輸出的運(yùn)算信號(hào)是錯(cuò)誤的。
[0054]另外,在本實(shí)施例中,處理單元60產(chǎn)生錯(cuò)誤信號(hào)以表示信號(hào)處理設(shè)備20處于不輸出目標(biāo)控制信號(hào)的狀態(tài)。更具體地,處理單元60將錯(cuò)誤信號(hào)產(chǎn)生為這樣的信號(hào),S卩,例如邏輯值O被保持給定的持續(xù)時(shí)間的信號(hào)。
[0055]在后續(xù)步驟S80,處理單元60將錯(cuò)誤信號(hào)作為輸出信號(hào)輸出到目標(biāo)裝置30。然后,處理回到步驟S10。
[0056]接下來,根據(jù)本實(shí)施例的信號(hào)處理設(shè)備20的操作將參照?qǐng)D3被描述。
[0057]在信號(hào)處理設(shè)備20中,一旦例如在信號(hào)處理系統(tǒng)I的操作期間在時(shí)刻tl配置數(shù)據(jù)中發(fā)生錯(cuò)誤,則在自時(shí)刻tl起的所需檢測(cè)時(shí)間Tk之后的時(shí)刻t2,將錯(cuò)誤檢測(cè)信號(hào)從運(yùn)算單元40的異常檢測(cè)部412輸出到處理單元60。
[0058]如先前描述的,在本實(shí)施例中,配置數(shù)據(jù)基于幀被記錄于運(yùn)算單元40的配置記錄部411中。此外,運(yùn)算單元40的異常檢測(cè)部412也基于幀執(zhí)行錯(cuò)誤檢測(cè)。換言之,異常檢測(cè)部412針對(duì)記錄于配置記錄部411中的配置數(shù)據(jù)的每幀順序地執(zhí)行錯(cuò)誤檢測(cè)。因此,所需檢測(cè)時(shí)間Tk依據(jù)配置數(shù)據(jù)中已發(fā)生錯(cuò)誤的位置和在發(fā)生錯(cuò)誤時(shí)異常檢測(cè)部412正執(zhí)行基于幀的錯(cuò)誤檢測(cè)所針對(duì)的配置數(shù)據(jù)的幀來變化。
[0059]處理單元60在自從運(yùn)算單元40輸出的運(yùn)算信號(hào)的獲取起的預(yù)設(shè)等待時(shí)間Tw之后,根據(jù)由錯(cuò)誤檢測(cè)信號(hào)表示的錯(cuò)誤檢測(cè)結(jié)果,要么將目標(biāo)控制信號(hào)作為輸出信號(hào)要么將錯(cuò)誤信號(hào)作為輸出信號(hào)輸出到目標(biāo)裝置30。因此,一旦在配置數(shù)據(jù)中發(fā)生錯(cuò)誤,處理單元60就輸出錯(cuò)誤信號(hào)而不是基于從運(yùn)算單元40輸出的錯(cuò)誤的運(yùn)算信號(hào)產(chǎn)生的目標(biāo)控制信號(hào)。因而,能夠在繼續(xù)信號(hào)處理系統(tǒng)I的操作的同時(shí),防止錯(cuò)誤的目標(biāo)控制信號(hào)輸出到目標(biāo)裝置30。
[0060]根據(jù)本實(shí)施例,能夠?qū)崿F(xiàn)下述有益效果。
[0061](I)在本實(shí)施例中,處理單元60被配置來在運(yùn)算信號(hào)的獲取之后進(jìn)一步獲取從異常檢測(cè)部412輸出的錯(cuò)誤檢測(cè)信號(hào)并且依據(jù)由錯(cuò)誤檢測(cè)信號(hào)表示的錯(cuò)誤檢測(cè)結(jié)果輸出輸出信號(hào)。更具體地,在本實(shí)施例中,處理單元60被配置來在從運(yùn)算信號(hào)的獲取起預(yù)設(shè)等待時(shí)間Tw之后,根據(jù)由錯(cuò)誤檢測(cè)信號(hào)表示的錯(cuò)誤檢測(cè)結(jié)果要么將目標(biāo)控制信號(hào)作為輸出信號(hào)要么將錯(cuò)誤信號(hào)作為輸出信號(hào)輸出到目標(biāo)裝置30。如先前描述的,等待時(shí)間Tw是根據(jù)自配置數(shù)據(jù)中發(fā)生錯(cuò)誤起直到錯(cuò)誤檢測(cè)信號(hào)從運(yùn)算單元40輸出的時(shí)間長(zhǎng)度來預(yù)設(shè)的,該錯(cuò)誤檢測(cè)信號(hào)表示異常檢測(cè)部412檢測(cè)到錯(cuò)誤。因此,當(dāng)記錄于配置記錄部411中的配置數(shù)據(jù)已發(fā)生錯(cuò)誤時(shí),換言之,當(dāng)運(yùn)算單元40的電路配置已發(fā)生異常時(shí),包含錯(cuò)誤的目標(biāo)控制信號(hào)被防止從處理單元60輸出。結(jié)果,能夠在不將信號(hào)處理設(shè)備20配置為具有冗余的情況下,防止包含錯(cuò)誤的數(shù)據(jù)從信號(hào)處理設(shè)備20輸出到目標(biāo)裝置30。
[0062]相反,在圖4中所示的比較性示例中,處理單元60輸出目標(biāo)控制信號(hào)而不等待自運(yùn)算信號(hào)的獲取起的預(yù)設(shè)等待時(shí)間。此外,只有在接收到表示在配置數(shù)據(jù)中已發(fā)生錯(cuò)誤的錯(cuò)誤檢測(cè)信號(hào)時(shí),處理單元60才會(huì)停止輸出目標(biāo)控制信號(hào)。因此,在處理單元60接收到錯(cuò)誤檢測(cè)信號(hào)而停