TW202234268A - 記錄積體電路版本的方法和系統 - Google Patents

記錄積體電路版本的方法和系統 Download PDF

Info

Publication number
TW202234268A
TW202234268A TW110105598A TW110105598A TW202234268A TW 202234268 A TW202234268 A TW 202234268A TW 110105598 A TW110105598 A TW 110105598A TW 110105598 A TW110105598 A TW 110105598A TW 202234268 A TW202234268 A TW 202234268A
Authority
TW
Taiwan
Prior art keywords
version
bit
value
integrated circuit
bits
Prior art date
Application number
TW110105598A
Other languages
English (en)
Inventor
林俊昌
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW110105598A priority Critical patent/TW202234268A/zh
Priority to US17/407,378 priority patent/US11636243B2/en
Publication of TW202234268A publication Critical patent/TW202234268A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本發明公開一種記錄積體電路(Integrated Circuit,IC)版本的方法和系統。方法適用於積體電路的暫存器中,並包括如下步驟。用N個位元記錄IC版本,N為大於1的整數,以及當IC每次改版時,只修改這N個位元中尚未被用來表示IC版本的至少一位元的值。

Description

記錄積體電路版本的方法和系統
本發明涉及一種紀錄版本的方法和系統,特別涉及一種記錄積體電路(Integrated Circuit,IC)版本的方法和系統。
在IC開發過程中,經常會為了更正問題或修改功能而進行IC改版,且這時候會在IC內部的硬體做版本紀錄,例如通常用暫存器(Register )來記錄IC版本。
請參閱表1,表1是暫存器以現有方法來記錄IC版本的格式。為了方便理解,值之前加上「8'h」是表示暫存器會用8個位元並轉換成十六進制數字來記錄IC版本,並且如表1所示,當IC每次改版時,暫存器以現有方法則用遞增的16進制數字表示IC版本。 [表1]
IC版本 暫存器以現有方法來記錄IC版本的格式
version-1 8'h 01
version-2 8'h 02
version-3 8'h 03
... ...
一般而言,不同版本的IC會各自對應搭配不同版本的軟體或韌體,且相關軟體或韌體可依據暫存器內的值識別IC屬於哪個版本並進行相應設定,不過有時基於某些原因,新版本的IC需要能同時滿足下列條件。1. 讓新版本的軟體或韌體可區分IC版本,即需要讓新版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本不同的值。2. 兼容舊版本的軟體或韌體,亦即需要讓舊版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本相同的值。因此,現有方法用遞增的16進制數字表示IC版本就無法使得新版本的IC能同時滿足上列條件。
為了解決現有技術的不足,本發明實施例提供一種記錄IC版本的方法,適用於IC的暫存器中,包括如下步驟。用N個位元記錄IC版本, N為大於1的整數,以及當IC每次改版時,只修改這N個位元中尚未被用來表示IC版本的至少一位元的值。
除此之外,本發明實施例提供一種記錄IC版本的系統,包括暫存器和控制電路。暫存器置於積體電路中,用N個位元記錄IC版本,N為大於1的整數。控制電路耦接暫存器,用來當IC每次改版時,只修改這N個位元中尚未被用來表示IC版本的至少一位元的值。
優選地,當IC每次改版時,則從尚未被用來表示IC版本的至少一位元中只依序修改一個較高位元的值。
優選地,在每一這N個位元的值初始化為第一值的情況下,當這N個位元中的至少一第一位元的值被設置為第二值,以用來表示IC版本的第一版時,尚未被用來表示IC版本的至少一位元就是指其值仍為第一值的至少一第二位元。
為使能更進一步瞭解本發明的特徵及技術內容,請參閱以下有關本發明的詳細說明與圖式,然而所提供的圖式僅用於提供參考與說明,並非用來對本發明加以限制。
以下是通過特定的具體實施例來說明本發明的實施方式,本領域技術人員可由本說明書所提供的內容瞭解本發明的優點與效果。本發明可通過其他不同的具體實施例加以施行或應用,本說明書中的各項細節也可基於不同觀點與應用,在不悖離本發明的構思下進行各種修改與變更。另外,本發明的附圖僅為簡單示意說明,並非依實際尺寸的描繪,事先聲明。以下的實施方式將進一步詳細說明本發明的相關技術內容,但所提供的內容並非用以限制本發明的保護範圍。
應當理解的是,雖然本文中可能會使用到“第一”、“第二”、“第三”等術語來描述各種元件或者信號,但這些元件或者信號不應受這些術語的限制。這些術語主要是用以區分一元件與另一元件,或者一信號與另一信號。另外,本文中所使用的術語“或”,應視實際情況可能包含相關聯的列出項目中的任一個或者多個的組合。
請參閱圖1,圖1是本發明實施例所提供記錄IC版本的方法的步驟流程圖。圖1的方法可適用於任何IC的暫存器中,即本發明不限制IC的具體實現方式。如圖1所示,在步驟S110中,用N個位元記錄IC版本,N為大於1的整數,以及在步驟S120中,當IC每次改版時,只修改這N個位元中尚未被用來表示IC版本的至少一位元的值。
請一併參閱表2,表2是暫存器以圖1的方法來記錄IC版本的格式。為了方便理解,值之前加上「8'b」是表示暫存器會用8個位元,即N等於8的二進制數值來記錄IC版本,且這8個位元從最右邊的最低位元開始為第0位元bit[0],以此類推,最左邊的最高位元為第7位元bit[7]。 [表2]
IC版本 暫存器以圖1的方法來記錄IC版本的格式
version-1 8'b 00000001
version-2 8'b 00000011
version-3 8'b 00000111
version-4 8'b 00001111
version-5 8'b 00011111
... ...
如表2所示,每一位元的值可初始化為0,且本實施例則設置第0位元bit[0]的值為1,以用來表示IC版本的第一版version-1。也就是說,當這8個位元bit[7]~bit[0]中只有第0位元bit[0]的值被設置為1,以用來表示IC版本的第一版version-1時,第一版version-1的IC對應的軟體或韌體就可只要看第0位元bit[0]。因此,當IC由第一版version-1改版為第二版version-2時,本實施例可只修改尚未被用來表示IC版本的第1位元bit[1]的值,即這時候8個位元bit[7]~bit[0]的值會由00000001改為00000011,使得第二版version-2的IC可讓舊版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本相同的值,即第0位元bit[0]的值。另外,根據這時候的第1至第0位元bit[1]~bit[0],第二版version-2的IC對應的軟體或韌體就能夠讀到暫存器內與表示舊的IC版本不同的值,使得第二版version-2的IC能同時滿足讓新版本的軟體或韌體可區分IC版本的條件。
類似地,當這8個位元bit[7]~bit[0]中只有第1位元bit[1]和第0位元bit[0]的值皆被設置為1,以用來表示IC版本的第二版version-2時,第二版version-2的IC對應的軟體或韌體就可只要看第1至第0位元bit[1]~bit[0]。因此,當IC由第二版version-2改版為第三版version-3時,本實施例可再只修改尚未被用來表示IC版本的第2位元bit[2]的值,即這時候8個位元bit[7]~bit[0]的值會由00000011改為00000111,使得第三版version-3的IC可讓舊版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本相同的值。另外,根據這時候的第2至第0位元bit[2]~bit[0],第三版version-3的IC對應的軟體或韌體就能夠讀到暫存器內與表示舊的IC版本不同的值,使得第三版version-3的IC也能同時滿足讓新版本的軟體或韌體可區分IC版本的條件。
由此可知,當IC由第三版version-3改版為第四版version-4時,本實施例可再只修改尚未被用來表示IC版本的第3位元bit[3]的值,即這時候8個位元bit[7]~bit[0]的值會由00000111改為00001111,以此類推,當IC由第四版version-4改版為第五版version-5時,本實施例可再只修改尚未被用來表示IC版本的第4位元bit[4]的值,亦即這時候8個位元bit[7]~bit[0]的值會由00001111改為00011111,使得各版本的IC都能同時滿足讓新版本的軟體或韌體可區分IC版本以及兼容舊版本的軟體或韌體的條件。也就是說,當IC每次改版時,本實施例則可從尚未被用來表示IC版本的位元中只依序修改一個較高位元的值。
需說明的是,表2只是舉例,本發明不限制暫存器以圖1的方法來記錄IC版本的具體實現方式。在其他實施例中,IC每次改版還可能修改超過一個位元的值,或者修改不同數量的位元值。另外,IC每次改版也可能不按照由較低位元到較高位元的順序修改,反正只要修改尚未被用來表示IC版本的位元的值。類似地,每一位元的值可改初始化為1,且其他實施例則設置第0位元bit[0]的值為0,以用來表示IC版本的第一版version-1,使得當IC每次改版時,則將尚未被用來表示IC版本的至少一位元的值修改為0。換句話說,在每一位元的值可初始化為第一值(例如0)的情況下,當這N位元中的至少一第一位元的值被設置為第二值(例如1),以用來表示IC版本的第一版version-1時,尚未被用來表示IC版本的位元就是指其值仍為第一值的至少一第二位元。
另一方面,請一併參閱圖2,圖2是本發明實施例所提供記錄IC版本的系統的方塊圖。由於細節已如同前述實施例所述,故於此僅作概述而不再多加冗述。如圖2所示,記錄IC版本的系統包括暫存器21和控制電路22。暫存器21置於積體電路(圖2未繪示)中,用N個位元記錄IC版本,N為大於1的整數。如前所述,圖2以N為8作範例,即暫存器21用的位元會從最右至最左為第0位元bit[0]到第7位元bit[7],但本發明不限制N的具體值。總而言之,暫存器21用的位元長度可依實際需求或應用來進行調整。另外,控制電路22耦接暫存器21,用來當IC每次改版時,只修改位元這8個位元bit[7]~bit[0]中尚未被用來表示IC版本的至少一位元的值。
需說明的是,控制電路22可以是透過純硬體來實現,或者是透過硬體搭配韌體或軟體來實現。另外,暫存器21和控制電路22可以是整合或分開設置。總而言之,本發明不限制控制電路22的具體實現方式。如前所述,每一位元的值可初始化為0,且控制電路22則設置第0位元bit[0]的值為1,以用來表示IC版本的第一版version-1,但本發明亦不以此為限制。因此,當IC由第一版version-1改版為第二版version-2時,控制電路22可只修改尚未被用來表示IC版本的第1位元bit[1]的值,即這時候8個位元bit[7]~bit[0]的值會由00000001改為00000011,以此類推,當IC由第四版version-4改版為第五版version-5時,控制電路22可再只修改尚未被用來表示IC版本的第4位元bit[4]的值。
綜上所述,本發明實施例提供一種記錄IC版本的方法和系統能夠使得各版本的IC都同時滿足讓新版本的軟體或韌體可區分IC版本以及兼容舊版本的軟體或韌體的條件,即讓新版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本不同的值,並且讓舊版本的軟體或韌體能夠讀到暫存器內與表示舊的IC版本相同的值。
以上所提供的內容僅為本發明的優選可行實施例,並非因此侷限本發明的申請專利範圍,所以凡是運用本發明說明書及圖式內容所做的等效技術變化,均包含於本發明的申請專利範圍內。
S110~S120:流程步驟 version-1, version-2, version-3, version-4, version-5:IC版本 21:暫存器 22:控制電路 bit[7]~bit[0]:位元
圖1是本發明實施例所提供記錄IC版本的方法的步驟流程圖。
圖2是本發明實施例所提供記錄IC版本的系統的方塊圖。
S110~S120:流程步驟

