国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      只讀存儲(chǔ)器數(shù)據(jù)修補(bǔ)電路和方法、及其嵌入式系統(tǒng)的制作方法

      文檔序號(hào):6610958閱讀:313來(lái)源:國(guó)知局
      專利名稱:只讀存儲(chǔ)器數(shù)據(jù)修補(bǔ)電路和方法、及其嵌入式系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種半導(dǎo)體器件,并特別是一種ROM數(shù)據(jù)修補(bǔ)(patch)電路、包括該修補(bǔ)電路的嵌入式系統(tǒng)以及修補(bǔ)ROM數(shù)據(jù)的方法。
      背景技術(shù)
      嵌入式系統(tǒng)一般包括控制例如機(jī)械裝置、電子裝置等系統(tǒng)的微處理器。此嵌入式系統(tǒng)典型地可通過單片形式來(lái)實(shí)現(xiàn)。對(duì)裝置進(jìn)行操作的軟件不是從外部存儲(chǔ)器讀取,而是存儲(chǔ)在嵌入式系統(tǒng)的芯片中。
      典型的嵌入式系統(tǒng)把要運(yùn)行的程序和用于操作系統(tǒng)的數(shù)據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)中。與ROM相反,使用隨機(jī)存取存儲(chǔ)器(RAM)將使得能夠修改存儲(chǔ)的程序和數(shù)據(jù)。但是,與包括ROM作為存儲(chǔ)器件的嵌入式系統(tǒng)相比,包括RAM作為存儲(chǔ)器件的嵌入式系統(tǒng)的生產(chǎn)成本相對(duì)高。
      因此,在典型的嵌入式系統(tǒng)中,程序和數(shù)據(jù)存儲(chǔ)在RAM中用于系統(tǒng)開發(fā),并然后在完成系統(tǒng)開發(fā)后將其存儲(chǔ)在ROM中。
      圖1是圖示了嵌入式系統(tǒng)的數(shù)據(jù)存取路徑的方框圖。
      參考圖1,嵌入式系統(tǒng)100包括處理器110、程序ROM 120、數(shù)據(jù)ROM130和RAM 140。處理器110通過地址總線160輸出ROM的讀取地址來(lái)讀取存儲(chǔ)在ROM 120和130中的程序及數(shù)據(jù)。讀取的程序代碼和讀取的數(shù)據(jù)通過數(shù)據(jù)總線150傳送到處理器110或存儲(chǔ)在RAM 140中。
      在完成系統(tǒng)開發(fā)后,例如,在程序代碼發(fā)生錯(cuò)誤或者存儲(chǔ)在ROM中的數(shù)據(jù)需要修改或升級(jí)以改進(jìn)系統(tǒng)性能的情況下,程序和/或數(shù)據(jù)可能需要修改或升級(jí)。
      在這些和其它情形下,放棄已經(jīng)制造的產(chǎn)品以及制造用于存儲(chǔ)修改程序代碼和數(shù)據(jù)的新芯片都是低效的。另外,由于程序代碼和數(shù)據(jù)是在半導(dǎo)體存儲(chǔ)器件的制造過程中存儲(chǔ)在ROM中的,所以改變新芯片的制造處理會(huì)導(dǎo)致時(shí)間和金錢成本。因此,當(dāng)需要用修補(bǔ)程序代碼和/或修補(bǔ)數(shù)據(jù)修改存儲(chǔ)在ROM中的部分?jǐn)?shù)據(jù)和程序時(shí),使用已經(jīng)制定的產(chǎn)品是很困難的。
      正如在美國(guó)專利第5,940,850號(hào)中公開的那樣,修補(bǔ)存儲(chǔ)在RAM中的程序的裝置和方法是可用的,但是修補(bǔ)存儲(chǔ)在ROM中的數(shù)據(jù)的裝置和方法不能廣泛使用。因?yàn)榇鎯?chǔ)在ROM中的數(shù)據(jù)是固定的表值形式,出錯(cuò)的概率相對(duì)低。但是,出錯(cuò)的概率不為零,就像前文描述的那樣,需要升級(jí)在ROM中存儲(chǔ)的數(shù)據(jù),從而改進(jìn)系統(tǒng)性能等。
      修補(bǔ)存儲(chǔ)在ROM中的數(shù)據(jù)的方法可與修補(bǔ)程序的方法類似。當(dāng)修補(bǔ)程序時(shí),需要一種確定待修改程序塊的起始地址并將ROM的起始地址移位到RAM的對(duì)應(yīng)地址的方法。但是,修補(bǔ)數(shù)據(jù)時(shí),由于可能不能明確限定數(shù)據(jù)塊,所以需要復(fù)雜的比較器。對(duì)于復(fù)雜的數(shù)據(jù)修補(bǔ)電路,在讀取命令后輸出讀取地址到地址總線可能會(huì)有延遲,并且這樣的延遲可降低系統(tǒng)性能。
      所以,需要一種修補(bǔ)ROM數(shù)據(jù)的裝置和方法,其中可以使用已經(jīng)制定的數(shù)據(jù)ROM,而不會(huì)降低系統(tǒng)性能。

      發(fā)明內(nèi)容
      根據(jù)本發(fā)明的示意性實(shí)施例,ROM數(shù)據(jù)修補(bǔ)電路基于修補(bǔ)信息,而用在N(N為自然數(shù))個(gè)RAM修補(bǔ)塊中存儲(chǔ)的修補(bǔ)數(shù)據(jù)來(lái)替換在N個(gè)修改ROM數(shù)據(jù)塊中存儲(chǔ)的ROM數(shù)據(jù)。ROM數(shù)據(jù)修補(bǔ)電路包括數(shù)據(jù)修補(bǔ)檢測(cè)單元、RAM地址生成單元以及地址選擇單元。該數(shù)據(jù)修補(bǔ)檢測(cè)單元生成N個(gè)偏移選擇信號(hào)和地址選擇信號(hào)。所述N個(gè)偏移選擇信號(hào)指明ROM的讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一塊,以及該地址選擇信號(hào)表示該ROM的讀取地址是否屬于這N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。該RAM地址生成單元基于偏移選擇信號(hào)生成與ROM的讀取地址對(duì)應(yīng)的RAM的讀取地址。該地址選擇單元基于地址選擇信號(hào)輸出ROM的讀取地址和RAM的讀取地址之一。
      該修補(bǔ)信息包括N個(gè)修改ROM數(shù)據(jù)塊的N個(gè)起始地址、N個(gè)數(shù)據(jù)塊的長(zhǎng)度、N個(gè)偏移以及控制修補(bǔ)操作的修補(bǔ)使能信號(hào)。N個(gè)偏移中的每個(gè)表示修改ROM數(shù)據(jù)塊的地址與對(duì)應(yīng)的RAM修補(bǔ)塊的地址之間的每一差值。該ROM數(shù)據(jù)修補(bǔ)電路可以進(jìn)一步包括用于存儲(chǔ)修補(bǔ)信息的寄存器。當(dāng)ROM的讀取地址屬于這N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)而且修補(bǔ)使能信號(hào)為邏輯高時(shí),該地址選擇信號(hào)可以為邏輯高;而當(dāng)ROM的讀取地址不屬于這N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),該地址選擇信號(hào)可以為邏輯低。
      該數(shù)據(jù)修補(bǔ)檢測(cè)單元包括N個(gè)比較器單元、或門和第一與門。當(dāng)ROM的讀取地址屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),N個(gè)比較器單元分別生成邏輯高的偏移選擇信號(hào);而當(dāng)ROM的讀取地址不屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),N個(gè)比較器單元分別生成為邏輯低的偏移選擇信號(hào)?;蜷T對(duì)N個(gè)比較器單元生成的N個(gè)偏移選擇信號(hào)執(zhí)行或操作。第一與門對(duì)或門的輸出信號(hào)和修補(bǔ)使能信號(hào)執(zhí)行與操作,以生成地址選擇信號(hào)。
      N個(gè)比較器單元中的每一單元,例如N個(gè)比較器單元中的第K(K為不大于N的自然數(shù))個(gè)單元,可以包括下限比較器、加法器、上限比較器和第二與門。當(dāng)ROM的讀取地址不小于N個(gè)起始地址中的第K個(gè)起始地址時(shí),下限比較器輸出為邏輯高的第一信號(hào)。加法器輸出第K個(gè)起始地址和N個(gè)數(shù)據(jù)塊長(zhǎng)度中的第K個(gè)數(shù)據(jù)塊長(zhǎng)度之和。當(dāng)ROM的讀取地址不大于加法器的輸出時(shí),上限比較器輸出為邏輯高的第二信號(hào)。第二與門對(duì)第一信號(hào)與第二信號(hào)執(zhí)行與操作,以生成N個(gè)偏移選擇信號(hào)中的第K個(gè)偏移選擇信號(hào)。
      RAM地址生成單元可以包括偏移選擇器和偏移加法器。偏移選擇器基于所述N個(gè)偏移選擇信號(hào),而輸出該N個(gè)偏移之中的、與ROM讀取地址所屬的修改ROM數(shù)據(jù)塊對(duì)應(yīng)的偏移。偏移加法器將ROM的讀取地址與從偏移選擇器輸出的偏移量相加,從而輸出RAM的讀取地址。
      當(dāng)修補(bǔ)使能信號(hào)為邏輯低時(shí),地址選擇單元選擇并輸出ROM的讀取地址,而不考慮該ROM的讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。地址選擇單元可以包括多路復(fù)用器,該多路復(fù)用器基于地址選擇信號(hào)而輸出ROM的讀取地址和RAM的讀取地址之一。
      依據(jù)本發(fā)明的示意性實(shí)施例,嵌入式系統(tǒng)包括處理器、存儲(chǔ)處理器所處理的數(shù)據(jù)的數(shù)據(jù)ROM、存儲(chǔ)修補(bǔ)數(shù)據(jù)以替換數(shù)據(jù)ROM中存儲(chǔ)的數(shù)據(jù)的RAM、存儲(chǔ)修補(bǔ)信息的寄存器、以及基于修補(bǔ)信息及ROM的讀取地址而輸出ROM讀取地址和與該ROM讀取地址對(duì)應(yīng)的RAM讀取地址之一的ROM數(shù)據(jù)修補(bǔ)電路。修補(bǔ)數(shù)據(jù)可以由外部可編程ROM提供,并且在引導(dǎo)處理期間存儲(chǔ)在RAM中。
      依據(jù)本發(fā)明的示意性實(shí)施例,一種修補(bǔ)ROM數(shù)據(jù)的方法包括提供替換存儲(chǔ)在N個(gè)修改ROM數(shù)據(jù)塊中的數(shù)據(jù)的修補(bǔ)數(shù)據(jù)和修補(bǔ)信息,分別將修補(bǔ)數(shù)據(jù)存儲(chǔ)在N個(gè)RAM修補(bǔ)塊中,以及基于修補(bǔ)信息和ROM讀取地址輸出ROM讀取地址和與ROM讀取地址對(duì)應(yīng)的RAM讀取地址之一。該修補(bǔ)ROM數(shù)據(jù)的方法可以進(jìn)一步包括將修補(bǔ)信息存儲(chǔ)在寄存器中。
      輸出RAM讀取地址和ROM讀取地址之一的方法可以包括生成N個(gè)偏移選擇信號(hào),該偏移選擇信號(hào)指明ROM的讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一塊;生成地址選擇信號(hào),該地址選擇信號(hào)表示ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任一個(gè);以及基于偏移選擇信號(hào)生成與ROM讀取地址對(duì)應(yīng)的RAM讀取地址,并基于地址選擇信號(hào)輸出ROM讀取地址和RAM讀取地址之一。


      通過參考附圖詳細(xì)地描述本發(fā)明的示范性實(shí)施例,本發(fā)明將變得更加顯而易見,其中圖1是圖示了傳統(tǒng)常規(guī)嵌入式系統(tǒng)的數(shù)據(jù)訪問路徑的框圖。
      圖2是圖示了根據(jù)本發(fā)明示意性實(shí)施例的包括ROM數(shù)據(jù)修補(bǔ)電路的嵌入式系統(tǒng)的框圖。
      圖3是描述修改ROM數(shù)據(jù)塊和對(duì)應(yīng)的RAM修補(bǔ)塊之間的關(guān)系的圖。
      圖4是圖示了依據(jù)本發(fā)明示意性實(shí)施例的ROM數(shù)據(jù)修補(bǔ)電路的框圖。
      圖5是圖示了圖4中的數(shù)據(jù)修補(bǔ)檢測(cè)單元的電路圖。
      圖6是圖示了圖5中的比較器單元的電路圖。
      圖7是圖示了圖4中的RAM地址生成單元的框圖。
      圖8是圖示了依據(jù)本發(fā)明示意性實(shí)施例的修補(bǔ)ROM數(shù)據(jù)的方法的流程圖。
      具體實(shí)施例方式
      現(xiàn)在,將參考其中示出了本發(fā)明實(shí)施例的附圖而更加全面地描述本發(fā)明的實(shí)施例。但是,本發(fā)明可以以許多不同形式實(shí)施,并不應(yīng)被解釋為限于在此提出的實(shí)施例。相反,提供這些實(shí)施例,使得該公開全面徹底,并且該公開將本發(fā)明的范圍完整地傳達(dá)給本領(lǐng)域普通技術(shù)人員。在整個(gè)申請(qǐng)中,相同的附圖標(biāo)記始終表示相同的部件。
      圖2是圖示了根據(jù)本發(fā)明示意性實(shí)施例的包括ROM數(shù)據(jù)修補(bǔ)電路的嵌入式系統(tǒng)的框圖。
      參見圖2,嵌入式系統(tǒng)200包括處理器210、程序ROM 220、數(shù)據(jù)ROM230、RAM 240、寄存器單元270以及ROM數(shù)據(jù)修補(bǔ)電路280。
      處理器210通過數(shù)據(jù)總線250和地址總線260控制嵌入式系統(tǒng)200。處理器210執(zhí)行系統(tǒng)操作需要的各種操作,并通過地址總線260輸出讀取地址或?qū)懭氲刂贰4鎯?chǔ)在ROM 220和230的讀取地址或者RAM 240的讀取地址處的程序代碼或數(shù)據(jù)通過數(shù)據(jù)總線250而傳送。另外,要寫入RAM 240的寫入地址處的數(shù)據(jù)通過地址總線250而傳送到RAM 240。
      程序ROM 220與數(shù)據(jù)ROM 230可以是物理上分離的獨(dú)立存儲(chǔ)器件,或者可以是同一存儲(chǔ)器件內(nèi)邏輯上分離的獨(dú)立空間。
      修改ROM數(shù)據(jù)塊被定義為數(shù)據(jù)ROM 230的邏輯空間,其中存儲(chǔ)要修改的ROM數(shù)據(jù)。RAM修補(bǔ)塊被定義為RAM 240的邏輯空間,其中存儲(chǔ)修補(bǔ)數(shù)據(jù)以替換修改ROM數(shù)據(jù)塊中的數(shù)據(jù)??梢杂卸鄠€(gè)修改ROM數(shù)據(jù)塊和RAM修補(bǔ)塊。每一個(gè)修改ROM數(shù)據(jù)塊的長(zhǎng)度與對(duì)應(yīng)的RAM修補(bǔ)塊長(zhǎng)度相同。
      修補(bǔ)數(shù)據(jù)可以存儲(chǔ)在可編程ROM中。如果已升級(jí)的數(shù)據(jù)已校正了錯(cuò)誤,存儲(chǔ)在可編程ROM中的修補(bǔ)數(shù)據(jù)可以在嵌入式系統(tǒng)200的引導(dǎo)處理期間加載到RAM 230的RAM修補(bǔ)塊中。
      寄存器單元270存儲(chǔ)用于替換數(shù)據(jù)的修補(bǔ)信息,而ROM數(shù)據(jù)修補(bǔ)電路280基于修補(bǔ)信息和ROM讀取地址輸出ROM讀取地址和與ROM讀取地址對(duì)應(yīng)的RAM讀取地址之一。ROM數(shù)據(jù)修補(bǔ)電路280的詳細(xì)結(jié)構(gòu)和操作在下文描述。
      修補(bǔ)信息可以包括RAM修補(bǔ)塊的起始地址、數(shù)據(jù)塊長(zhǎng)度、偏移量以及用于控制修補(bǔ)操作的修補(bǔ)使能信號(hào)。每個(gè)偏移量表示修改ROM數(shù)據(jù)塊地址與對(duì)應(yīng)的RAM修補(bǔ)塊的地址之間的差值。該起始地址和數(shù)據(jù)塊長(zhǎng)度存儲(chǔ)在具有修補(bǔ)數(shù)據(jù)的可編程ROM中,并可以在嵌入式系統(tǒng)200的引導(dǎo)處理期間加載到寄存器單元270中。在嵌入式系統(tǒng)200的引導(dǎo)處理期間,處理器210在修補(bǔ)數(shù)據(jù)加載后檢測(cè)偏移量,并將檢測(cè)到的偏移量存儲(chǔ)到寄存器單元270中。
      圖3是描述修改ROM數(shù)據(jù)塊和對(duì)應(yīng)的RAM修補(bǔ)塊之間的關(guān)系的圖。雖然圖3中圖示了一個(gè)修改ROM數(shù)據(jù)塊,但在ROM中還可存在多個(gè)修改ROM數(shù)據(jù)塊。
      參見圖3,偏移量OFS表示修改ROM數(shù)據(jù)塊235的起始地址SADD與對(duì)應(yīng)的RAM修補(bǔ)塊的起始地址SADD之間的差值。修改ROM數(shù)據(jù)塊存儲(chǔ)要修改的ROM數(shù)據(jù),以及RAM修補(bǔ)塊245存儲(chǔ)修補(bǔ)數(shù)據(jù)用于替換修改ROM數(shù)據(jù)塊中存儲(chǔ)的數(shù)據(jù)。如上文提到的,要修改的ROM數(shù)據(jù)量與對(duì)應(yīng)修補(bǔ)數(shù)據(jù)量彼此相同。因此,修改ROM數(shù)據(jù)塊235的數(shù)據(jù)塊長(zhǎng)度DBL與對(duì)應(yīng)的RAM修補(bǔ)塊245的數(shù)據(jù)塊長(zhǎng)度DBL彼此相同。將修補(bǔ)數(shù)據(jù)存儲(chǔ)在可通過將偏移量OFS與存儲(chǔ)對(duì)應(yīng)的ROM數(shù)據(jù)的ROM讀取地址相加所計(jì)算得到的RAM的讀取地址處。
      從而,為了讀取修補(bǔ)數(shù)據(jù)而不是ROM數(shù)據(jù),將對(duì)應(yīng)的RAM讀取地址(而不是ROM的讀取地址)輸出到地址總線即足夠了。其它操作與傳統(tǒng)數(shù)據(jù)處理操作相同。也就是說(shuō),當(dāng)收到與包括在修改ROM數(shù)據(jù)塊235中的ROM讀取地址有關(guān)的讀取命令時(shí),能夠通過將RAM的讀取地址輸出到地址總線,而用修補(bǔ)數(shù)據(jù)替換存儲(chǔ)在該ROM讀取地址處的ROM數(shù)據(jù),這里RAM的讀取地址等于ROM的讀取地址加上偏移量。
      當(dāng)存在N(N為自然數(shù))個(gè)修改ROM數(shù)據(jù)塊235時(shí),分別需要N個(gè)起始地址SADD、N個(gè)數(shù)據(jù)塊長(zhǎng)度和N個(gè)偏移量。該修補(bǔ)信息在引導(dǎo)處理期間提供給嵌入式系統(tǒng)200,并可以存儲(chǔ)在寄存器單元270處。
      圖4是圖示了根據(jù)本發(fā)明示意性實(shí)施例的ROM數(shù)據(jù)修補(bǔ)電路的框圖。
      參見圖4,ROM數(shù)據(jù)修補(bǔ)電路280包括數(shù)據(jù)修補(bǔ)檢測(cè)單元410、RAM地址生成單元430和地址選擇單元450。
      當(dāng)從處理器接收到ROM數(shù)據(jù)的讀取命令時(shí),ROM數(shù)據(jù)修補(bǔ)電路280基于ROM讀取地址ROMADD和修補(bǔ)信息SADD、DBL、OFS及ENB,檢測(cè)讀取的ROM數(shù)據(jù)是否屬于N個(gè)修改ROM數(shù)據(jù)塊235中的任意一個(gè)。當(dāng)ROM的讀取地址ROMADD不屬于這N個(gè)修改數(shù)據(jù)塊235中的任意一個(gè)時(shí),ROM數(shù)據(jù)修補(bǔ)電路280將ROM讀取地址ROMADD輸出到地址總線。否則,當(dāng)ROM的讀取地址ROMADD屬于這N個(gè)修改數(shù)據(jù)塊235中的任意一個(gè)時(shí),ROM數(shù)據(jù)修補(bǔ)電路280將RAM的讀取地址RAMADD輸出到地址總線,在該地址處存儲(chǔ)有對(duì)應(yīng)的修補(bǔ)數(shù)據(jù)。
      基于ROM的讀取地址ROMADD、起始地址SADD、數(shù)據(jù)塊長(zhǎng)度DBL和修補(bǔ)使能信號(hào)ENB,數(shù)據(jù)修補(bǔ)檢測(cè)單元410輸出偏移選擇信號(hào)OFFSL和地址選擇信號(hào)ADDSL。偏移選擇信號(hào)OFFSL尋址ROM的讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè),而地址選擇信號(hào)用來(lái)決定ROM讀取地址ROMADD和RAM讀取地址RAMADD中的哪一個(gè)從地址選擇單元450輸出。
      基于ROM的讀取地址ROMADD、偏移量OFS和偏移選擇信號(hào)OFSSL,RAM地址生成單元430生成與ROM的讀取地址ROMADD對(duì)應(yīng)的RAM讀取地址RAMADD。
      地址選擇單元450基于地址選擇信號(hào)ADDSL輸出ROM讀取地址ROMADD和RAM讀取地址RAMADD之一。例如,對(duì)于地址選擇單元450輸出到地址總線260的選定地址SLADD,當(dāng)?shù)刂愤x擇信號(hào)ADDSL為邏輯低時(shí),該選定地址SLADD可以是ROM的讀取地址ROMADD;當(dāng)?shù)刂愤x擇信號(hào)ADDSL為邏輯高時(shí),該選定地址SLADD可以是RAM的讀取地址RAMADD。
      地址選擇單元450可以包括多路復(fù)用器,該多路復(fù)用器基于地址選擇信號(hào)ADDSL而輸出ROM讀取地址ROMADD和RAM讀取地址RAMADD之一。
      圖5是圖示了圖4中的數(shù)據(jù)修補(bǔ)檢測(cè)單元410的電路圖。
      數(shù)據(jù)修補(bǔ)檢測(cè)單元410包括第一、第二和第三比較器單元510、520和530、或門540、以及與門550。雖然圖5中描述了三個(gè)比較器單元,但是本領(lǐng)域普通技術(shù)人員應(yīng)該理解,可以實(shí)現(xiàn)不同數(shù)目的比較器單元,例如根據(jù)包括要修改的ROM數(shù)據(jù)的修改ROM數(shù)據(jù)塊的數(shù)目確定比較器單元的數(shù)目。
      第一個(gè)比較器單元510基于第一修改ROM數(shù)據(jù)塊的第一數(shù)據(jù)塊長(zhǎng)度DBL1和第一起始地址SADD1生成第一偏移選擇信號(hào)OFFSL1,該第一偏移選擇信號(hào)OFFSL1表示ROM讀取地址ROMADD是否屬于第一修改ROM數(shù)據(jù)塊。例如,當(dāng)ROM讀取地址ROMADD不小于第一起始地址SADD1而且不大于第一起始地址SADD1與第一數(shù)據(jù)塊長(zhǎng)度DBL1之和時(shí),第一偏移選擇信號(hào)OFFSL1可以為邏輯高;其它情形時(shí)第一偏移選擇信號(hào)OFFSL1為邏輯低。第二比較器單元520和第三比較器單元530的操作基本上與第一比較器單元510相同,并因此省略了對(duì)它們的描述。
      當(dāng)ROM讀取地址ROMADD屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)時(shí),偏移選擇信號(hào)OFSSL1、OFSSL2和OFSSL3中的偏移選擇信號(hào)例如為邏輯高。這些偏移選擇信號(hào)的組合指明RAM的讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè)。當(dāng)RAM的讀取地址不屬于修改ROM數(shù)據(jù)塊中的任意一個(gè)時(shí),所有的偏移選擇信號(hào)都是邏輯低。
      或門540對(duì)偏移選擇信號(hào)OFSSL1、OFSSL2和OFSSL3執(zhí)行或操作。當(dāng)ROM讀取地址ROMADD屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)時(shí),或門540的輸出信號(hào)可以為邏輯高;反之,當(dāng)ROM讀取地址ROMADD不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)時(shí),或門540的輸出信號(hào)可以為邏輯低。
      與門550對(duì)或門540的輸出信號(hào)和修補(bǔ)使能信號(hào)ENB執(zhí)行與操作,以輸出地址選擇信號(hào)ADDSL。當(dāng)ROM讀取地址ROMADD屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)以及修補(bǔ)使能信號(hào)為邏輯高時(shí),地址選擇信號(hào)ADDSL為邏輯高。當(dāng)ROM讀取地址ROMADD不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),地址選擇信號(hào)為邏輯低。結(jié)果,當(dāng)?shù)刂愤x擇信號(hào)ADDSL為邏輯低時(shí),圖4中的地址選擇單元450輸出ROM讀取地址ROMADD;當(dāng)?shù)刂愤x擇信號(hào)ADDSL為邏輯高時(shí),圖4中的地址選擇單元450輸出RAM讀取地址RAMADD。
      修補(bǔ)使能信號(hào)ENB是用來(lái)控制ROM數(shù)據(jù)修補(bǔ)電路的修補(bǔ)操作的信號(hào)。當(dāng)修改ROM數(shù)據(jù)時(shí),修補(bǔ)使能信號(hào)被設(shè)置為邏輯高,反之當(dāng)沒有修改ROM數(shù)據(jù)時(shí),修補(bǔ)使能信號(hào)被設(shè)置為邏輯低。即使修改ROM數(shù)據(jù),也能根據(jù)特定需求而阻止修補(bǔ)ROM數(shù)據(jù)。也就是說(shuō),當(dāng)修補(bǔ)使能信號(hào)設(shè)置為邏輯低時(shí),地址選擇單元450選擇并輸出ROM的讀取地址ROMADD,而不考慮該ROM讀取地址是否屬于的N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。
      圖6是圖示了圖5中所示的示例性比較器單元例如510的電路圖。
      參見圖6,比較器單元600包括下限比較器610、上限比較器620、加法器630以及與門640。
      下限比較器610輸出第一信號(hào),當(dāng)ROM的讀取地址ROMADD不小于起始地址SADD時(shí),第一信號(hào)為邏輯高;當(dāng)ROM的讀取地址ROMADD小于起始地址時(shí),第一信號(hào)為邏輯低。
      加法器630輸出起始地址SADD與數(shù)據(jù)塊長(zhǎng)度DBL之和。
      上限比較器620輸出第二信號(hào),當(dāng)ROM的讀取地址ROMADD不大于加法器630的輸出時(shí),第二信號(hào)為邏輯高;當(dāng)ROM的讀取地址ROMADD大于加法器630的輸出時(shí),第二信號(hào)為邏輯低。
      與門640對(duì)第一信號(hào)和第二信號(hào)執(zhí)行與操作,以生成偏移選擇信號(hào)OFSSL。
      圖7是圖示了圖4中的RAM地址生成單元430的框圖。
      參見圖7,RAM地址生成單元430包括偏移選擇器710和偏移加法器720。
      偏移選擇器710基于偏移選擇信號(hào)OFFSL1、OFFSL2和OFFSL3,而輸出偏移量OFS1、OFS2和OFS3當(dāng)中的、與ROM讀取地址所屬的修改ROM數(shù)據(jù)塊對(duì)應(yīng)的偏移量。也就是說(shuō),當(dāng)?shù)趉偏移選擇信號(hào)OFFSLK為邏輯高時(shí),偏移選擇器710選擇并輸出第k偏移量OFSK到偏移加法器720,以上例子中的K為1、2或3。
      偏移加法器720通過將ROM的讀取地址ROMADD與選定的偏移量相加而輸出RAM的讀取地址。在從偏移加法器720中輸出的RAM讀取地址RAMADD處存儲(chǔ)用于替換ROM讀取地址處存儲(chǔ)的要替換的數(shù)據(jù)的修補(bǔ)數(shù)據(jù)。
      圖8是圖示了根據(jù)本發(fā)明示意性實(shí)施例的修補(bǔ)ROM數(shù)據(jù)的方法的流程圖。
      參見圖8,修補(bǔ)ROM數(shù)據(jù)的方法包括提供用于替換在N(N為自然數(shù))個(gè)修改ROM數(shù)據(jù)塊中存儲(chǔ)的數(shù)據(jù)的修補(bǔ)數(shù)據(jù)和修補(bǔ)信息(方框S810),將修補(bǔ)數(shù)據(jù)分別存儲(chǔ)在N個(gè)RAM修補(bǔ)塊中(方框S820)以及基于修補(bǔ)信息和ROM讀取地址而輸出ROM讀取地址和與ROM讀取地址對(duì)應(yīng)的RAM讀取地址之一(方框S830到S860)。
      如上文所描述的,修補(bǔ)信息可以包括N個(gè)修改ROM數(shù)據(jù)塊的起始地址、數(shù)據(jù)塊長(zhǎng)度、偏移量和用于控制修補(bǔ)操作的修補(bǔ)使能信號(hào)。每個(gè)偏移量表示修改ROM數(shù)據(jù)塊地址與對(duì)應(yīng)的RAM修補(bǔ)塊的地址之間的差值。修補(bǔ)信息可以存儲(chǔ)在寄存器單元270中,且當(dāng)讀取數(shù)據(jù)時(shí)使用。
      基于ROM測(cè)試結(jié)果或者按照升級(jí)ROM數(shù)據(jù)的需要,可以在安排于嵌入式系統(tǒng)200之外的可編程ROM 220例如閃存中存儲(chǔ)修補(bǔ)數(shù)據(jù)。在嵌入式系統(tǒng)引導(dǎo)處理期間,將存儲(chǔ)在可編程ROM 220中的修補(bǔ)數(shù)據(jù)加載到RAM 240中(方框S820)。
      基于N個(gè)修改ROM數(shù)據(jù)塊的起始地址和數(shù)據(jù)塊長(zhǎng)度而生成N個(gè)偏移選擇信號(hào)(方框S830)。N個(gè)偏移選擇信號(hào)指明ROM的讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè)。
      基于偏移選擇信號(hào)生成地址選擇信號(hào),該地址選擇信號(hào)表示ROM的讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)(方框S840)。
      基于偏移選擇信號(hào)生成與ROM的讀取地址對(duì)應(yīng)的RAM的讀取地址(方框S850)。
      基于地址選擇信號(hào)而輸出ROM讀取地址與RAM讀取地址之一(方框S860)。當(dāng)ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)并且修補(bǔ)使能信號(hào)為邏輯高時(shí),輸出RAM讀取地址。當(dāng)ROM讀取地址不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),輸出ROM讀取地址。
      如上文描述的,在根據(jù)本發(fā)明實(shí)施例的ROM數(shù)據(jù)修補(bǔ)設(shè)備、嵌入式系統(tǒng)以及修補(bǔ)ROM數(shù)據(jù)的方法中,可以利用存儲(chǔ)在RAM中的修補(bǔ)數(shù)據(jù)來(lái)修改ROM數(shù)據(jù)的錯(cuò)誤以及升級(jí)ROM數(shù)據(jù),而且基本上不會(huì)降低系統(tǒng)性能。
      因此,根據(jù)本發(fā)明示意性實(shí)施例的ROM數(shù)據(jù)修補(bǔ)設(shè)備、嵌入式系統(tǒng)以及修補(bǔ)ROM數(shù)據(jù)的方法通過利用存儲(chǔ)在RAM中的修補(bǔ)數(shù)據(jù)修改ROM數(shù)據(jù)的錯(cuò)誤以及升級(jí)ROM數(shù)據(jù),可以降低制造系統(tǒng)的時(shí)間和成本。
      雖然已詳細(xì)描述了本發(fā)明的示意性實(shí)施例和它們的優(yōu)點(diǎn),但應(yīng)當(dāng)理解,在不脫離本發(fā)明范圍的情況下,可以進(jìn)行各種變化、替換和變形。
      權(quán)利要求
      1.一種只讀存儲(chǔ)器(ROM)數(shù)據(jù)修補(bǔ)電路,用于基于修補(bǔ)信息利用N個(gè)隨機(jī)存取存儲(chǔ)器(RAM)修補(bǔ)塊中存儲(chǔ)的修補(bǔ)數(shù)據(jù)來(lái)替換N個(gè)修改ROM數(shù)據(jù)塊中存儲(chǔ)的ROM數(shù)據(jù),N為自然數(shù),該ROM數(shù)據(jù)修補(bǔ)電路包括數(shù)據(jù)修補(bǔ)檢測(cè)單元,被配置為生成N個(gè)偏移選擇信號(hào)和地址選擇信號(hào),所述N個(gè)偏移選擇信號(hào)指明ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè),該地址選擇信號(hào)表示ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè);RAM地址生成單元,被配置為基于偏移選擇信號(hào)而生成與該ROM讀取地址對(duì)應(yīng)的RAM讀取地址;以及地址選擇單元,被配置為基于地址選擇信號(hào)輸出ROM讀取地址和RAM讀取地址之一。
      2.如權(quán)利要求1所述的ROM數(shù)據(jù)修補(bǔ)電路,其中所述修補(bǔ)信息包括所述N個(gè)修改ROM數(shù)據(jù)塊的N個(gè)起始地址、N個(gè)數(shù)據(jù)塊長(zhǎng)度、N個(gè)偏移量以及用于控制修補(bǔ)操作的修補(bǔ)使能信號(hào),所述N個(gè)偏移量中的每個(gè)表示修改ROM數(shù)據(jù)塊地址與對(duì)應(yīng)的RAM修補(bǔ)塊地址之間的差值。
      3.如權(quán)利要求2所述的ROM數(shù)據(jù)修補(bǔ)電路,其中,當(dāng)ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)而且修補(bǔ)使能信號(hào)為邏輯高時(shí),所述地址選擇信號(hào)為邏輯高;當(dāng)ROM讀取地址不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),所述地址選擇信號(hào)為邏輯低。
      4.如權(quán)利要求3所述的ROM數(shù)據(jù)修補(bǔ)電路,其中,當(dāng)?shù)刂愤x擇信號(hào)為邏輯低時(shí),所述地址選擇單元被配置為輸出ROM讀取地址,而當(dāng)?shù)刂愤x擇信號(hào)為邏輯高時(shí),所述地址選擇單元被配置為輸出RAM讀取地址。
      5.如權(quán)利要求2所述的ROM數(shù)據(jù)修補(bǔ)電路,其中所述數(shù)據(jù)修補(bǔ)檢測(cè)單元包括N個(gè)比較器單元,被配置為用來(lái)分別生成偏移選擇信號(hào),當(dāng)ROM讀取地址屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),該偏移選擇信號(hào)為邏輯高,而當(dāng)ROM讀取地址不屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),該偏移選擇信號(hào)為邏輯低;或門,被配置為對(duì)所述N個(gè)比較器單元生成的所述N個(gè)偏移選擇信號(hào)執(zhí)行或操作;以及第一與門,被配置為對(duì)該或門的輸出信號(hào)和該修補(bǔ)使能信號(hào)執(zhí)行與操作,以生成該地址選擇信號(hào)。
      6.如權(quán)利要求5所述的ROM數(shù)據(jù)修補(bǔ)電路,其中所述N個(gè)比較器單元中的第K比較器單元,K為自然數(shù),包括下限比較器,被配置為當(dāng)ROM讀取地址不小于N個(gè)起始地址中的第K起始地址時(shí),輸出邏輯高的第一信號(hào);加法器,被配置為輸出第K起始地址和N個(gè)數(shù)據(jù)塊長(zhǎng)度中的第K數(shù)據(jù)塊長(zhǎng)度之和;上限比較器,被配置為當(dāng)ROM讀取地址不大于加法器的輸出時(shí),輸出為邏輯高的第二信號(hào);以及第二與門,被配置為對(duì)該第一信號(hào)與該第二信號(hào)執(zhí)行與操作,以生成N個(gè)偏移選擇信號(hào)中的第K偏移選擇信號(hào)。
      7.如權(quán)利要求2所述的ROM數(shù)據(jù)修補(bǔ)電路,其中所述RAM地址生成單元包括偏移選擇器,被配置為基于所述N個(gè)偏移選擇信號(hào)而輸出該N個(gè)偏移量中的、與ROM讀取地址所屬的修改ROM數(shù)據(jù)塊對(duì)應(yīng)的偏移量;以及偏移加法器,被配置為通過將ROM讀取地址與從偏移選擇器輸出的偏移量相加,而輸出RAM讀取地址。
      8.如權(quán)利要求2所述的ROM數(shù)據(jù)修補(bǔ)電路,其中當(dāng)該修補(bǔ)使能信號(hào)為邏輯低時(shí),所述地址選擇單元被配置為選擇并輸出ROM讀取地址,而不考慮該ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。
      9.如權(quán)利要求2所述的ROM數(shù)據(jù)修補(bǔ)電路,其中所述地址選擇單元包括多路復(fù)用器,該多路復(fù)用器被配置為基于地址選擇信號(hào)而輸出ROM讀取地址和RAM讀取地址之一。
      10.如權(quán)利要求1所述的ROM數(shù)據(jù)修補(bǔ)電路,進(jìn)一步包括用于存儲(chǔ)該修補(bǔ)信息的寄存器。
      11.一種嵌入式系統(tǒng),包括處理器;數(shù)據(jù)只讀存儲(chǔ)器(ROM),被配置為存儲(chǔ)由處理器處理的數(shù)據(jù);隨機(jī)存取存儲(chǔ)器(RAM),被配置為存儲(chǔ)修補(bǔ)數(shù)據(jù),用于替換該數(shù)據(jù)ROM中存儲(chǔ)的數(shù)據(jù);寄存器,被配置為存儲(chǔ)修補(bǔ)信息;以及ROM數(shù)據(jù)修補(bǔ)電路,被配置為基于修補(bǔ)信息和ROM讀取地址,而輸出ROM讀取地址和對(duì)應(yīng)于該ROM讀取地址的RAM讀取地址之一。
      12.如權(quán)利要求11所述的嵌入式系統(tǒng),其中所述修補(bǔ)數(shù)據(jù)由外部可編程ROM提供,并在引導(dǎo)處理期間被存儲(chǔ)在RAM中。
      13.如權(quán)利要求11所述的嵌入式系統(tǒng),其中所述ROM數(shù)據(jù)修補(bǔ)電路被配置為基于修補(bǔ)信息利用存儲(chǔ)在N個(gè)RAM修補(bǔ)塊中的修補(bǔ)數(shù)據(jù)來(lái)替換存儲(chǔ)在N個(gè)修改ROM數(shù)據(jù)塊中的數(shù)據(jù),N為自然數(shù),其中所述ROM數(shù)據(jù)修補(bǔ)電路包括數(shù)據(jù)修補(bǔ)檢測(cè)單元,被配置為生成N個(gè)偏移選擇信號(hào)和地址選擇信號(hào),所述N個(gè)偏移選擇信號(hào)指明ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè),該地址選擇信號(hào)表示ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè);RAM地址生成單元,被配置為基于偏移選擇信號(hào)而生成與該ROM讀取地址對(duì)應(yīng)的RAM讀取地址;以及地址選擇單元,被配置為基于地址選擇信號(hào)而輸出ROM讀取地址和RAM讀取地址之一。
      14.如權(quán)利要求13所述的嵌入式系統(tǒng),其中所述修補(bǔ)信息包括N個(gè)修改ROM數(shù)據(jù)塊的N個(gè)起始地址、N個(gè)數(shù)據(jù)塊長(zhǎng)度、N個(gè)偏移量和用來(lái)控制修補(bǔ)操作的修補(bǔ)使能信號(hào),所述N個(gè)偏移量中的每個(gè)表示修改ROM數(shù)據(jù)塊的地址與對(duì)應(yīng)的RAM修補(bǔ)塊的地址之間的差值。
      15.如權(quán)利要求14所述的嵌入式系統(tǒng),其中,當(dāng)ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)而且修補(bǔ)使能信號(hào)為邏輯高時(shí),所述地址選擇信號(hào)為邏輯高;而當(dāng)ROM讀取地址不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),所述地址選擇信號(hào)為邏輯低。
      16.如權(quán)利要求15所述的嵌入式系統(tǒng),其中,當(dāng)?shù)刂愤x擇信號(hào)為邏輯低時(shí),所述地址選擇單元被配置為輸出ROM讀取地址,而當(dāng)?shù)刂愤x擇信號(hào)為邏輯高時(shí),所述地址選擇單元被配置為輸出RAM讀取地址。
      17.如權(quán)利要求14所述的嵌入式系統(tǒng),其中,該數(shù)據(jù)修補(bǔ)檢測(cè)單元包括N個(gè)比較器單元,被配置為用來(lái)分別生成偏移選擇信號(hào),當(dāng)ROM讀取地址屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),該偏移選擇信號(hào)為邏輯高,當(dāng)ROM讀取地址不屬于對(duì)應(yīng)的修改ROM數(shù)據(jù)塊時(shí),該偏移選擇信號(hào)為邏輯低;或門,被配置為對(duì)該N個(gè)比較器單元生成的該N個(gè)偏移選擇信號(hào)執(zhí)行或操作;以及第一與門,被配置為對(duì)該或門的輸出信號(hào)和該修補(bǔ)使能信號(hào)執(zhí)行與操作,以生成該地址選擇信號(hào)。
      18.如權(quán)利要求17所述的嵌入式系統(tǒng),其中所述N個(gè)比較器單元的第K比較器單元,K為不大于N的自然數(shù),包括下限比較器,被配置為當(dāng)ROM讀取地址不小于N個(gè)起始地址中的第K起始地址時(shí),輸出邏輯高的第一信號(hào);加法器,被配置為輸出第K起始地址和N個(gè)數(shù)據(jù)塊長(zhǎng)度中的第K數(shù)據(jù)塊長(zhǎng)度之和;上限比較器,被配置為當(dāng)ROM讀取地址不大于加法器的輸出時(shí),輸出邏輯高的第二信號(hào);以及第二與門,被配置為對(duì)該第一信號(hào)與該第二信號(hào)執(zhí)行與操作,以生成N個(gè)偏移選擇信號(hào)中的第K偏移選擇信號(hào)。
      19.如權(quán)利要求14所述的嵌入式系統(tǒng),其中所述RAM地址生成單元包括偏移選擇器,被配置為基于所述N個(gè)偏移選擇信號(hào),輸出所述N個(gè)偏移量中的、與ROM讀取地址所屬的修改ROM數(shù)據(jù)塊對(duì)應(yīng)的偏移量;以及偏移加法器,被配置為通過將ROM讀取地址與偏移選擇器輸出的偏移量相加而輸出RAM讀取地址。
      20.如權(quán)利要求14所述的嵌入式系統(tǒng),其中,當(dāng)該修補(bǔ)使能信號(hào)為邏輯低時(shí),所述地址選擇單元被配置為選擇并輸出ROM讀取地址,而不考慮該ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。
      21.如權(quán)利要求14所述的嵌入式系統(tǒng),其中所述地址選擇單元包括多路復(fù)用器,該多路復(fù)用器被配置為基于地址選擇信號(hào)輸出ROM讀取地址和RAM讀取地址之一。
      22.一種修補(bǔ)只讀存儲(chǔ)器(ROM)數(shù)據(jù)的方法,該方法包括提供修補(bǔ)數(shù)據(jù)和修補(bǔ)信息,用于替換在ROM的N個(gè)修改ROM數(shù)據(jù)塊中存儲(chǔ)的數(shù)據(jù);將該修補(bǔ)數(shù)據(jù)分別存儲(chǔ)在N個(gè)隨機(jī)存取存儲(chǔ)器(RAM)修補(bǔ)塊中;以及基于修補(bǔ)信息和ROM讀取地址,而輸出ROM讀取地址和與ROM讀取地址對(duì)應(yīng)的RAM讀取地址之一。
      23.如權(quán)利要求22所述的修補(bǔ)ROM數(shù)據(jù)的方法,其中所述修補(bǔ)信息包括N個(gè)修改ROM數(shù)據(jù)塊的N個(gè)起始地址、N個(gè)數(shù)據(jù)塊長(zhǎng)度、N個(gè)偏移量和用來(lái)控制修補(bǔ)操作的修補(bǔ)使能信號(hào),所述N個(gè)偏移量中的每個(gè)表示修改ROM數(shù)據(jù)塊地址與對(duì)應(yīng)的RAM修補(bǔ)塊地址之間的差值。
      24.如權(quán)利要求22所述的ROM數(shù)據(jù)修補(bǔ)方法,進(jìn)一步包括將修補(bǔ)信息存儲(chǔ)在寄存器中。
      25.如權(quán)利要求23所述的ROM數(shù)據(jù)修補(bǔ)方法,其中輸出RAM讀取地址和ROM讀取地址之一的步驟包括生成N個(gè)偏移選擇信號(hào),所述N個(gè)偏移選擇信號(hào)指明ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的哪一個(gè);生成地址選擇信號(hào),該地址選擇信號(hào)表示ROM讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè);基于偏移選擇信號(hào),而生成與ROM讀取地址對(duì)應(yīng)的RAM讀取地址;以及基于地址選擇信號(hào),而輸出ROM讀取地址和RAM讀取地址之一。
      26.如權(quán)利要求25所述的ROM數(shù)據(jù)修補(bǔ)方法,其中生成N個(gè)偏移選擇信號(hào)中的第K偏移選擇信號(hào)的步驟,k為不大于N的自然數(shù),包括當(dāng)ROM讀取地址不小于N個(gè)起始地址中的第K起始地址時(shí),輸出邏輯高的第一信號(hào);當(dāng)ROM讀取地址不大于第K起始地址與N個(gè)數(shù)據(jù)塊長(zhǎng)度中的第K數(shù)據(jù)塊長(zhǎng)度之和時(shí),輸出邏輯高的第二信號(hào);以及通過對(duì)該第一信號(hào)與該第二信號(hào)執(zhí)行與操作,而生成N個(gè)偏移選擇信號(hào)中的第K偏移選擇信號(hào)。
      27.如權(quán)利要求23所述的ROM數(shù)據(jù)修補(bǔ)方法,其中輸出RAM讀取地址和ROM讀取地址之一的步驟包括當(dāng)ROM讀取地址屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)而且修補(bǔ)使能信號(hào)為邏輯高時(shí),輸出RAM讀取地址;和當(dāng)ROM讀取地址不屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)或者修補(bǔ)使能信號(hào)為邏輯低時(shí),輸出ROM讀取地址。
      全文摘要
      一種只讀存儲(chǔ)器(ROM)數(shù)據(jù)修補(bǔ)電路,用于基于修補(bǔ)信息利用存儲(chǔ)在N個(gè)隨機(jī)存取存儲(chǔ)器(RAM)修補(bǔ)塊中的修補(bǔ)數(shù)據(jù)來(lái)替換存儲(chǔ)在N個(gè)修改ROM數(shù)據(jù)塊中的數(shù)據(jù)。該ROM數(shù)據(jù)修補(bǔ)電路包括數(shù)據(jù)修補(bǔ)檢測(cè)單元、RAM地址生成單元以及地址選擇單元。該數(shù)據(jù)修補(bǔ)檢測(cè)單元生成N個(gè)偏移選擇信號(hào)和地址選擇信號(hào)。所述N個(gè)偏移選擇信號(hào)指明ROM讀取地址屬于哪一塊,地址選擇信號(hào)表示ROM的讀取地址是否屬于N個(gè)修改ROM數(shù)據(jù)塊中的任意一個(gè)。RAM地址生成單元基于偏移選擇信號(hào),而生成與ROM讀取地址對(duì)應(yīng)的RAM讀取地址。地址選擇單元基于地址選擇信號(hào),而輸出ROM讀取地址和RAM讀取地址之一。
      文檔編號(hào)G06F12/06GK101075213SQ200710129228
      公開日2007年11月21日 申請(qǐng)日期2007年2月25日 優(yōu)先權(quán)日2006年2月21日
      發(fā)明者韓東熙 申請(qǐng)人:三星電子株式會(huì)社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1