Claims (6)

  1. 一種記錄積體電路版本的方法,適用於一積體電路的暫存器中,包括: 用N個位元記錄該積體電路版本,N為大於1的整數;以及 當該積體電路每次改版時,只修改該N個位元中尚未被用來表示該積體電路版本的至少一位元的值。
  2. 如請求項1所述的方法,其中當該積體電路每次改版時,則從尚未被用來表示該積體電路版本的該至少一位元中只依序修改一個較高位元的值。
  3. 如請求項1所述的方法,其中在每一該N個位元的該值初始化為第一值的情況下,當該N個位元中的至少一第一位元的該值被設置為第二值,以用來表示該積體電路版本的第一版時,尚未被用來表示該積體電路版本的該至少一位元就是指其值仍為該第一值的至少一第二位元。
  4. 一種記錄積體電路版本的系統,包括: 一暫存器,置於一積體電路中,用N個位元記錄該積體電路版本,N為大於1的整數;以及 一控制電路,耦接該暫存器,用來當該積體電路每次改版時,只修改該N個位元中尚未被用來表示該積體電路版本的至少一位元的值。
  5. 如請求項4所述的系統,其中當該積體電路每次改版時,該控制電路則從尚未被用來表示該積體電路版本的該至少一位元中只依序修改一個較高位元的值。
  6. 如請求項4所述的系統,其中在每一該N個位元的該值初始化為第一值的情況下,當該N個位元中的至少一第一位元的該值被設置為第二值,以用來表示該積體電路版本的第一版時,尚未被用來表示該積體電路版本的該至少一位元就是指其值仍為該第一值的至少一第二位元。
TW110105598A 2021-02-19 2021-02-19 記錄積體電路版本的方法和系統 TW202234268A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW110105598A TW202234268A (zh) 2021-02-19 2021-02-19 記錄積體電路版本的方法和系統
US17/407,378 US11636243B2 (en) 2021-02-19 2021-08-20 Method and system for recording integrated circuit version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110105598A TW202234268A (zh) 2021-02-19 2021-02-19 記錄積體電路版本的方法和系統

Publications (1)

Publication Number Publication Date
TW202234268A true TW202234268A (zh) 2022-09-01

Family

ID=82900776

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110105598A TW202234268A (zh) 2021-02-19 2021-02-19 記錄積體電路版本的方法和系統

Country Status (2)

Country Link
US (1) US11636243B2 (zh)
TW (1) TW202234268A (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040064801A1 (en) * 2002-09-30 2004-04-01 Texas Instruments Incorporated Design techniques enabling storing of bit values which can change when the design changes
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks

Also Published As

Publication number Publication date
US20220269843A1 (en) 2022-08-25
US11636243B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
EP1336972B1 (en) Method and apparatus for data inversion in a memory device
US6125467A (en) Method and apparatus for partial word read through ECC block
TW202234268A (zh) 記錄積體電路版本的方法和系統
JP4505195B2 (ja) メモリデバイスにおいてデータを反転させるための方法および装置
JP4412580B2 (ja) 非アルファ・チャネル画像データをアルファ・チャネル認識環境で利用するためのシステムおよび方法
US20140149616A1 (en) I2c bus structure and address management method
US8082417B2 (en) Method for reducing pin counts and microprocessor using the same
CN114968327A (zh) 记录集成电路版本的方法和系统
US6477699B1 (en) Electronic circuit designs adaptable for applications having different binary data formats
WO2020087955A1 (zh) 一种硬盘盘符重复问题的处理方法、装置及系统
WO2004079722A3 (en) Processing of copy control information for digital rights management
JPH04132976A (ja) テストモード発生回路
US20090210521A1 (en) Method of installing software for enabling a connection of a phone to an interconnected network
TW202001551A (zh) 動態設定顯示面板的方法及電子裝置
JP3339336B2 (ja) Dsv制御方法及びその装置
US7382230B2 (en) Comparing counter contents for timing critical applications
US9595289B2 (en) Providing device-level functionality without altering instructions stored in device memory
JP2004005179A (ja) Eepromのデータ記憶方法
CN105072481A (zh) 一种视频数据的加载及播放方法
JP5726425B2 (ja) メモリデバイスにおいてデータを反転させるための方法および装置
TW202105231A (zh) 檢查裝置、檢查程式產品以及檢查方法
JPS61226866A (ja) 基板の自動識別方式
JPS61264842A (ja) ビツトスリツプ検出回路
JP3199036B2 (ja) I/o部分回路自動生成システム及びその方法ならびにi/o部分回路自動生成プログラムを格納した記憶媒体
JP2019095961A (ja) トレーサビリティ構築支援装置、トレーサビリティ構築支援方法及びトレーサビリティ構築支援プログラム