TW571237B - Method of generating development environment for developing system chip and medium which stores program therefor - Google Patents
Method of generating development environment for developing system chip and medium which stores program therefor Download PDFInfo
- Publication number
- TW571237B TW571237B TW091123691A TW91123691A TW571237B TW 571237 B TW571237 B TW 571237B TW 091123691 A TW091123691 A TW 091123691A TW 91123691 A TW91123691 A TW 91123691A TW 571237 B TW571237 B TW 571237B
- Authority
- TW
- Taiwan
- Prior art keywords
- aforementioned
- instruction
- item
- patent application
- scope
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
571237 ⑴ 玖、.發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 相關申請案交叉參考 本申請案係以先前於2002年4月26日提出之日本特開 2002-127381號公報揭示之申請案為基礎,茲聲請其優先權 益,並納入其全部内容以作參考。 發明背景 1. 發明範圍 本發明係關於可利用於例如包含可配置(configurable)處 理器之系統晶·片之設計開發之開發環境(development environment),特別係關於產生系統晶片之設計開發環境之 方法及記憶其程式之媒體。 2. 相關技藝描述 近年來,對於適用於例如多媒體處理等之L S I (大型積 體電路)之需求呈現多樣化之趨勢,另外,此L S I之市場週 期也有縮短之現象,因此,一般迫切期望能夠營造可在短 期内開發最適於應用程式之LSI之系統晶片之設計開發環 境。在此所謂開發環境,係指構建系統晶片之際所需之硬 體及系統開發支援工具等之軟體之意。 一般,在L S I内搭載有通用處理器之情形,其硬體之設 計成本幾乎等於零。但因此種構成之LSI並非最適合於應 用程式之需要,故難以充分發揮應用程式之性能。因此, 最近,有人提供可選擇指令及記憶體構成等之可配置處理 器。另外,可配置處理器之提供者並提供可指定配置而輸 出可邏輯合成之硬體描述之系統。依據此種處理器及系 571237
(2) 統,只要指定選擇指令及記憶體大小,即可在短期内開發 出最適合於應用程式之構成之處理器。 另一方面,通常在改變指令系統等時,必須連編譯程式 及模擬程式等軟體開發工具也一併加以變更,因此,指定 配置時,在硬體描述之同時,也可提供產生軟體開發工具 之系統。依據此系統,可大幅縮減軟體開發工具之設計所 需之勞力及時間。 以往,對於 RISC (Reduced Instruction Set Computer :簡化指 令系統電腦)磁心,已開發出可配置之DSP (Digital Signal Processor :數位訊號處理器)共處理器。但此DSP共處理器 僅可使用於預先準備之 ISA (Industry Standard Architecture : 工業標準體系),其他均無法使用。此外,雖有可追加新 的指令之可配置處理器,但也只能追加固定型式之指令, 因此,難以應付例如 VLIW (Very Long Instruction Word :甚 長指令字)等體系之需要,使用彈性並不充分。 另外,為描述追加之指令,需使用例如Verilog之類之硬 體描述語言(HDL : Hardware Description Language),因此, 無法有效地追加指令。 此外,欲依據用戶所定義之指令產生所需要之開發環境 相當困難,因此,一般迫切期望開發可利用充分之彈性, 簡單地產生具有高性能之硬體之LSI之開發環境之系統晶 片之開發環境的產生方法及記憶其程式之媒體。 發明概述 依據本發明之一技術層面所提供之用以開發系統晶片 (3) 之開發環境的產生方法係包含分析所輸入之指令,依據按 照前述分析之指令描述系統晶片之配置之配置指定文件 之資訊,產生編譯程式用戶化部、彙編程式用戶化部、及 模擬程式產生部,前述配置指定文件包含執行指令之硬體 之指定,利用前述編譯程式用戶化部構建用以開發系統晶 片之編譯程式,利用前述彙編程式用戶化部構建彙編程 式,利用前述模擬程式產生部構建模擬程式。 依據本發明之另一技術層面所提供之用以產生開發系 統晶片之開發環境之電腦可讀取式媒體及程式係包含分 析輸入於電腦之指令,依據按照前述分析之指令描述系統 晶片之配置之配置指定文件之資訊,產生編譯程式用戶化 部、彙編程式用戶化部、及模擬程式產生部,配置指定文 件包含執行指令之硬體之指定,利用前述編譯程式用戶化 部構建用以開發系統晶片之編譯程式,利用前述彙編程式 用戶化部構建彙編程式,利用前述模擬程式產生部構建模 擬程式。 圖式之簡單說明 圖1係表示適用本發明之系統晶片開發裝置之概略的構 成圖。 圖2係表示設定文件產生部之構成圖。 圖3係表示配置指定文件之描述例之圖。 圖4 A係表示在全處理器共用之記憶區域之描述例之 圖,圖4 B係表示所產生之局部記憶變換表之一例之圖, 圖4C係表示ISA定義文件之描述例之圖。 (4)
圖5係表示系統晶片開發環境產生部之構成圖。 圖6係表示圖5所示RTL產生部之一實施例之構成圖。 圖7係表示RTL樣本之一例之圖。 圖8係表示圖5所示之模擬程式用戶化部之一例之構成 圖。 圖9A係表示模擬程式啟動選擇文件之一例之圖,圖9B 係表示糾錯程式啟動選擇文件之一例之圖,圖9C係表示 機械指令函數說明標題文件之一例之圖。 圖1 0係表示圖5所示之編譯程式用戶化部4 3之一實施例 之構成圖。 圖1 1A係表示編譯程式啟動選擇文件之一例之圖,圖 11B係表示驗證向量產生用之用戶定義指令文件之一例 之圖。 圖12係表示本發明之系統晶片開發環境產生器4之程式 構成之構成圖。 圖1 3係表示配置指定文件之一例之圖。 圖1 4係表示圖1 3所示之暫存器定義部之記載例之具體 圖。 圖1 5係表示累加器之定義之一例之圖。 圖16係表示移位總量暫存器之定義之一例之圖。 圖1 7係表示共處理器定義之一例之圖。 圖18係表示DSP模組用配置指定文件之例之圖。 圖1 9係表示SIMD指令之定義之一例之圖。 圖20係表示1列所構成之描述例之圖。 571237
(5) 圖2 1係表示1列所構成之描述例之圖。 圖22係表示使用指標之描述例之圖。 圖23係表示SIMD指令庫之例之圖。 圖24係表示由指令庫產生編譯程式等工具之方法之構 成圖。 圖25係表示配置指定文件内之指令系統定義部之例之 圖。 圖26係表示PTYPE列之描述例之圖。 圖27係表示危險資訊之描述例之圖。 圖28係表示危險資訊與流水線之動作之圖。 圖29係表示編譯程式用之調度資訊之例之圖。 圖3 0係表示流水線動作描述之例之圖。 圖3 1係表示RTL產生部之用戶定義模組之高階合成之 例之圖。 圖3 2係表示介面之整合方法之構成圖。 圖33係表示ISA資訊之產生方法中,有關於指令CPX0R3 之指令定義之例之圖。 圖3 4係表示自動產生之IS A資訊之圖。 圖3 5係表示指令CPX0R3之驗證程式之圖。 圖3 6係表示模擬程式產生部之概略的動作之圖。 圖3 7係表示系統晶片開發環境產生系統之概觀之一例 之斜視圖。 發明之詳細說明 以下,參照圖示說明本發明之實施形態。 -10- 571237
(6) 首先,利用圖1至圖1 ο,概略地說明適用於本實施形態 之系統晶片開發裝置。 (系統晶片開發裝置之構成) 圖1係表示系統晶片開發裝置1。系統晶片開發裝置1包 含設定文件產生部2、用戶定義模組•用戶定義指令記憶 部3、系統晶片開發環境產生部4、性能評價部5、結束判 定部6、變更項目設定部7、輸出入介面部8及控制部9。 系統晶片開發裝置1連接將各種資訊輸入於裝置1内用 之輸入部10、與輸出來自裝置1之各種資訊用之輸出部 11。作為輸入部1 〇,例如可使用键盤、滑鼠、數字键、觸 控面板等。作為輸出部11,可適用顯示裝置及印刷裝置等。 圖2至圖1 3係表示上述系統晶片開發裝置1内之各部之 構成。 (設定文件產生部之構成) 圖2係表示設定文件產生部2之構成。設定文件產生部2 包含輸入分析部2 1、局部記憶變換表產生部22、選擇資訊 記憶部23、裝置構成記憶部24、超高速緩衝記憶體構成記 憶部25及局部記憶變換表記憶部26。設定文件產生部2依 據描述系統晶片之設計上之配置之配置指定文件(以下又 稱體系資料庫文件)、可變值設定資訊、最優先項目設定 資訊、目標性能指定資訊、及由變更項目設定部7供應之 變更項目表資訊,產生系統晶片設計上之配置,並加以儲 存。前述目標性能指定資訊包含硬體性能與軟體性能之一 方或雙方。作為硬體之性能指標,包含面積、頻率、耗電 571237
⑺ 量;作為軟體之性能指標,包含代碼大小、實效指令數、 執行週期數。 前述輸入分析部2 1係用以分析配置指定文件之内容,並 將配置指定文件内所描述之配置之内容分成選擇資訊記 憶部23、裝置構成記憶部24、及超高速缓衝記憶體構成記 憶部2 5之各部。 在前述配置指定文件内,描述著選擇指令之有無、裝置 之有無、超高速緩衝記憶體之有無、超高速緩衝記憶體之 大小、用戶定義指令、用戶定義硬體模組、L SI内部之記 憶變換表、多處理器構成(多處理器之數等)等之資訊。 又,在用戶定義指令及用戶定義硬體模組之描述部分,利 用絕對總線及相對總線等之描述,指定描述用戶定義指令 及用戶定義模組之文件名之記憶位置(在本實施形態中, 為用戶定義模組·用戶定義指令記憶部3之位置)。 在前述裝置之有無中,裝置中包含指令記憶體、資料記 憶體、共處理器,在指令記憶體、資料記憶體之可變項目 中,包含大小、位址。在前述記憶變換表中,記憶變換表 包含外部記憶體區域、内部記憶體區域、輸出入區域,外 部記憶體區域也包含超高速緩衝記憶體存取區域之指定 項目,且各記憶體區域也包含等待時間資訊。 又,由配置指定文件指定系統晶片設計上之配置之際, 用戶可由設定文件產生部2内之各記憶部23〜26所定義之 可變值中選擇1個值。將此選擇之值描述於例如圖3所示之 配置指定文件内。 -12· 571237 ⑻ 即,例如,在以下所示之SIZE描述中,内建資料記憶 體之大小可選擇1、2、4、8、1 6、32 [KB]中之一個。省略 此SIZE描述時,其大小表示缺席值之8 [KB]。 DMEM: SIZE Ptype= { 1、2、4、8、16、32 },default=8,comment二“内 建資料記憶體之大小”; 又,在以下所示之ISAJ3EFINE描述中,表示作為用戶定 義指令之IS A定義文件名,必須描述任意之文字串。 UCI: ISA—DEFINE Ptype = string. default二 “”,comment: “用戶定義 指令之ISA定義文件名”; 又,上述配置之設定作業也可利用經由輸出入介面部8 之對話式處理來設定。以對話式施行配置之設定時,用戶 不必介意配置指定文件之文法等,要設定配置較為容易。 因此,配置之設定所需之時間可以縮得比直接在文件中描 述之情形更短。另外,全部之配置之設定可利用對話方式 加以處理’因此,可防止配置中之1個忘了設定等之錯誤。 又,也可將可變值設定於配置之中。將可變值設定於配 置之中時’設定文件產生部2可利用基本設定值、為測定 可變值而製作之樣本值、及用戶所設定之值中之一種,自 動地導出另一配置之設定值。將可變值設定於配置之中 時,用戶可同時獲得對應於配置之可變範圍之多數之開發 環境、驗證環境,因此可實現縮短LSI開發週期。 另外,也可在配置之中,設定最優先項目。在配置之中, -13 - 571237
(9) 設定最優先項目時,設定文件產生部2就最優先項目以外 之部分,產生對最優先項目最合適之配置狀態。為了產生 此狀態,需使用基本設定值、及依據最優先項目使用樣本 值或用戶所指定之設定值。在配置之中,指定最優先項目 時,用戶不必辨識系統晶片之構成,即可利用適於優先項 目之構成,形成開發環境、驗證環境,並加以評價。 (局部記憶變換表產生部之構成) 局部記憶變換表產生部22係用以統合由配置指定文件 指定之整體變換表、與系統晶片内之各個處理器之局部記 憶資訊,以產生系統晶片内之每1處理器之局部記憶變換 表。前述整體變換表係共通使用於例如圖4A所示之全部 處理器之記憶區域。又,作為前述局部記憶資訊,例如包 含指令記憶體、資料記憶體、指令超高速緩衝記憶體、資 料超高速缓衝記憶體。圖4B係表示所產生之局部記憶變 換表之一例之圖。此產生之局部記憶變換表係儲存於局部 記憶變換表記憶部26。 在此,處理器之局部記憶區域可利用下列方式產生: 即h對各個局部記憶體所預約之整體變換表中之記憶區 域,利用反映配置指定文件所指定之記憶體大小之方式所 產生。又,事先在整體變換表中指定各處理器之靜區記憶 資訊時,也可形成在各處理器之局部記憶變換表含有其他 處理器之局部記憶體之靜區記憶體。 選擇資訊記憶部2 3係依據輸入分析部2 1對配置指定文 件之分析結果,儲存有關内建於系統晶片之處理器之指令 -14- 571237 (ίο) 系統内之選擇指令之ΟΝ/OFF (開/關)之種別之資訊。 裝置構成記憶部24係依據輸入分析部2 1對配置指定文 件之分析結果,儲存有關内建於系統晶片之裝置之 ΟΝ/OFF之種別之資訊與其大小之資訊、位址資訊、有關 處理器之指令記憶體及資料記憶體之資訊、及有關共處理 器等之選擇硬體之資訊。 (超高速缓衝記憶體構成記憶部之構成) 超高速緩衝記憶體構成記憶部25係依據輸入分析部2 1 對配置指定文件之分析結果,儲存有關系統晶片之超高速 缓衝記憶體之ΟΝ/OFF之種別、超高速缓衝記憶體之型式 (直接型、2向型、4向型、η向型)之資訊、及有關其大小 之資訊。 (局部記憶變換表記憶部之構成) 局部記憶變換表記憶部2 6係用以儲存有關局部記憶變 換表產生部22所產生之局部記憶變換表之資訊。 (用戶定義模組•用戶定義指令記憶部之構成) 用戶定義模組•用戶定義指令記憶部3係用以儲存有關 於内建於用戶定義之硬體模組及系統晶片之處理器之指 令系統之用戶定義指令之資訊。在此,有關用戶定義之硬 體模組之資訊最好採用RTL (Register Transfer Level :暫存器 傳送位準)描述或動作描述,且有關指令之動作之資訊最 好以C模型(含C + +模型)描述後儲存於記憶部3内。動作描 述與C模型描述也可相同。又,有關用戶定義指令之資訊 最好描述並儲存於配置指定文件所指定之例如圖1 3所示 -15 -
571237 (ii) 之體系DB文件中。 (系統晶片開發環境產生部之構成) 系統晶片開發環境產生部4如圖5所示,係包含RTL產生 部4 1、模擬程式用戶化部42、編譯程式用戶化部43、彙編 程式用戶化部44及驗證向量產生部45。此系統晶片開發環 境產生部4在儲存於設定文件產生部2内之配置之全邵組 合中,產生系統晶片之硬體、驗證環境及開發設計工具。 以下,詳細說明此系統晶片開發環境產生部之内部構 成。 (RTL產生部之構成) RTL產生部4 1係依據記憶於設定文件產生部2之記憶部 内之配置,產生内建於系統晶片之處理器之RTL描述。 圖6係表示RTL產生部41之一實施例。區塊連接部41d係 參照、儲存於裝置構成記憶部24與超高速緩衝記憶體構成 呑己憶部2 5内之配置,而由RT L樣本4 1 a、4 1 b中,選擇對應 於用戶所設定之配置之樣本。高階合成處理部4 1 e係用以 將儲存於用戶定義模組·用戶定義指令記憶部3内之用戶 疋義指令或用戶定義模組之規格之動作描述施以高階合 成而產生RTL描述。另外,連接部41d係利用將前述所選 擇之RTL樣本、與來自鬲階合成處理部41e之RTL描述連接 土處理器磁心部之RTL描述41C,以產生處理器之尺几描 逑。又,記憶部3内之規格為RTL描述時,直接以適合介 面訊號之方式連接。 在界疋多處理器構成之定義時,區塊連接部々“產 -16 - (12) (12)571237 生多數處理器描述,並產生以總線將該等描述連接之多處 理器之RTL描述。 又’包含於RT L樣本4 1 a、4 1 b内之指令記憶體、資料記 憶體、選擇硬體、指令超高速缓衝記憶體及資料超高速缓 衝兄憶體對用戶可能選擇之記憶體大小之各大小,事先準 備有RTL描述。此等RTL描述可依照所指定之配置而選擇 地被連接。又’在選擇指令方面,在選擇指令之〇n/〇ff 之全部組合準備有對應於選擇指令之硬體樣本。 圖7係表示RTL樣本之一例之圖。在圖7中5選擇指令單 元之RTL樣本針對有關除法選擇指令(DIV)之on/off、及 最大最小值選擇指令(MINMAX)之ΟΝ/OFF之4種組合,分別 準備RTL描述’以作為樣本。此等樣本配合儲存於裝置構 成記憶部24與超高速緩衝記憶體構成記憶部25内之配 置,而被選擇地連接於磁心RTL描述。又,在共處理器等 之選擇硬體方面,在被配置指定為有效時,已定義之RTL 描述也被連接於磁心RTL描述。另外,有用戶定義之硬體 時,將用戶所描述之硬體描述連接於磁心RTL描述。 利用以上之連接處理,RT L產生部4 1產生對應於所設定 之配置之處理器之RTL描述。例如,最初構建處理器1時’ 用戶如果將4 [KB]之指令記憶體、與4 [KB]之資料記憶體 追加至處理器磁心,以作為配置之參數指定時,即可自動 地獲得處理器1之RTL描述。 又,在構建處理器2時,用戶例如將2 [KB]之指令記憶 體、4 [KB]之資料記憶體、2 [KB]之指令超高速缓衝記憶 -17 - 571237
(13) 體、與4 [KB]之超高速緩衝記憶體追加至處理器磁心,再 將共處理器與若千選擇指令與用戶定義指令之RTL描述 追加至處理器磁心’以作為配置之參數指定時,即可獲得 處理器2之RTL描述。 又’如果不事先準備多數RTL樣本,而利用使配置所設 定之值反映在以參數形態表現可變,目之RTL樣本中 時’也可獲得RTL描述。另外’如此參數化之RTL樣本也 可設在記憶體、超高速緩衝記憶體等之每1部分模組上, 或者也可設置包含記憶體、超高速緩衝記憶體等之部分模 組之處理器全體之RTL樣本。另外,也可使用包含全部參 數之1個RTL樣本。 (模擬程式產生部之構成) 圖8係表示模擬程式用戶化部4 2之一例之構成圖。此模 擬程式用戶化部42係用以產生執行依據配置之指令動作 之模擬程式。 在圖8中,再編譯部42c係利用將儲存於用戶定義模組· 用戶定義指令記憶部3内之用戶定義硬體之c模型編入模 式樣本42a而再編澤之方式’再構建C模型之模擬程 $ 。又,啟動選擇資訊抽出部42d係參照儲存於設定文件 產从 、 生部内之前述裝置構成記憶部24與超高速緩衝記憶體 構成記憶部25之資料,產生指定啟動時之選擇對象之模擬 %式啟動選擇文件(參照圖9 A)。 組合處理部4 2 e係利用組合再編譯部4 2 c所供應之再構 建之模擬程式與啟動選擇資訊抽出部42d所供應之模擬程 -18- (14) 571237
置 < 指令f力作之模擬程 式啟動選擇文件’產生執行依據配 式。 又’模擬程式最好具備有在通過特定 錯指令之執行結果之手段。以往,/批、址時,可輸出糾 時,雖有輸出錯誤之判斷錯嗜裎^ 贫生錯决 成:可王式寺,但在 ^ " 時,為調查途中經過概況,卻未在應 吊’仃 、州%式中置入輸出途 中結果之指令或利用糾錯程式等停止/ w仃而讀取途中經 過概況。針對此問題’如果啟動時在通過指定位址之際, 可輸出特定之資訊,則I利用模擬程式執行應用程式之途 中,即可調查途中經過概況。例如,可利用下列之指令啟 動模擬程式。 sim-load test。hex-printx mem(0x400) at 0x1200 在此,sim係表示系統晶片之模擬程式,-1〇ad test。hex係 表示載入test。hex之1 6進制數之文件,-printx mem (0x400) at 0x1200係表示通過0xl2〇〇位址時,輸出記憶體之〇x4〇〇位址 之内容之指令。 即’模擬程式係用以記憶此自變數所指定之指示,並在 程式計數器每當通過0x1200位址時,以16進制數將Ox4〇0 位址之内容輸出至控制台。此時,觀測用之代碼並未被置 入於應用程式中,因此,模擬程式可在完全不影響指令數 及週期數等之統計資訊之情況下,觀測應用程式之執行。 且不必施行在特定位址停止執行,然後,經由人手讀出並 顯示記憶體之值等之作業,因此,可一面正確取得統計資 訊9確認特別希望注目之途中結果,一面施行應用程式之 -19- 571237
(15) 模擬’故可有效地開發L SI。 又’在對指定以外之區域發生記憶存取動作時,模擬程 式最好停止執行。依照設定之配置啟動模擬程式時,可明 確地被賦予可使用之記憶體。假使存取未安裝於基板上之 區域之記憶體時,會造成例如總線錯誤,其後的動作無法 獲得保證。動作無法獲得保證之程式在執行模擬程式時, 有必要找出錯誤,並儘早加以修正。因此,模擬程式會指 足存在之記憶區域,並禁止未被明確指定之區域之存取動 作。另外’模擬程式在此禁止存取區域被存取時9會發出 i 口,並停止程式之動作。又,模擬程式具有對話模式(糾 錯模式),當轉移至對話模式時,即可分析何處發生錯誤。 即’模擬程式在與糾錯程式通信而施行動作時,會中斷模 擬動作而轉移至等待糾錯程式之指令之模式,再顯示存取 無效區域之錯誤,並早期地確實向用戶傳達程式錯誤之信 息。 又,Λ憶體 < 解碼電路在構成時,有時會省略掉與上位 ί、址訊唬、、泉之連接。此時,即使在目標執行弄錯位址之 程式,也不會成為總線錯誤,但存取動作為寫人動作時, 有可能會改寫到原|無意更動纟位址之内纟,導致其後之 、仃、、、口果典法如原先〈期待。此錯誤之程式在ML模擬程 式中執行_JL即發現錯誤。但,如提供正確之變換 貝訊,使模擬程式僅可執 、丨至』巩仃在正確惑位址之存取時,可立 即對存取指足範圍以外之位址提出警告,因此,用戶可早 期檢測出錯誤之程式,笳兔、么立¥ P省搂思義又分析時間,故可縮短 -20- 571237
(16) 開發週期。 又,糾錯程式可參照儲存於裝置構成記憶部24與超高速 缓衝記憶體構成記憶部25内之資料,產生如圖9B所示之 糾錯程式啟動選擇文件。利用糾錯程式啟動選擇文件,糾 錯程式可施行依據配置之動作。 又,糾錯程式最好具有讀出模擬程式之統計資訊之手 段,以作為假想的暫存器或變數。糾錯程式通常預先設定 所謂Sprofile之變數,以作為特殊之變數。統計資訊係依照 每1區域加以管理,此統計資訊係利用糾錯程式之變數讀 出指令print加以顯示,例如為了顯示區域之第3個資訊, 可利用print $profile [3]之方式加以輸入。 dbg> print $profile [3] profile3 :Count:7 Inst=123 Cycle=145 dbg> 另外,語言工具最好具有可與位址共同地輸出模擬程式 用之糾錯程式用指令之手段,以作為與符號及源列同等之 糾錯程式資訊(不反映於目標之機械指令中)。編譯程式中 具有利用模擬程式等將途中結果等輸出至標準輸出之擴 充功能。接續在#pragma consoleout後之文在目標之機械語 言中不被翻譯,而與符號名及列號同樣地,被儲存於文件 中,以作為糾錯資訊。當模擬程式讀入附有糾錯資訊之選 擇文件時,會記憶定義#pragma文之位址資訊,同時記憶 糾錯輸出資訊之printf (“a=%d¥n”,a)。當模擬程式欲執行該 位址時,判斷必須輸出糾錯資訊,故將printf文送至分析 (17) (17)571237 程式,以輸出糾錯資訊。 如此,即可在模擬程式執行時輸出糾錯資 目標之機械指令造成影響,既不备 /、P ,而不會對 田τ断模擬程式夕姑" 也可確認其内容。此時,模擬程々 飞又執仃》 、執行時所你隹、 訊與目標所執行之資訊相同。換另— $ <、、死計資 說目標與模擬程式可使用同一舞 見方式時’等於
4 知的碼。因此, X 執行環境之差異而產生之再編譯等、 不曰產生因 短開發週期,且因共享單一濟的、 文可相對地縮 易。 π X件,故顯然管理較為容 func(int b){ float a; for(I=l;I<20; i++) { A=b/I; #pragma consoleout printf (“a=%d¥n,,,a). } , (編譯程式用戶化部之構成) 編譯程式用戶化部43係參照儲存於、 人用戶定義模組·用戶定義指令記憶‘、貝訊記憶部 含機械指令函數說明之圖9 c所示::3内之資料,產生 題文件。又’在此所稱機械指令函數命械指令函數說明 語言直接指定處理#固有之指令:、明’由於係由高 之指令,以作為高級語言之函數說明屬於插述處理器固 圖10係表示編譯程式用戶化部43、 圖。在圖10中,機械指令函數說明杯施例之構 抽出部43c係參照 •22· (18) 於用 芦定義模組 令,k 戶疋羲指人、 抽出對應之機絲 7元憶部3内之用戶定義指 係泉昭处 > 和令函數%昍 "A儲存於選摆 硯明。又,結合處理部43 d 羡本43b中選擇對應於有效〜^ 3内之資料,而由已定義之 明。另外,結合虛义選擇指令之機械指令函數說 ψ ^ 邵43d利用脱丄 w部43C供應之機械指人: 册由機械指令函數說明抽 万式,產生機械指令函數說:明結合於前述樣本4Sb之 說明標題文件中包含因配置標題文件。此機械指令函數 應於用戶定義指令之機械沪人而成為有效之選擇指令與對 因此,用戶可由高級語言V二數說明。 擇指令與用戶定義指令,並接指定配置所指定之選 加乂利用。 力外,編譯程式用戶化部 選擇;. 〆、有選擇指令抽出部4 3汪。 宰才曰令抽出部4 3 a參,昭侍4 料π 儲存於選擇資訊記憶部23内之資 +取得可最適於利用之選擇指人m r ,, ^ ' 圮释扣7《訊。依據此選擇指 貝訊,編譯程式用戶化部43可產生指定編譯程式啟動 時之選擇之編譯程式啟動選擇文件(參照圖11Α)。 因此,可將可利用之選擇指令之資訊反映於編譯程式之 最適化之中,且因編譯程式之函數庫可使用啟動選擇文件 而由源程式再編譯,故可產生編入可利用之選擇指令之程 式庫。 (彙編程式用戶化部之構成) 囊編程式用戶化部44係用以編入可利用之選擇指令與 用戶定義指令之助記憶符號與指令型式之資訊而再構建 囊編程式。依據此彙編程式用戶化部4 4,可對可利用之全 -23- 571237 (19) 部指令之組合所組成之彙編程式,產生對應之標的碼。 (驗證向量產生部之構成) 驗證向量產生部45係參照設定文件產生部2内之各記憶 部内所指定之配置,產生驗證指定之系統晶片之構成之驗 證向量。在此’系統晶片較大時’為了在有限之時間内完 成驗證,有必要對由基本之構成變更之部分施以重點式的 驗證。因此,為了對指定之選擇指令與指定之大小之超高 速緩衝記憶體等施以重點式的驗證,驗證向量最好依據指 令系統描述,產生對應於各指令之驗證向量群(圖11 B係表 示驗證向量產生用之用戶定義指令文件之一例)。 其次,更具體地說明本實施形態。 本實施形態之環境可由描述處理器之指令動作之配置 指定文件(體系DB文件),自動地構建RTL、編譯程式、彙 編程式、模擬程式、驗證向量、糾錯程式。此配置指定文 件包含指定多數預先定義之體系中之一種之描述(體系型 態之指定)。作為在此所稱之體系型態之例,包含以VLIW 模態執行(以特定之管線(VLIW槽位)執行)、DSP指令。依 據此體系型態之指定,可控制編譯程式之指令調度、及 VLIW之並聯化機能,且調整指令系統•模擬程式之性能估 計值。利用此環境,用戶可依照應用程式,獨自界定指令 之定義。此用戶所定義之指令稱為用戶定義指令。又,可 利用高階語言製作程式,並使用模擬程式評價其程式之性 能。 另外,可對用戶定義指令,自動地構建機械指令函數之 -24-
571237 (20) 環境,以作為基本的構成要素。利用機械指令函數,可使 用編譯程式所具有之機能,例如指令調度、VLIW之並聯 化(指令壓縮)、暫存器分配等。 以下,在各實施形態中具體地加以說明。 (第一實施形態) 圖12係表示本發明之第一實施形態。即圖12係表示追加 圖1所示系統晶片開發環境產生器4之指令之實施例之概 略構成圖,其構成與圖5所示之構成大致相同。 作為由設定文件產生部2供應之體系DB文件之配置指 定文件係被供應至分析程式(parser)。此分析程式係用以 分析配置指定文件。指令解釋程式係用以分析用戶指定之 指令,並依照分析之指令内容,控制例如RTL產生部、模 擬程式產生部、編譯程式用戶化部、彙編程式用戶化部、 驗證向量產生部、糾錯程式產生部之執行順序。作為執行 方式,可選擇事先登錄一連串之處理内容,而連續地執行 此等之處理之成批處理、及對話式處理等。用户指定之指 令係用例如GUI (Graphical User Interface :圖解用戶介面)、 或 CUI (Character Base User Interface ··字符庫用戶介面)等加 以輸入。前述分析程式有時也利用指令解釋程式加以啟 動。 圖1 3係表示作為體系DB文件之配置指定文件之—例。 在配置指定文件中,例如可描述處理器之指定、暫存哭定 義、指令定義等。在處理器之指定中’例如可插述處理哭 之名稱及型式。在圖1 3中,處理器係以體系型插述其刑式 •25- 571237 — U—Way VLIW)。也就异泠 士 -)也洗疋說,表示在預先定義之+ 選擇2 — WAY之VUW。 心·系中 又,指令定義係由指令之 災去^ 己憶付號、位元組合刑4 及動作描述所組成。在此, 土式、 u兀組合型式包厶垃 作數之位元資訊。 β知作碼及操 動作描述除通常之程々、 …… 式 < 動作描述外,可插述位元八 結合、符號/零擴充、溢出動作等。又&刀 用實現SWAP動作等所需之臨時變數。 ’也可使 又’在圖13中僅記載—部分。 依據弟一實施形態,可制㈤^ 〜了利用指令解釋程式,依昭八姑、 指令内容,控制RTL產生邱__ i '、刀析又 座生邵、模擬程式產生部、 用戶化部、彙編程式用戸仆、 、扁# %式 ;… 戶化邵、驗證向量產生部、糾~ 式產生邵之執行順序。B d錯私 貝斤因此,用户可任意設 產生順序,故可依照岸用浐斗 ' 開發v境艾 境。 用心式《開發順序任意產生開發環 (第二實施形態) 第二實施形態係有關前补、 节關則逑暫存器定義部之 圖14係具體顯示圖j 3戶 、 、 y 所不又暫存器定義部 存器定義部中,可指定通 ^ 存器使用法(函數之返回值 亨布式又暫 接續函數調出指令所調出之函 ㈣暫存-、 出指令所調出之函數之暫存M 子斋、不接%函數調 敷疋i存益、棧指示器敕 指示器用暫存器、小型暫在哭 正粗 之別名足義、及控制暫存 存斋 $孖斋疋義。暫存器使用法可 -26 - (22) (22)571237 省略時,產生適用缺席規則之使用法之編譯程式。 、=圖14中,通用暫存器之數GpR*16個,作為編譯程式 又噶存詻乏使用法,函數之返回值用暫存器定義為暫 存时0函數自變數用暫存器Arg定義為暫存器1、2、3、 零,用暫存器ZERO定義為暫存器12,棧指:字用暫存 备π疋義為暫存器ls。又,定義連接指示器Lp,以作為 控制暫存器。 在別名(alias)定義中,i M w 我肀 T疋義暫存咨之別名,不需要別 時’可加以省略。:ί丨丨1?!如々、# ,^ * 用別名足義,用戶直接描述彙編程 式時,可配合自p夕吉此 ϋ好加以描述。例如,對應於棧指示 心用暫存器SP之暫存器為智 。 、 為嘎存裔15時,可定義SP作為暫 存裔15之別名。如此一决 » 來’在彙編碼内描述SP時,即可 將sp辨識為暫存器15。 又暫存器數較少時,有, 時將—邵分之特殊用暫存器,例 σ小土扣示器用暫存器τρ ^ ^ 1禾予圖不)當作通用暫存器加 以處理。此時,使用此暫 “TP,, ^ m Φ 予裔作為小型指示器時,描述 TP ,使用此暫存器作為 碼。以+ 士々w j養存备時,則描述暫存器號 碼。以此万式描逑時,即可 底被使用作為小型指示器,或碼’區別此暫存器到 可構建維護性較高之囊編碼:疋用作為通用暫存器,故 依據上述配置指定文件 、欠 式、彙編裎六. 田处夂具訊,可定製編譯程 式菜、扁耘式、模擬程式、糾麫 如圖12所示,暫存器之 曰式、驗證向量等。即, n m \ m ρ λγ ' /與暫存器之別名被供應至編 耗式用戶化邵,暫存器
$存裔 < 別名被供應至RTL -27- 571237 刚 (23) 產生部,暫存器名被送交至彙編程式用戶化部、模擬程式 用戶化部、驗證向量產生部、糾錯程式產生部。 例如,編譯程式用戶化部係依據暫存器定義部内所定義 之通用暫存器與控制暫存器之資訊,產生編譯程式。此編 譯程式具有可直接在各暫存器存取之暫存器虛擬變數之 定義,用戶可利用此暫存器虛擬變數,以高階語言直接在 處理器所具有之各暫存器中存取。 又,在配置指定文件中,也可對累加器及移位總量暫存 器界定其定義。 圖1 5係表示累加器之定義之一例之圖。此例中表示有2 個256位元之累加器。 圖1 6係表示移位總量暫存器之定義之一例之圖。此例中 表示有2條移位總量暫存器。 依據上述第二實施形態,用戶可配合配置狀況,變更編 譯程式之用法。例如,在應用程式中,頻繁地使用立即值 “〇”時,可準備經常以“0”作為其值之暫存器,如此即不需 要產生形成立即值“0”用之指令,故可同時_提高代碼大小 及其執行性能。 又,在應用程式中,不太常使用立即值“〇,’時,不必準 備經常以“0”作為其值之暫存器,藉以增加其他用途之暫 存器數,故可降低因暫存器數不足所引起之記憶體存取頻 度,因此,可同時提高代碼大小及其執行性能。 另外,暫存器定義具有缺席規則,用戶省略暫存器之使 用法時,需設定缺席規則之使用法。如此,採用編譯程式 -28- 571237 之缺席規則之使用法時, 1 用戶可計測應用程式之性能,夂 考此計測之性能之結果,可以>、 f此參 、 了以扣定更好的暫存器之使用 法。 又’編譯程式具有暫左 存备虛k變數之定義,因此, 可使用暫存器虛擬變數, 数在暫存器定義所描述之所有暫存 器,在鬲階語言内施行 仃存取。此暫存器虛擬變數有利於在 南階#吾s内在控制智左 μ 。+特別之暫存器施行存取時使 用,也可配合編譯程式之成行裝配機㈣加以利用,因 此,準備全部之暫存F w 、伃态<暫存盗虛擬變數之機能可說相當 有效。 田 另外,暫存器定義部具有別名定義,可配合用戶之直 好,足義暫存器名…,可構建方便使用, ; 之彙編碼。 阿 (第三實施形態) 其次’說明本發明之第三實施形態,第三實施形態係有 關於VUW之實施形態。 4竹有 =於V U W之指令之動作定義係在作為體系D B文件之 文件内之指令以部中加以界I指令定義部中 、=广規格、操作數(〇p)碼、及動作内
St定:二:…,產生定義囊編程式之動作之囊 親故:義又件。且依據動作内容之定義,收集在指令之 如:疋義中未描述之資訊中之指令之動作所需之資訊,例 之高旨令之助記憶符號之資料之讀入及窝入所需 子时及低暫存器或累加器之資訊,將其應用於機械 -29- 571237 (25) 指令函數定義。因此,可供編譯程式施行更好之暫存器分 配與指令調度。 在配置指定文件中也可界定有關共處理器之定義。即, 如圖7所示之處理器2 —般,可使共處理器連接於例如RISC 磁心之類之處理器磁心。作為此共處理器,例如有VLIW (Very Long Instruction Word :甚長指令字)模式之 DSP (Digital Signal Processor :數位訊號處理器)。 圖1 7係表示共處理器之定義之一例。為了與磁心指令作 區別,以體系型態具有表示共處理器定義之資訊。即,描 述共處理器之名稱、及共處理器之型式。在此描述之後, 定義處理器定義與指令定義,以作為共處理器定義之相關 資訊。共處理器定義之相關資訊除了上述處理器定義與指 令定義以外,尚具有VLIW模式之安裝之有無(無、雙並 聯、三並聯)、運算資料寬定義(在共處理器運算途中可獲 保證之資料寬度)。 安裝VLIW模式時,在指令系統定義中含有表示共處理 器指令應進入VLIW模式之槽之何處之資訊(圖17之V3)。 此槽之定義依存於處理器之使用狀況加以決定,係表示在 指令並聯化之際應進入哪一槽之指令之資訊。 依據此資訊產生有關共處理器指令之前述機械指令 函數定義文件。前述編譯程式用戶化部可依據此機械指令 函數定義文件,將用戶所定義之共處理器指令並聯化,且 前述彙編程式用戶化部可依據此機械指令函數定義文 件,檢查並聯化在使用上是否正確。 -30- 571237
(26) 槽之資訊被供應至驗證向量產生部,驗證向量產生部依 據槽之資訊,產生驗證對並聯化指令之處理器之動作所需 之驗證向量。 運算定義寬資訊係表示在指令之動作定義内有臨時變 數時,或有符號擴充運算時’模擬程式應以幾個位元來處 理該臨時變數或符號擴充後之位元寬之資訊。此寬資訊依 存於共處理器之暫存器定義部内所定義之暫存器之位元 寬。例如,共處理器之暫存器之運算寬被指定為以位元 時,運算定義寬資訊最多可指定至64位元。此運算定義寬 資訊被供應至模擬程式用戶化部,並被反映於模擬程式 中 0 依據上述第三實施形態,用戶可擁有對已定義之全部^ 令之機械指令函數之定義文件。因此,藉著使用機械指令 函數,用戶可獲得編譯程式之暫存器分配、指令4周P VLIW之並聯化機能,故在應用程式之開發上大大有κ處 又,槽定義具有在指令並聯化之際,表示應進入哪_槽 之指令之資訊。因此,可組裝於以機械指令函數表現、 4 曰 令之適正之槽中,或可供彙編程式利用適正之桦 〜h,以可促 進用戶對應用程式之開發。 另外,可使指令並聯化之際所使用之槽定義之資訊反映 於機械指令函數定義中,因此,安裝VLIW模式時,产 、 在將 用戶定義之共處理器指令並聯化之際,可將表示應進入哪 一槽之指令之資訊供應至機械指令函數定義。故編譯程式 可對機械指令函數,正確地施行VLIW之並聯化。機械^ -31 - 571237
(27) 令函數因可在高階語言内使用,故可促進用,戶對應用程式 之開發。 又’運算定義寬資訊可反映於模擬程式,因此,模擬程 式可使指令之動作適合於處理器之規格,故可使模擬程式 之動作與實際之處理器之動作一致。 另外,槽資訊可反映於彙編程式,因此,在彙編程式中, 可檢查用戶直接用手描述之彙編碼内之指令之並聯化部 分是否一如規格所示。 又,槽資訊可反映於驗證向量,故可獲得驗證對並聯化 之指令之處理器之動作所需之驗證向量。 (第四實施形態) 其次,說明本發明之第四實施形態。第四實施形態係有 關DSP之實施形態。 作為以用戶定義模組編入DSP用之機能,配置指定文件 具有與其他模組區別用之識別符,在此識別符内描述與 DSP相關連《定義。在DSp之指令定義中,可定義任意之 位元寬之暫存器。 圖1 8係表示D S p模 DSP—NAME之體系^ 〈dspjegister〉附加暫 形,暫存器寬係設定 定義2〇 bits之指人 'Y 。 組用配置指定文件之例。前頭描述著 別用識別符,且在暫存器定義部 存器寬定義REG—WIDTH。在本例之情 於20 bits,且在指令定義部<dsp_ISA> 另外,D S p模矣 數點庵、τ 、、、用配置指定文件可描述未圖示之 數點庫炙小數點 ^置之資訊。此資訊被供應至編 -32- 571237
(28) 用戶化部,並反映於編譯程式之固定小數點庫。 又,在編譯程式之DSP可描述特殊化之機能,此機能例 如為複項資料型、X/Y記憶體、循環緩衝器、固定小數點 資料型、位元反轉、異種暫存器組之對應中之至少1種。 依據上述第四實施形態,配置指定文件含有處理器為 DSP型,硬體之指定為DSP指令型式之描述。另外,在DSP 指令型式中,可設定指令之位元寬,因此,用戶可配合應 用程式之用途,彈性地設定指令之位元寬。故用戶可設定 符合要求之性能之DSP,減少不必要之成本。 又,在DSP指令型式中,可設定暫存器寬,因此,用戶 可配合應用程式之用途,彈性地設定暫存器之位元寬,故 用戶可設定符合要求之性能之D S P,減少不必要之成本。 另外,編譯程式之固定小數點庫一般係彈性地對應於固 定小數點之位置,因此,性能會降低。但在本實施形態中, 由於指定固定小數點庫之小數點位址之資訊可反映於編 譯程式之固定小數點庫中,故可防止性能之降低。 又,用戶可使用適合編譯程式之DSP之特殊化機能,因 此,可縮短應用程式之開發期間,同時提高應用程式之性 能。 (第五實施形態) 第五實施形態係關於 SIMD (Single Instruction Multiple Data :單指令多資料)之實施型態。第五實施形態係將SIMD 之多數資料之處理彙總成1個而加以描述,由此描述,可 產生模擬程式,或對應於多媒體資料型。 571237 (29) 即,指令可處理SIMD資料時,在配置指定文件内之指 令定義部描述表示處理SIMD資料之資訊。作為此種資 訊,例如為指令所處理之資料長、與各指令操作數之資料 長。此資訊可指定SIMD資料寬,適用於機械指令函數定 義與高階語言之SIMD資料用擴充說明符之產生。因此, 用戶可容易對SIMD資料加以處理。以下係表示描述例: CPPACK.B: CRo,CRq,CRp:
Cop: ”SIMD=B,Pack=B:H:H”: 上述例係表示“CPPACK.B”指令之資料長為8位元。即, 表示暫存器為64位元時,為8個並聯,且此暫存器寬與暫 存器定義部内之共處理器之暫存器寬相同。除了 “B”之 外,也可指定“H”(half word ··半字,即16位元)、“W”(word, 全字,即32位元)。另外,可依“U”之有無,區別無符號、 帶符號之資料。例如,描述“B U”時,表示8位元之無符號 之資料。 又,指定“Ραο1^Β··Η··Η”時,表示“CPPACK.B”指令之操作 數“CRo,CRq,CRp”分別為帶符號之8位元、帶符號之16位 元、帶符號之16位元之資料。 圖19係表示SIMD指令之“CPADD.H”之指令定義之例。定 義此指令之共處理器之暫存器例如為64位元寬,此指令之 資料長為“SIMD^H”,即,帶符號之16位元。換言之,此 指令係以4並聯方式計算1 6位元寬之資料。又,利用 - 34- 571237
(30) “PACK=H.H.H”表示此指令之操作數“CR1 CRm,CRn,,分別為 帶符號之1 6位元之資料。另外,利用動作定義表示此指令 係以4並聯方式計算帶符號之1 6位元之資料。此等資訊係 被供應至編譯程式用戶化部、及模擬程式用戶化部。在編 譯程式用戶化部中,將此等資訊反映於編譯程式之高階語 言用擴充說明符之產生、機械指令函數之產生、暫存器分 配、指令調度機能。又,在模擬程式用戶化部中,將此等 資訊反映於模擬之動作、模擬結果之輸出機能。 圖1 9所示之例係以4列表示利用4並聯方式累加· ”口 之16位元之資料之SIMD指令之動作描述。但此動作播述 可利用1列加以描述。 以下表示描述之例。 CR1. h=CRm. h+CRn. h; …⑴ 在上述例(1)中,“.h”係對應於“PACK=H,H,Η”之描述。 圖20係表示上述1列所構成之描述例。 “PACK” 之描述例如為 “PACK=HU,B,BU” 時,μ,, 返例(1 ) 係以下列方式描述: CR1. hu=CRm. b+CRn. bu; …⑺ 圖2 1係表示上述1列所構成之描述例。 另外,使用指標(附標)“i”時,可簡化如下所示之資料 排列不一致之描述。 CR1 [15:0] = CRm [63:48] + CRn [63:48]; CR1 [31:16] = CRm [47:32] + CRn [47:32]; CR1 [47:32] = CRm [31:16] + CRn [31:16]; 35- 571237
CRl [63:48] = CRm [15:0] + CRn [15:0]; 簡化之描述例如下所示: CRl [i] - CRm [3-i] + CR [3_i] ; ·”(3) 例(3 )之情形,指標“i係取依存於指令之資料寬與共處 理器之暫存器之寬之值。“SIMD=H”、共處理器之暫存器 之資料1為64位元時’指標“i”之值為〇〜3。 圖2 2係表示使用上述指標之描述例。 依據上述第五實施形態,有關SIMD之資訊被描述於配 置指定文件之指令定義部。因此,編譯程式用戶化部係依 據有關SIMD指令之資訊,可產生用以產生SIMD指令之機 械指令函數之定義文件。機械指令函數因可在高階語言内 使用,故可促進用戶對應用程式之開發。 又,可使用在高階語言内使用用以說明WMD資料之特 殊修飾詞,故可促進用戶對應用程式之開發。 另外,模擬程式用戶化部可依據所輸入之有關SIME^g 令之資訊’定製模擬程式之動作,故可產生對SIMD指令 正確施行動作之模擬程式。 又,模擬程式用戶化部可依據所輸入之有關SIMD指令 之資訊,定製模擬程式之結果輸出機能,故可產生對simd 指令容易分析之模擬程式之輸出結果。 另外,SIMD指令之動作描述可將多數指令棄總^個指 令加以描述’或利用指標加以描述’ &可簡化讓D指令 之指令動作之描述,因此,SIMD指令夕批人4〜+ _ 7又指令動作之描述 對用戶而言,可望成為直覺上容易瞭解之描述。 -36- (32) 571237
(第六實施形態) 實施形態係關於指令庫之實施形態 用戶可追加適合配置指定文件規格之指令。本系 之開發環境產生系統可保持已 曰9 以下浐、1 &我又知7,並構建成庫。 之令庫。此指令庫係依照指令之種類構成不同 ,'::用戶可利用由指令庫選擇必要之指令,以 殊化成為應用程式之開發環境。 SIMD指令庫中之此等指 事先準備著對此之配置 此等指令之全部或特定 圖23係表示SIMd指令庫之例。 令具有選擇性,有別於基本指令, 指定文件與RTL。用戶可選擇使用 之資料型之指令。 在圖23中,·ΧΧ”中描述助記憶符號“UB,B,UH,H,UW w,, :之-個,以作為指令所使用之資料型。此描述可由用 選擇。又,如圖23所示,也可省略助記憶符號之描述 圮憶苻號固足於“UB,B,UH,H,uw,w,,中之一個時,也可 以下列万式明示。此例係將助記憶符號固定於“h ”。" CPADD. H //2-operand 32bit addition (A<-A+B) 即使在以上述方式描述之情形,變更助記憶符號之播述 時,也可對應其變更。 t 圖24係表tf由指令庫產生編譯程式等工具之方法之構 成圖。用戶使用指令庫之指令時,例如由多數指令庫 ADB1、ADB2,產生符合之中間文件IF1、IF2。此中間文 件IF1、IF2被與基本指令之中間文件IF3合併,將此合併 之中間文件編入編譯程式等時,即可構建全體之環境。 -37· 571237 (33) 上述例係甴各指令庫分別產生中間文件,並將中間文件 合併。但,也可省略中間文件之產生過程,而直接合併由 各指令庫選擇之必要指令。 又,為了在不變更指定之指令庫之指令機能之狀態下, 獲得最適合於用戶要求之應用程式之調度性能,也可在指 令設定分配型式,例如分配槽資訊之機能。 另外,在定義共處理器之際,必定需要例如共處理器與 共處理器之間之資料轉送指令。如此,只要設定可使附帶 之指令(預約指令)自動地合併於主要之指令,編譯程式即 可由高階語言之源位準有效地產生指令庫之指令。或者也 可將預約指令明示地描述於指令庫内。 另外,上述例係說明有關使合併之文件反映於編譯程式 之情形。但,並不限定於此,也可利用將合併之文件供應 至RT L產生部,以選擇安裝而不必變更指定之指令庫之指 令機能,例如也可利用尺寸優先方式產生RTL樣本。採用 此構成方式時,可維持應用程式之性能而將所欲產生之 RTL尺寸控制在最小,故可抑制晶片尺寸之增大,降低成 本。 又,在不必變更指定之指令庫之指令機能之狀態下,基 於性能優先之考量,也可利用可施行高速動作之電路,產 生RTL樣本。採用此構成方式時,可提高縮短應用程式之 等待時間等性能。 依據上述第六實施形態,可對應於應用程式之需要,設 疋描述於指令庫之指令所處理之資料型,故可開發具有適 -38- 571237 (34) 合於應用程式之指令之處理器。 又,即使已經決定描述於指令庫之指令所處理之資 型,也可再變更其資料型,故可變更為適合於應用程式 指令。 另外,由於可由多數指令庫選擇所需之指令,利用合 此等選擇之指令,以設定一個處理器,因此,可產生更 合於應用程式之性質之處理器。 (第七實施形態) 第七實施形態係說明有關作為體系DB文件之配置指 文件内之高階之動作之描述情形。 配置指定文件内之高階之動作描述可施行大致相當 C語言之「文」之描述。但,“!!”(位元連結)、“[]”(部 位元分離)、邏輯運算符則異於C語言。另外,本實施形 之高階之動作描述具有可在式之左邊書寫位元連結之 徵。又,本實施形態之高階之動作描述不含時鐘之概途 係描述指令執行前之暫存器及記憶體之值、與指令執行 之暫存器及記憶體之值之關係。 以下,列示本實施形態之高階之動作描述之差異與 制: •資料型不存在。 β有可使用之變數之規則。 •可寫入位元常數。 ·!!表示位元連結。 •[msb : lsb]表示部分位元分離。 料 之 併 適 定 於 分 態 特 j 後 限 -39 - 571237 (35) •and,or,xor,nor,nand表示位元邏輯運算符 。 •(Signed),(Unsigned)表示造型運算符。 •在儲存運算中,Mem Word 0等函數可寫在左邊。 (可作為變數使用者) •操作數變數 •暫存器變數 •臨時變數 (操作數變數) 操作數變數係描述於指令定義之操作數(< 操作數>) 之變數,可施行下列描述: <暫存器指定> < (abs)型 > < (abs)型 > <心5卩型> < disp 0型> < cpx > (實數部)(虛數部) …複數 < int > …整數 < fit > …浮動小數點 <立即值型> 此等之表示暫存器之參數之字母、及指定符之位元寬必 須與描述於前面之操作數之指令規格一致。 (暫存器變數) 暫存器變數係操作數變數以外之暫存器,可施行下列描 述: •特定標?己(名稱指定、利用數值之索引) 例·· PC,SRRO, CCR3 -40- 571237
(36) 排列指定 例:識別文字串+ ‘[,式‘], 例:CTR [Imm4] 註1 :識別文字串+索引+ ‘[,數值‘],為部分位元分離。 例:CTRn [4]為部分位元分離。CTR [4]相同於CTR4。也 可插述 CTR [Rn] [3:0]。 症2 :不定標記(參數構成之索引標記、等)分類於操
作變數。操作變數以外之不定標記均屬錯誤。 (初級變數) 初級變數係指非操作數變數、暫存器變數之變數。初級 變數之名稱可使用下列名稱: •合乎C語言之變數名之附名稱規則者。 •不與已定義之暫存器名重複者。 •不以操作數變數之各指定符之prefix (詞頭)開頭者。 不以 abs_ ’ imm-,lmm_,disp_,c〇de,targe卜開頭。 (常數): ' SS...S表示位元數。省
與 Vedlog相同,為 ss s,flm 位元數時,為32 bit。f為基數。D ·· i 〇進制,h • 、 · 16進制 〇 : 8進制,b : 2進制。省略此等描述時,為i 〇進 為常數值,常數值不足位元數時,以〇遞補上位位元ηη· 數值大於位元數時,可忽略位元數。ηη η之中,兀处 用段落字。基數及常數值中也可使用大寫字母。不月匕 例·· 3’b001 : 3位元之2進制數 -41- 571237 (37) 32,1^£:32位元之16進制數(上位位元以0擴充) 41234:32位元之16進制數(省略位元數,與32‘〇1234相同) 1 : 32位元之10進制數(省略位元數及基數,與32‘dl 相同) ΗΓ5 : 10位元之10進制數(省略基數,與10’d5相同) (補足) 可描述下列事項: a^b^c+d; •也可寫入函數調出字。 •可在左邊寫入函數調出字。
MemWord (Rn) =a; CTR [Imm4] =b; •連接運算符 ! !:位元連結 •部分位元分離 以[msb:lsb]指定 •預約函數名 記憶體存取函數 MemWord MemDoubleWord MemByte MemHWord MemDefaultSize ControlBus -42- 571237
(38) •位元擴充函數
SignExtension
ZeroExtension •條件判定函數
Overflow (左邊連結) •位元連結寫在左邊時,以()總括起來。 (HI!!L0) =Rn*Rm; (SIMD描述) 參照第五實施形態。 (錯誤檢查機能) 顯示錯誤檢查機能之代表性的機能: (1) 操作數之重複檢查 (2) 依各指令型式所定之暫存器操作數之R0/RW與動作 描述之整合性 (3) SIMD描述、Pack描述與動作描述之整合性:無相當 於SIMD,Pack所指定之資料寬之動作描述時,輸出警報。 具體地依照SIMD/Pack所指定之各資料寬調查動作描述之 内容,發現均無以下之資料寬之部分位元參照/代入存在 時,輸出警報。資料寬與位元寬之關係如以下所示: 資料寬 位元寬(msb_lsb+l) B,UB 8 H,UH 16 W,UW 32 -43 - 571237 (39)
A 8,16,32 (4)參照值未定義之臨時變數 在動作描述中’臨時變數最初出現之 警告。 (5 )未參照數值已定義之臨時變數時, 圖2 5係表示配置指定文件内之指令系 圖。本例係表示LW指令與SWAP指令之定 動作描述({ }所包圍之部分)中,“Rn ”為指 數變數,“disp8”係disp型之操作數變數, 數。“ZeroExtension” 及“MemWord” 分別為施 憶體存取之預約函數。又,SWAP指令之‘· 臨時變數。 依據上述第七實施形態,可在配置指定 描述中使用高階描述,因此,欲追力π新的 且容易分析既存之指令,故容易施;f亍指々 促進用戶對應用程式之開發。 (第八實施形態) 第八實施形態係有關流水線描述。
由下列之流水線描述,可產生用w A 以自動 調度用資訊及危險驗證向量用資訊。 流水線描述包含「流水線型定義 及r (1)流水線型定義 有關流水線型定義之格式如下: PTYPE :〈型名 > : < 資源> ,在右邊時,輸出 輸出警告。 統定義部之例之 義。在LW指令之 定暫存器之操作 “SP”為暫存器變 4亍位元擴充與記 恤?1,,與“恤1)2,,為 文件之指令動作 指令較為容易, ‘之改良、維護, 產生編譯程式之 危險資訊」2項: >,<定時>, -44- (40) 571237 <資源〉,<操作>,<定時>,< <自變數>[ 變 數 >····]; 各PTYPE列中^、欠、広 、貝源 >,< 操作〉, 變數 >,,之四個轡I曰+ 气定時 >,< 自 欠數取起碼必須要有一個。 用“:,,斷開而持續插逑任意之數。 四個變數可利 ΡΤΥΡΕ列中 < 四個變數之意義如下:即^ 器等,操作表示讀/窝等,… …示暫存 數表示對操作階段,自變 係表示在流水線之赇阢立 凡疋說,PTYPE列 >果 < 階段產生對資源之操作 圖26係表示PTYPE列之描述例之圖。 思。 (2)危險資訊 危險負訊之格式如下: HAZARD : <資湄、·〆知^ 貝/原> · <動作1:>(型名 名2)=〈週期數〉; < 動作2> (型 型2之後 表示在資源中,型1之先行指令執行動作i 指令執行動作2之情形之失控數。
甘圖27係表示危險資訊之描述例。遇到此危險資訊時, :二處理器之通用暫存器,利用流水線型“川,,之指 施行烏入,其後,在利用流水線型“pt2 4 <知令謂出相 鼉存器時,必須等待2個週期。 在模擬程式上執行產生危險之指令争之際之失控數決 定於危險資訊、與各指令所指定之流水線定義。 例如’圖28係表示指令“cinstl,,為流水線型“pu,,,指令 、inst2”為流水線型“pt2”之情形之動作。 -45 - 571237
(41) 在圖27所示之危險資訊之情形,在某一共處理器之通用 暫存器,利用流水線型“ptl”之指令施行窝入,其後,在 利用流水線型“pt2”之指令讀出相同暫存器時,必須等待2 個週期。在圖2 8所示之例之情形,在階段“T”中,以指令 “cinstl”在共處理器之通用暫存器“$crl”施行寫入,接著, 等待2個週期後,準備以指令“cinst2”施行同一暫存器之讀 出。在此種情形下,在模擬程式中,指令“cinst2”會失控1 個週期。 (編譯程式用之調度資訊) 圖29係表示編譯程式用之調度資訊之例之圖。 圖29所示之例係表示在PTYPE1之指令後面之PTYPE2之 指令失控3個週期,在PTYPE2之指令後面之PTYPE3之指令 失控4個週期之情形。依據此資訊,編譯程式應極力地施 行調度,以便在PTYPE1與PTYPE2之間空出3個指令,在 PTYPE1與PTYPE3之間空出4個指令。 (危險驗證向量產生用之流水線動作描述) 圖3 0係表示流水線動作描述之例之圖。 此動作描述係由流水線定義與明示性的失控之指定所 組成。有關此描述及由此產生驗證向量之詳細說明在此予 以省略。 依據上述第八實施形態,配置指定文件可包含流水線定 義之描述。因此,可構建流水線,且在流水線定義中,可 包含流水線型之定義、及危險資訊。 又,配置指定文件在有關流水線方面,可包含編譯程式 -46- 571237 (42) 用之調度資訊,因此,編譯程式可依據調度資訊施行調度 動作。 另外,配置指定文件在有關流水線方面,可包含危險驗 證向量產生用之描述,因此,編譯程式可確實施行流水線 之危險驗證。 (第九實施形態) 第九實施形態係有關RTL之合成之實施形態。 圖31係表示圖6所示之RTL產生部之用戶定義模組之高 階合成之情形。即,圖3 1所示之用戶定製指令之高階合成 除了可施行通常之硬體資源分配與調度之外,尚可施行磁 心部及控制總線與記憶體之介面(I/F)之整合及產生。 圖32係表示用戶定製指令之合成中之介面之整合方 法。可利用圖3 1所示之高階合成產生指令本體之RTL。此 時,指令本體部分與磁心部之間需另行產生介面電路。磁 心部與介面電路之間之連接係利用輸出入之暫存器場之 訊號、1 6位元之操作數訊號、失控訊號加以表現。指令本 體係以由此介面電路被調出之型式加以描述。指令本體與 介面電路之間之連接係利用module (模組)之自變數加以 表現。 依據上述第九實施形態,可利用通常之硬體資源分配與 調度、及磁心部及控制總線與記憶體之介面之整合,施行 用戶定製指令之高階合成。 (第十實施形態) 第十實施形態係關於驗證向量產生之情形之實施形態。 -47- 571237
(43) 兹就由前述配置指定文件產生體系驗證程式(AVP : Architecture Verification Program)之產生用資料之方法加以 說明。 (AVP產生所需之資料) 在此,特別將驗證處理器之指令單體之機能用之驗證程 式稱為AVP。為了產生AVP,需使用ISA資訊。isa資訊中 需要以下所述之資料: •助記憶符號 •操作數排列 •操作數資訊 操作數之種類(暫存器/立即值) 操作數之位元寬 操作數為暫存器時,參照/代入之有無 (ISA資訊之產生方法) 六兹說明有關由體系資料庫文件產生ISA資訊之方法 存器定義鄯m ^ . 中,按照每1暫存器種類定義著暫存F n 暫存器之位元會签^ A $伃斋炙數 列、及指八動: 定義部由助記憶符號、操作數 描述表;;i作,義部等所構成。指令動作定義部係利 列之暫存二Γ操作數排列之操作數、未表現於暫存器 動作。 又數吊數寺炙又之万式定義指 圖3 3係表 CPXOR3係表 斋操作數。 不有關例如指令CPX0R3之指令定 一七 〜我。指令 :::要描述CRo、CRq、CRp,以作為暫存 負存為名之接頭語因暫存器之種類而異,以 -48- 571237 開頭之暫存器表示共處理器之通用暫存器。以丫與 園成疋部分係指令動作描述部。在本例之情形,可知 =指令係將計算2個共處理器之通用暫存器CRp、CRq之各 』7C又‘‘異”值之結果代入CR〇之指令。 如前所述,指令定義部具有助 排 ^ U付唬又資訊及操作數 之资~ # π & ^ 為SA與訊之助記憶符號 名夕本^ 泳作數排列中記載有操作數 表。操作數名中,Imm *,j 、 存哭。佔u 係互即值,其他為暫 时使用此規則,可由操作數排列取得各操作 各操作數之資訊利用以下方式取 硕。 時,由暫存器定義資訊取得暫存二操作數為暫存器 即值時,由操作數… 位元寬。操作數為立 作數碼m/ 值之位71寬。具體而言’操 數馬又又子串中,‘i,之個數 知 操作數為暫存器時,操作數^ ^兀見。 1木作数 < 參照/ 、 分析指令動作描述之語法 < 有抶係利用 ' w次又万式所取得。 以程式安裝上述方法時,可由圖33所示… 及圖14所示之暫存器資訊,〈曰令足義部、 訊。 > 成圖34所示之ISA資 (資料之使用方法) 似資訊係用以產生彙 訊。首先’助記憶符號及操作 1…證程式之資 《檢查對象指令碼之目的被使 ::以產生驗證程式中 係為下列目的而被使用。 操作數 < 搡作數資訊 操作數為立即值操作數時 時使用位元寬之資訊產生檢杏 -49 - 571237
(45) 用之立即值資料。操作數為暫存器操作數,其暫存器之值 被參照時,產生由位元寬之資訊等施加至暫存器之值,再 由此產生之值產生設定於暫存器之代碼。產生此值之方法 有下列幾種。 第一種方法係在可設定之位元寬(含符號之數值)中隨 機產生數值之方法。 第二種方法係求出可設定輸入之區域(有2個輸入時,為 2維平面上之區域),將該區域依次細分,而以此細分後之 區域之重心座標作為輸入值之方法。 利用第二種方法,可確實選擇區域之點,且利用重點式 地以交界上及交界附近之點為輸入資料而產生數值時,可 施行交界條件之檢查。 有關產生由IS A資訊驗證各個指令動作用之驗證程式 之方法之詳細内容,礙於說明上篇幅的關係,在此省略其 說明。 操作數為暫存器操作數,且將數值代入該暫存器時,可 產生將代入於暫存器之指令之運算結果輸出至記錄文件 之代碼,可由圖34所示之ISA資訊自動產生圖35所示之驗 證程式。 依據上述第十實施形態,驗證向量產生部可由前述配置 指定文件之動作指令產生處理器之驗證向量,故可確實驗 證處理器之動作,而有助於用戶對LSI之開發。 (第十一實施形態) 第十一實施形態係關於模擬程式之產生之實施形態。 -50- (46) 571237
茲說明由配置指定文件產生模擬程式之方法。 圖36係表示前述模擬程式產生部之概略的動作。模擬程 式產生部係依據配置指定文件與預先準備之C + +模型樣 本產生模擬程式。即,模擬程式產生部利用編入c + +模型 樣本所需之資訊而產生模擬程式之主要部、模擬程式之解 碼表及指令定義部。主要部係依據配置指定文件之標體部
與暫存器說明部而產生,解碼表與指令定義部係依據配置 指定文件之ISA部而產生。 在此,所謂解碼表,係指將程式中之代碼部之位元組合 :毖變換成指令串之變換表D又,所謂C++模型樣本,係 指用以產生模擬程式之c++源碼之樣本,模擬程式產生部 將所需之資訊代入此樣本時,即可產生c++模型。 *主:部中儲存著可利用之指令格式、通用暫存器、控制 1 ' 及大】、、‘令間危險性等之類之模擬程式全體 之資訊。 操作碼 分與指 指令 換成與 指令定 立即值 共處理 附力Π 儲存著配置指定文件之ISA部之各指令定義之 部0模擬程式夕與人 土 • A又扣令碼係利用比較此表之操作碼部 7之操作碼部分,以識別指令之方式而產生。 定義部主袭μ 变係利用將配置指定文件之動作描述變 此相等效之動作之c + +描述之方式而產生。又,在 、邵中也被附如流水線之型式、追蹤輸出之格式、 操作數i 、 、就擴充之有無、在戎處理器之暫存器與 w《暫存器間轉送資料時之轉送方向等之資訊。 轉送方向之資訊之方法如下所述。 •51- 571237 (47) 義之屬性之 : = mkcop 之輸 並以1比1方 產生。暫存 先準備之模 施行對c + + 左邊之位元 轉送方向之資訊係被定義為對各指令定 一。在模擬程式產生部之共處理器模型文件 入)中,係以下列方式被描述。 {name => ‘ICMOV,, cname => ‘CM0V_1,, instType => Ct64c_al% instSubType => 'core cop% # < =由共處理 轉送至磁心 通用暫存器 regsbit => 'true’, opcodeA => ς0χΓ9 opcodeB => c0x0\ opcodeC => ‘0x0,, opcodeD => ς0χ1,, func=> ' #動作描述 通用暫存 }, 動作描述基本上係將變數變換成C + +變數, 式,將運算符變換成與此等效之C + +運算符而 器及記憶體之讀寫及預約函數係利用調出預 擬程式之API函數而產生。 有關不在C + +中之一部分之表現方面,需名 變換之前,變換動作描述。例如,記載於式之 聯結係以以下方式變換。 -52- 571237 (48) (變換前) (A! !B)二Expression; (變換後) TMP=Expression; B二TMP [(B最上位·Β最下位·1) : 0]; Α=ΤΜΡ [(Α最上位+Β最上位·1) : (Β最上位·Β最下位)]; (ΤΜΡ為臨時變數) 又,在SIMD標記方面,係以在第五實施形態所說明之 方式展開。 將數值被其指令動作改寫暫存器輸出至追蹤輸出,有無 寫入於暫存器可從分析該暫存器是否出現於指令之動作 描述之左邊部加以判定。暫存器間之資料轉送也同樣地將 出現於左邊部之暫存器判斷為寫入用暫存器,將出現於右 邊部之暫存器判斷為讀出用暫存器。並視為資料由讀出之 暫存器轉送至窝入之暫存器。 依據上述第十一實施形態,可依照配置指定文件之描 述,產生必要之模擬程式,因此,用戶可模擬應用程式, 並在短時間暸解應用程式之性能。故可縮短開發系統晶片 之期間。 (第十二實施形態) 第十二實施形態係關於糾錯環境之構建之實施形態。 糾錯環境構建用之對應項目有下列3項。 (1)暫存器定義: 糾錯程式必須要有暸解作為可顯示及改寫之暫存器有 -53 - (49) 571237 何種暫存器之資、 ρ 此貝訊係由配置指佘士从 義部所產生。可顯示之暫存器们又件之暫存器定 改窝之暫存器或暫存器之場(暫存=義:全部暫存器。可 示之暫存器定義中 ^ 部分)在圖14所 心我中,例如係被描逑 述為“r”之暫存F A W <暫存器。被描 ⑵㈣存…利用糾錯程式加以改窝。 (2) 逆彙編程式: 糾錯程式料執行之程式施行 起來。逆彙編葙+ π μ 、.扁程式,並加以標記 ㈣μ式係利用與模擬程式… 法,辨識指令,並顯示其助記憶符號。一相同〈万 (3) 糾錯監視器: 糾錯監視器係在糾錯開始時, π 丄 』乂彡又疋暫存器之初始 值。由配置指定文件之暫存器 7士、击匕心 我#獲侍預備設定此初始 值< ΐ存器(存在之暫存器)之資訊。 依據上述第十二實施形態,可由配置指定文件構建糾錯 環境,因此,用戶可獲得開發系統晶片所需之糾錯環境, 故用戶可對應用程式施行糾錯,並縮短開發應用程式之期 間。 又’本發明並不限定於上述各實施形態。 圖3 7係表示應用上述各實施形態之系統晶片開發環境 產生裝置之概觀。此系統晶片開發環境產生裝置5 〇包含所 喷通用龟月回、工作站、PC (Personal Computer :個人電腦)、 NC (Network Computer :網路電腦)等。系統晶片開發環境 產生裝置50具有未圖示之硬碟裝置5〇a。 另外’系統晶片開發環境產生裝置5 0具有例如軟碟機5 2 -54- (50) 571237
光碟機54中裝有光 及光碟機54。軟碟機52中劈古 τ I有軟碟5 3 碟55。 又,連接於系統晶片開發 兄產生裝置50之驅動裝甕5 7 例如為記憶卡58之讀窝器 %裝置 ^ #. ^ w . /卡式磁帶59足讀寫器。利用 此驅動裝置57存取記憶卡58、或卡式磁帶59。
前=指令解釋程式、RTL產生部、模擬程式用戶化部、 扁譯粒式用戶化部、彙編程式用戶化部、驗證向量產生 邵、及則錯程式產生部等之程式、及配置指定文件等文件 :系被記憶於軟碟53、A碟55、記憶卡58、或卡式磁帶59 等之記憶冑體。制# *必匕φ程式及文件,將纟安裝於前 述硬碟裝置50a ’即可執行上述之動作,且也可使用上述 <傳送媒體,作為記錄媒體。
有氣於精通此技術領域者可輕易地對本發明之實施形 悲加以模仿或變更,獲取附加利益。因此,從廣義而言, 本發明之内容不應僅限定於上述特殊細節及代表性之實 施形態’從而在不背離其精神或一般發明概念下,如所附 申請專利範圍等闡述之要旨之範圍内,當然可作種種適當 之變更,不待贅言。 圖式代表符號說明 元件編號 中文 1 系統晶片開發裝置 2 设定文件產生部 3 用戶定義模組•用戶定義指令記憶部 4 系統晶片開發環境產生部 -55 - 571237 (51) 5 性 能 評 價 部 6 結 束 判 定 部 7 變 更 項 a 設 定 部 8 輸 出 入 介 面 部 9 控 制 部 10 輸 入 部 11 輸 出 部 21 輸 入 分 析 部 22 局 部 記 憶 變 換 表 產 生 部 23 選 擇 資 訊 記 憶 部 24 裝 置 構 成 記 憶 部 25 超 南 速 緩 衝 記 憶 體 構 成記憶部 26 局 部 記 憶 變 換 表 記 憶 部 41 RTL產 生 郎 42 模 擬 程 式 用 戶 化 部 43 編 譯 程 式 用 戶 化 部 44 彙 編 程 式 用 戶 化 部 45 驗 證 向 量 產 生 部 41a RTL樣 本 41b RTL樣 本 4 1c RTL描: 述 41d 連 接 部 41e 階 合 成 處 理 部 42a 模 擬 程 式 樣 本部 42b 模 擬 程 式 樣 本
-56- 571237 (52) 42c 再 編 譯 部 42d 啟 動 選 擇 資 訊 抽 出 部 42e 組 合 處 理 部 43a 選 擇 指 令 資 訊 抽 出 部 43b 已 定 義 之 樣 本 43c 機 械 指 令 函 數 說 明 抽 出 部 43d 結 合 處 理 部 ADB 1 多 數 指 令 庫 ADB2 多 數 指 令 庫 IF1 指 令- 庫 之 中 間 文 件 IF2 指 令 庫 之 中 間 文 件 IF3 基 本 指 令 之 中 間 文 件 50 系 統 晶 片 開 發 環 境 產 生 裝置 52 軟 碟 機 53 軟 碟 54 光 碟 機 55 光 碟 56 鍵 盤 57 驅 動 裝 置 58 記 憶 卡 59 卡 式 磁 帶 5 0a 硬 碟裝 置 m
-57-
Claims (1)
- 571237 拾、申請專利範園 1. 一種用以開發系統晶片之開發環境的產生方法,其係 包含: 分析所輸入之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生編譯程式用戶化部、彙編程 式用戶化部、及模擬程式產生部,前述配置指定文件 包含執行指令之硬體之指定,利用前述編譯程式用戶 化部構建用以開發系統晶片之編譯程式,利用前述彙 編程式用戶化部構建彙編程式,利用前述模擬程式產 生部構建模擬程式者。 2·如申請專利範圍第1項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含定義暫 存器之構成之暫存器定義者。 3·如申請專利範圍第2項之用以開發系統晶片之開發環 境的產生方法,其中前述暫存器定義係包含定義前述 編譯程式之暫存器之使用方法之資訊者。 4·如申請專利範圍第2項之用以開發系統晶片之開發環 境的產生方法,其中前述暫存器定義係包含定義前述 編譯程式之暫存器之使用方法之資訊,此資訊被省略 時,利用前述編譯程式用戶化部設定編譯程式之缺席 規則之暫存器之使用方法者。 5·如申請專利範圍第4項之用以開發系統晶片之開發環 境的產生方法,其中前述編譯程式用戶化部係依據前 571237 定義可直接在各暫存器存取之 述暫存器定義之資訊 暫存器虛擬變數者。 6·如申請專利範團 境的產生方法弟1…開發系統晶片之開發環 ^.^ M _其中則逑暫存器定義係包含暫存器之 :扁“二:逑暫存器之別名定義係被供應至前述彙 、漏式用戶化部者。 7·如申請專利範圍 境的產生 、用以開發系統晶片之開發環 /,其中前述開發環境進一步包各 8:申量…、糾錯程式產生部中 境的:生二t圍第7項之用以開發系統晶片之開發環 、 万/ ,其中前述暫存器定義包含暫存哭名, 此暫存器名被供鹿5m u ^存时名 …[、應至則述編譯程式用戶化部、彙編程 式用戶化邵、模擬程式 .,^ 、η尸化邰rtl屋生部、驗證向 I屋生邵、及糾錯程式產生部者。 9·如申請專利範園第2項之 ^ , W . 系統晶片之開發環 兄、產〃法,其中前述配置指定文件係包含指令之 規格、操作數碼、動作内容者。 ^如申請專利範園第2項之用以 浐从力4 4 系統晶片之開發環 、f 0 ^ # ' 八用戶化邵係依據前 述扣々疋義邵之資訊產生機械指令函數定義者。 U·如申請專利範園第i項之用以開發 貧糸統晶片之開發環 境的產生万法,其中前述配置指定文件之處理器係 VUW型’硬體之指定係包wLIW之指令型式之指定、 及VLIW之槽之指定中一方者。 57123712. 如申請專利範圍第1 1項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含槽定 義,其係在將指令並聯化之際,用以區別置於何槽之 指令者。 13. 如申請專利範圍第1 1項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含槽定 義,其係使將指令並聯化之際所使用之槽資訊反映於 機械指令函數定義者。 14·如申請專利範圍第1 1項之用以開發系統晶片之開發環 境的產生方法,其中依據處理器之規格指定指令動作 描述内之臨時變數及符號擴充後之值之位元寬,將其 資訊供應至模擬程式用戶化部,使其反映於前述模擬 程式者。 15.如申請專利範圍第1 3項之用以開發系統晶片之開發環 境的產生方法,其中將前述槽資訊供應至彙編程式用 戶化部,使其反映於前述彙編程式者。 16·如申請專利範圍第1 5項之用以開發系統晶片之開發環 境的產生方法,其中將前述槽資訊供應至前述驗證向 量產生部,使其反映於前述驗證向量者。 17. —種用以開發系統晶片之開發環境的產生方法,其係 包含: 分析所輸入之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生編譯程式用戶化部、彙編程 571237式用戶化部、及模擬程式產生部,前述配置指定文件 之處理器為DSP型,硬體之指定包含DSP指令型式之描 述,利用編譯程式用戶化部構建編譯程式,利用前述 - 彙編程式用戶化部構建彙編程式,利用前述模擬程式 , 產生部構建模擬程式者。 18. 如申請專利範圍第1 7項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含指定任 意位元寬之指令之資訊者。 · 19. 如申請專利範·圍第1 7項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含定義任 意位元寬之暫存器之資訊者。 20. 如申請專利範圍第1 7項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含指定固 定小數點庫之小數點位置之資訊,利用前述編譯程式 用戶化部將此資訊供應至編譯程式之固定小數點庫 者。 · 21·如申請專利範圍第1 7項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件之處理器為DSP 型時,包含對應於前述編譯程式之DSP之機能者。 2Z如申請專利範圍第1 7項之用以開發系統晶片之開發環 境的產生方法,其中對應於前述編譯程式之D S P之機能 , 係包含複項資料型、X/Y記憶體、循環緩衝器、固定小 , 數點資料型、位元反轉、異種暫存器組中之至少1種者。 23. —種用以開發系統晶片之開發環境的產生方法,其係 571237包含: 分析所輸入之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生編譯程式用戶化部、彙編程 式用戶化部、及模擬程式產生部,前述配置指定文件 之處理器為SIMD型,硬體之指定包含SIMD指令型式之 描述,利用前述編譯程式用戶化部構建編譯程式,利 用前述彙編程式用戶化部構建彙編程式,利用前述模 擬程式產生部·構建模擬程式者。 24. 如申請專利範圍第23項之用以開發系統晶片之開發環 境的產生方法,其中前述編譯程式用戶化部係依據有 關輸入之SIMD指令之資訊,產生機械指令函數定義者。 25. 如申請專利範圍第2 3項之用以開發系統晶片之開發環 境的產生方法,其中前述編譯程式用戶化部係依據有 關輸入之SIMD指令之資訊,產生特殊資料型者。 26. 如申請專利範圍第23項之用以開發系統晶片之開發環 境的產生方法,其中前述模擬程式用戶化部係依據有 關輸入之SIMD指令之資訊,使用戶執行模擬程式之動 作者。 27. 如申請專利範圍第23項之用以開發系統晶片之開發環 境的產生方法,其中前述模擬程式用戶化部係依據有 關輸入之SIMD指令之資訊,使用戶執行模擬程式之結 果輸出機能者。 28.如申請專利範圍第23項之用以開發系統晶片之開發環 571237境的產生方法,其中前述SIMD指令之動作描述係將多 數指令彙總成1個指令而加以描述者。 29. 如申請專利範圍第23項之用以開發系統晶片之開發環 境的產生方法,其中前述SIMD指令之動作描述係利用 指標描述者。 30. —種用以開發系統晶片之開發環境的產生方法,其係 包含: 由含有已定義之多數指令之多數指令庫選擇必要之 指令, _ 合併此等選擇之指令而產生適應於應用程式之開發 環境,且前述開發環境係包含構建編譯程式之編譯程 式用戶化部、構建彙編程式之彙編程式用戶化部、及 構建模擬程式之模擬程式產生部者。 31. 如申請專利範圍第3 0項之用以開發系統晶片之開發環 境的產生方法,其中進一步包含由前述多數指令庫選 擇必要之指令後,在前述各指令庫產生中間庫,並合 併此等中間庫者。 32·如申請專利範圍第3 0項之用以開發系統晶片之開發環 境的產生方法,其中進一步包含由前述多數指令庫選 擇必要之指令後,在前述各指令庫產生中間庫,並合 併此等中間庫與基本指令之中間庫者。 33.如申請專利範圍第3 0項之用以開發系統晶片之開發環 境的產生方法,其中前述指令庫内之指令係可選擇前 述指令所使用之資料型者。 57123734. 如申請專利範圍第3 0項之用以開發系統晶片之開發環 境的產生方法,其中前述指令庫内之指令係可變更指 令所使用之資料型者。 35. —種用以開發系統晶片之開發環境的產生方法,其係 包含Ζ 分析所輸入之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生系統晶片之開發環境, 前述開發環·境包含構建編譯程式之編譯程式用戶化 部、構建彙編程式之彙編程式用戶化部、及構建模擬 程式之模擬程式產生部, 前述配置指定文件包含高階之描述者。 36·如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述高階之描述係至少包含對位 元連結、部分位元分離、函數型式、符號之造型運算 符、臨時變數、溢出之動作描述者。 37·如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述高階之描述亦可在式之左邊 描述位元連結者。 38·如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件係包含流水線 定義之描述者。 39·如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述流水線定義之描述係包含流 571237水線型之定義者。 40. 如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述流水線定義之描述係包含危 險資訊者。 41. 如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件在有關流水線 方面,包含編譯程式用之調度資訊者。 42. 如申請專利範圍第3 5項之用以開發系統晶片之開發環 境的產生方法,其中前述配置指定文件在有關流水線 方面,包含產生危險驗證向量用之描述者。 43. —種用以開發系統晶片之開發環境的產生方法,其係 包含: 分析所輸入之指令, 按照前述分析之指令,由記載於描述系統晶片之配 置之配置指定文件之動作指令產生RTL產生部,且前述 RT L產生部包含施行硬體資源分配與調度之調度部、整 合磁心部及控制總線與記憶體之介面之介面整合部、 及將C語言變化為Verilog之變換部者。 44·如申請專利範圍第43項之用以開發系統晶片之開發環 境的產生方法,其中前述介面整合部係由前述動作指 令施行硬體資源分配與調度,並整合磁心部及控制總 線與記憶體之介面,以產生RTL者。 45· —種用以開發系統晶片之開發環境的產生方法,其係 包含: 571237分析所輸入之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生系統晶片之開發環境, 前述開發環境包含產生驗證向量之驗證向量產生 部,前述驗證向量產生部由前述配置指定文件之動作 指令產生處理器之驗證向量者。 46. 如申請專利範圍第45項之用以開發系統晶片之開發環 境的產生方法,其中前述驗證向量產生部係由前述配 置指定文件之·暫存器資訊產生ISA資訊者。 47. —種電腦可讀取式媒體,其記錄用以產生開發系統晶 片之開發環境之程式,該程式係包含·· 分析輸入至電腦之指令, 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生編譯程式用戶化部、彙編程 式用戶化部、及模擬程式產生部,配置指定文件包含 執行指令之硬體之指定,利用前述編譯程式用戶化部 構建用以開發系統晶片之編譯程式,利用前述彙編程 式用戶化部構建彙編程式,利用前述模擬程式產生部 構建模擬程式者。 48·如申請專利範圍第47項之電腦可讀取式媒體,其中前 述配置指定文件係包含定義暫存器之構成之暫存器定 義者。 49·如申請專利範圍第47項之電腦可讀取式媒體,其中前 述暫存器定義係包含定義前述編譯程式之暫存器之使 571237用方法之資訊者。 50. 如申請專利範圍第4 8項之電腦可讀取式媒體,其中前 述暫存器定義係包含定義前述編譯程式之暫存器之使 用方法之資訊,此資訊被省略時,利用前述編譯程式 用戶化部設定編譯程式之缺席規則之暫存器之使用方 法者。 51. 如申請專利範圍第5 0項之電腦可讀取式媒體,其中前 述編譯程式用戶化部係依據前述暫存器定義之資訊, 定義可直接在_各暫存器存取之暫存器虛擬變數者。 52·如申請專利範圍第48項之電腦可讀取式媒體,其中前 述暫存器定義係包含暫存器之別名定義,前述暫存器 之別名定義係被供應至前述彙編程式用戶化部者。 53.如申請專利範圍第47項之電腦可讀取式媒體,其中前 述開發環境進一步包含RTL產生部、驗證向量產生部、 糾錯程式產生部者。 54·如申請專利範圍第5 3項之電腦可讀取式媒體,其中前 述暫存器定義包含暫存器名,此暫存器名被供應至前 述編譯程式用戶化部、彙編程式用戶化部、模擬程式 用戶化部、RTL產生部、驗證向量產生部、及糾錯程式 產生部者。 55.如申請專利範圍第48項之電腦可讀取式媒體,其中前 述配置指定文件係包含指令之規格、操作數碼、動作 内容者。 56·如申請專利範圍第48項之電腦可讀取式媒體,其中前 -10- 571237述編譯程式用戶化部係依據前述指令定義部之資訊產 生機械指令函數定義者。 57.如申請專利範圍第4 8項之電腦可讀取式媒體,其中前 述配置指定文件之處理器係VLIW型,硬體之指定係包 含VLIW之指令型式之指定、及VLIW之槽之指定中一方 者058·如申請專利範圍第57項之電腦可讀取式媒體,其中前 述配置指定文件係包含槽定義,其係在將指令並聯化 之際,用以區·別置於何槽之指令者。 59.如申請專利範圍第57項之電腦可讀取式媒體,其中前 述配置指定文件係包含槽定義,其係使將指令並聯化 之際所使用之槽資訊反映於機械指令函數定義者。6〇.如申請專利範圍第57項之電腦可讀取式媒體,其中依 據處理器之規格指定指令動作描迷内之臨時變數及符 號擴充後之值之位元寬1其資訊供應至模擬程式用 戶化部,使其反映於前述模擬程式者 讀取式媒體,其中將 化郅’使其反映於前 δ1·如申請專利範圍第59項之電腦可 前述槽資訊供應至彙編程式用戶 述菜編程式者。 62.:申請專利範園第59項之電腦可讀取式媒體,其中 前述槽資訊供應至前述驗證向晋念 _ 貫產生部,使其反映 則述驗證向量者。 63·種電腦可讀取式媒體’其記錄用、 衣用以產生開發系統 片之開發環境之程式’該程式係包含·· -11- 571237分析輸入於電腦之指令’ 依據按照前述分析之指令描述系統晶片之配置之配 置指定文件之資訊,產生構建編譯程式之編譯程式用 戶化部、構建彙編程式之彙編程式用戶化部、及構建 模擬程式之模擬程式產生部,前述配置指定文件之處 理器為DSP型,硬體之指定包含DSP指令型式之描述, 利用前述編譯程式用戶化部構建編譯程式,利用彙編 程式用戶化部構建彙編程式,利用前述模擬程式產生 部構建模擬程·式者。 64·如申請專利範圍第63項之電腦可讀取式媒體,其中前 述配置指定文件係包含指定任意位元寬之指令之資訊 者。 65. 如申請專利範圍第63項之電腦可讀取式媒體,其中前 述配置指定文件係包含定義任意位元寬之暫存器之資 訊者。 66. 如申請專利範圍第63項之電腦可讀取式媒體,其中前 述配置指定文件係包含指定固定小數點庫之小數點位 置之資訊,利用前述編譯程式用戶化部將此資訊供應 至編譯程式之固定小數點庫者。 67. 如申請專利範圍第6 3項之電腦可讀取式媒體,其中前 述配置指定文件之處理器為DSP型時,包含對應於前述 編譯程式之DSP之機能者。 6S·如申請專利範圍第63項之電腦可讀取式媒體,其中對 應於前述編譯程式之D SP之機能係包含複項資料型、 12-571237 χ/γ記憶體、循環緩衝器、固定小數點資料型、位元反 轉、異種暫存器組中之至少1種者。 69. —種電腦可讀取式媒體,其記錄用以產生開發系統晶 片之開發環境之程式,該程式係包含: 分析輸入至電腦之指令, 按照前述分析之指令,依據配置指定文件之資訊, 產生編譯程式用戶化部、彙編程式用戶化部、及模擬 程式產生部,前述配置指定文件之前述處理器為SIMD 型,硬體之措定包含SIMD指令型式之描述,利用前述 編譯程式用戶化部構建編譯程式,利用前述彙編程式 用戶化部構建彙編程式,利用前述模擬程式產生部構 建模擬程式者。 70·如申請專利範圍第69項之電腦可讀取式媒體,其中前 述編譯程式用戶化部係依據有關輸入之SIMD指令之資 訊,產生機械指令函數定義者。 71·如申請專利範圍第69項之電腦可讀取式媒體,其中前 述編譯程式用戶化部係依據有關輸入之SIMD指令之資 訊,產生特殊資料型者。 72·如申請專利範圍第69項之電腦可讀取式媒體,其中前 述模擬程式用戶化部係依據有關輸入之SIMD指令之資 訊,使用戶執行模擬程式之動作者。 73.如申請專利範圍第69項之電腦可讀取式媒體,其中前 述模擬程式用戶化部係依據有關輸入之SIMD指令之資 訊,使用戶執行模擬程式之結果輸出機能者。 -13-571237 74.如申請專利範圍第69項之電腦可讀取式媒體,其中前 述SIMD指令之動作描述係將多數指令彙總成1個指令 而加以描述者。 75·如申請專利範圍第69項之電腦可讀取式媒體,其中前 述SIMD指令之動作描述係利用指標描述者。 76. —種電腦可讀取式媒體,其記錄用以產生開發系統晶 片之開發環境之程式,該程式係包含: 使電腦由含有已定義之多數指令之多數指令庫選擇 必要之指令,· 合併此等選擇之指令而產生適應於應用程式之開發 環境,且前述開發環境係包含構建編譯程式之編譯程 式用戶化部、構建彙編程式之彙編程式用戶化部、及 構建模擬程式之模擬程式產生部者。 77·如申請專利範圍第76項之電腦可讀取式媒體,其中進 一步包含由前述多數指令庫選擇必要之指令後,在前 述各指令庫產生中間庫,並合併此等中間庫者。 7δ·如申請專利範圍第7 6項之電腦可讀取式媒體,其中進 一步包含由前述多數指令庫選擇必要之指令後,在前 述各指令庫產生中間庫,並合併此等中間庫與基本指 令之中間庫者。 79.如申請專利範圍第7 6項之電腦可讀取式媒體,其中前 述指令庫内之指令係可選擇前述指令所使用之資料型 者0 80·如申請專利範圍第7 7項之電腦可讀取式媒體,其中前571237 埏拍7庫内之指令係可變更指令所使用之資料型者。 81·-種電腦可讀取式媒體,其記錄用以產生開發系統晶 片义開發環境之程式,該程式係包含: 分析輸入至電腦之指令, 按照前述分析之指令,依據配置指定文件之資訊, 屋生構建編譯程式之編譯程式用戶化部、構建彙編程 式<彙編程式用戶化部、及構建模擬程式之模擬程式 屋生部,前述配置指定文件包含描述系統晶片之配置 之高階之描述,利用前述編譯程式用戶化部構建編譯 弋、利用如述彙編私式用戶化部構建彙編程式,利 用如述模擬程式產生部構建模擬程式者。 82·如申請專利範圍第8 i項之電腦可讀取式媒體,其中前 述高階之描述係至少包含對位元連結、部分位元分 離、函數型式、符號之造型運算符、臨時變數、溢出 之動作描述者。 83·如申請專利範圍第“項之電腦可讀取式媒體,其中前 述高階之描述亦可在式之左邊描述位元連結者。 84·如申請專利範圍第8 i項之電腦可讀取式媒體,其中前 述配置指定文件係包含流水線定義之描述者。 85.如申請專利範圍第8 1項之電腦可讀取式媒體,其中前 述流水線定義之描述係包含流水線型之定義者。 86·如申請專利範園第8 1項之電腦可讀取式媒體,其中前 述流水線定義之描述係包含危險資訊者。 s7•如申請專利範圍第8 1項之電腦可讀取式媒體,其中前 -15-571237 述配置指定文件在有關流水線方面$包含編譯程式用 之調度資訊者。 88. 如申請專利範圍第8 1項之電腦可讀取式媒體,其中前 述配置指定文件在有關流水線方面,包含產生危險驗 證向量用之描述者。 89. —種電腦可讀取式媒體,其記錄用以產生開發系統晶 片之開發環境之程式,該程式係包含: 分析輸入至電腦之指令, 按照前述分析之指令,由記載於描述系統晶片之配 置之配置指定文件之動作指令產生包含調度部、介面 整合部、及變換部之RTL產生部,利用前述調度部施行 硬體資源之分配與調度,利用介面整合部整合磁心部 及控制總線與記憶體之介面,利用前述變換部將C語言 變化為Verilog者。 90·如申請專利範圍第8 9項之電腦可讀取式媒體,其中前 述介面整合部係由前述動作指令施行硬體資源分配與 調度,並整合磁心部及控制總線與記憶體之介面,以 產生RTL者。 -16-
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002127381A JP4202673B2 (ja) | 2002-04-26 | 2002-04-26 | システムlsi開発環境生成方法及びそのプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW571237B true TW571237B (en) | 2004-01-11 |
Family
ID=28786839
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW091123691A TW571237B (en) | 2002-04-26 | 2002-10-15 | Method of generating development environment for developing system chip and medium which stores program therefor |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US7168060B2 (zh) |
| EP (1) | EP1357485A3 (zh) |
| JP (1) | JP4202673B2 (zh) |
| KR (1) | KR100533307B1 (zh) |
| CN (1) | CN100338568C (zh) |
| TW (1) | TW571237B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI493368B (zh) * | 2009-12-07 | 2015-07-21 | Ibm | 自動產生查詢歷程 |
| TWI758319B (zh) * | 2016-09-20 | 2022-03-21 | 英商Arm股份有限公司 | 用於處置針對向量指令的元素間位址危害的裝置及資料處理方法 |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB0215033D0 (en) * | 2002-06-28 | 2002-08-07 | Critical Blue Ltd | Instruction set translation method |
| WO2004015563A1 (en) * | 2002-08-09 | 2004-02-19 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
| US6986023B2 (en) | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
| US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
| US7302380B2 (en) * | 2002-12-12 | 2007-11-27 | Matsushita Electric, Industrial Co., Ltd. | Simulation apparatus, method and program |
| US6986110B1 (en) * | 2003-01-02 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Automated method and system for backtracing of instruction parameters from specified instruction in test cases |
| US7707566B2 (en) * | 2003-06-26 | 2010-04-27 | Microsoft Corporation | Software development infrastructure |
| US7086041B2 (en) * | 2003-06-27 | 2006-08-01 | Microsoft Corporation | Extensible type system for representing and checking consistency of program components during the process of compilation |
| US7559050B2 (en) * | 2003-06-30 | 2009-07-07 | Microsoft Corporation | Generating software development tools via target architecture specification |
| US7685581B2 (en) * | 2003-06-27 | 2010-03-23 | Microsoft Corporation | Type system for representing and checking consistency of heterogeneous program components during the process of compilation |
| US7788652B2 (en) * | 2003-06-27 | 2010-08-31 | Microsoft Corporation | Representing type information in a compiler and programming tools framework |
| US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
| US7675509B2 (en) * | 2005-01-13 | 2010-03-09 | Sony Corporation | Methods and apparatus for optical wireless communication |
| KR100638476B1 (ko) * | 2004-12-22 | 2006-10-26 | 삼성전자주식회사 | 버추얼 플랫폼 기반의 시스템 온 칩 개발 환경 및 개발 방법 |
| JP2006243839A (ja) * | 2005-02-28 | 2006-09-14 | Toshiba Corp | 命令生成装置及び命令生成方法 |
| JP2006243838A (ja) * | 2005-02-28 | 2006-09-14 | Toshiba Corp | プログラム開発装置 |
| CN100468327C (zh) * | 2005-11-10 | 2009-03-11 | 鸿富锦精密工业(深圳)有限公司 | 量测程序生成系统及方法 |
| US7836435B2 (en) * | 2006-03-31 | 2010-11-16 | Intel Corporation | Checking for memory access collisions in a multi-processor architecture |
| JP2007310565A (ja) | 2006-05-17 | 2007-11-29 | Toshiba Corp | システムlsi検証装置及びシステムlsi検証プログラム |
| US7486096B2 (en) * | 2006-10-31 | 2009-02-03 | International Business Machines Corporation | Method and apparatus for testing to determine minimum operating voltages in electronic devices |
| WO2008062768A1 (fr) | 2006-11-21 | 2008-05-29 | Nec Corporation | Système de génération de code d'opération de commande |
| US7809925B2 (en) * | 2007-12-07 | 2010-10-05 | International Business Machines Corporation | Processing unit incorporating vectorizable execution unit |
| JP5116624B2 (ja) * | 2008-09-29 | 2013-01-09 | ルネサスエレクトロニクス株式会社 | シミュレーション装置及びシミュレーション方法 |
| JP2010160622A (ja) * | 2009-01-07 | 2010-07-22 | Toshiba Corp | シミュレータ |
| KR101603202B1 (ko) * | 2009-09-21 | 2016-03-14 | 삼성전자주식회사 | 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치 |
| JP2013517565A (ja) * | 2010-01-12 | 2013-05-16 | グーグル インコーポレイテッド | オペレーティングシステム自動更新手順 |
| US8370784B2 (en) * | 2010-07-13 | 2013-02-05 | Algotochip Corporation | Automatic optimal integrated circuit generator from algorithms and specification |
| US8423929B2 (en) | 2010-10-18 | 2013-04-16 | Algotochip Corp. | Intelligent architecture creator |
| KR20120077164A (ko) | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 구조를 사용하는 복소수 연산을 위한 사용하는 장치 및 방법 |
| US20120185820A1 (en) * | 2011-01-19 | 2012-07-19 | Suresh Kadiyala | Tool generator |
| US20130290693A1 (en) * | 2012-04-27 | 2013-10-31 | Esencia Technologies Inc. | Method and Apparatus for the Automatic Generation of RTL from an Untimed C or C++ Description as a Fine-Grained Specialization of a Micro-processor Soft Core |
| US9734263B2 (en) * | 2012-12-20 | 2017-08-15 | Intel Corporation | Method and apparatus for efficient pre-silicon debug |
| US9244683B2 (en) * | 2013-02-26 | 2016-01-26 | Nvidia Corporation | System, method, and computer program product for implementing large integer operations on a graphics processing unit |
| JP6214455B2 (ja) * | 2014-04-11 | 2017-10-18 | 三菱電機株式会社 | 命令テーブル生成装置、命令デコードプログラム生成装置、命令テーブル生成方法、命令デコードプログラム生成方法、およびプログラム |
| US9747084B2 (en) * | 2014-09-09 | 2017-08-29 | Google Inc. | Offline shader compilation |
| CN104965687B (zh) * | 2015-06-04 | 2017-12-08 | 北京东方国信科技股份有限公司 | 基于指令集生成的大数据处理方法及装置 |
| US11475197B2 (en) * | 2018-09-25 | 2022-10-18 | Synopsys, Inc. | Hardware simulation systems and methods for identifying state-holding loops and oscillating loops |
| JP7024679B2 (ja) * | 2018-10-05 | 2022-02-24 | オムロン株式会社 | 開発支援プログラム、開発支援装置、および開発支援方法 |
| CN111400979A (zh) * | 2020-03-24 | 2020-07-10 | 杭州博雅鸿图视频技术有限公司 | Soc的仿真方法、系统、电子设备及存储介质 |
| CN111522583A (zh) * | 2020-04-08 | 2020-08-11 | 芯海科技(深圳)股份有限公司 | 一种生成配置文件的方法、装置、计算机设备及存储介质 |
| CN111913097B (zh) * | 2020-08-26 | 2022-11-29 | 西安微电子技术研究所 | 一种用于测试SoC功能的测试电路、测试方法和SoC |
| CN112100954B (zh) * | 2020-08-31 | 2024-07-09 | 北京百度网讯科技有限公司 | 验证芯片的方法、装置和计算机存储介质 |
| CN112486906B (zh) * | 2020-12-18 | 2024-06-11 | 清华大学 | 格式化的可重构处理器汇编指令处理方法及装置 |
| US12242543B1 (en) * | 2021-01-15 | 2025-03-04 | Wells Fargo Bank, N.A. | Configuration-based development of analytics pipelines |
| TWI764581B (zh) * | 2021-02-22 | 2022-05-11 | 群聯電子股份有限公司 | 記憶體檢查方法、記憶體檢查裝置及記憶體檢查系統 |
| US12259806B2 (en) * | 2022-10-03 | 2025-03-25 | Synopsys, Inc. | Managing high performance simulation representation of an emulation system |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5623684A (en) * | 1994-05-17 | 1997-04-22 | Commquest Technologies, Inc. | Application specific processor architecture comprising pre-designed reconfigurable application elements interconnected via a bus with high-level statements controlling configuration and data routing |
| JP2869379B2 (ja) | 1996-03-15 | 1999-03-10 | 三菱電機株式会社 | プロセッサ合成システム及びプロセッサ合成方法 |
| GB2320111A (en) * | 1996-12-06 | 1998-06-10 | Jba Holdings Plc | Data processing system and method for software development/configuration |
| JPH10222548A (ja) * | 1997-02-05 | 1998-08-21 | Hitachi Ltd | 設計支援方法 |
| US6112018A (en) * | 1997-12-18 | 2000-08-29 | Advanced Micro Devices, Inc. | Apparatus for exchanging two stack registers |
| KR100775547B1 (ko) | 1999-02-05 | 2007-11-09 | 텐실리카 인코포레이티드 | 구성가능한 프로세서를 설계하기 위한 프로세서 자동 생성시스템 및 방법 |
| US6477683B1 (en) * | 1999-02-05 | 2002-11-05 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
| US7036106B1 (en) * | 2000-02-17 | 2006-04-25 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
| JP2001249826A (ja) * | 2000-03-03 | 2001-09-14 | Rooran:Kk | システムlsi開発支援システムとその開発支援用プログラムを記録した記録媒体 |
| US20010025363A1 (en) * | 2000-03-24 | 2001-09-27 | Cary Ussery | Designer configurable multi-processor system |
| JP2002230065A (ja) * | 2001-02-02 | 2002-08-16 | Toshiba Corp | システムlsi開発装置およびシステムlsi開発方法 |
| JP3764405B2 (ja) * | 2002-05-27 | 2006-04-05 | 株式会社東芝 | デバッグ装置及びデバッグ方法 |
| JP2006243839A (ja) | 2005-02-28 | 2006-09-14 | Toshiba Corp | 命令生成装置及び命令生成方法 |
-
2002
- 2002-04-26 JP JP2002127381A patent/JP4202673B2/ja not_active Expired - Lifetime
- 2002-07-19 US US10/197,891 patent/US7168060B2/en not_active Expired - Fee Related
- 2002-07-25 EP EP02016338A patent/EP1357485A3/en not_active Withdrawn
- 2002-10-15 TW TW091123691A patent/TW571237B/zh not_active IP Right Cessation
- 2002-10-30 KR KR10-2002-0066498A patent/KR100533307B1/ko not_active Expired - Fee Related
- 2002-10-31 CN CNB021482489A patent/CN100338568C/zh not_active Expired - Fee Related
-
2006
- 2006-11-06 US US11/556,817 patent/US20070061763A1/en not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI493368B (zh) * | 2009-12-07 | 2015-07-21 | Ibm | 自動產生查詢歷程 |
| TWI758319B (zh) * | 2016-09-20 | 2022-03-21 | 英商Arm股份有限公司 | 用於處置針對向量指令的元素間位址危害的裝置及資料處理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1453699A (zh) | 2003-11-05 |
| EP1357485A3 (en) | 2008-10-22 |
| KR100533307B1 (ko) | 2005-12-05 |
| US20030204819A1 (en) | 2003-10-30 |
| JP2003323463A (ja) | 2003-11-14 |
| CN100338568C (zh) | 2007-09-19 |
| US20070061763A1 (en) | 2007-03-15 |
| US7168060B2 (en) | 2007-01-23 |
| EP1357485A2 (en) | 2003-10-29 |
| JP4202673B2 (ja) | 2008-12-24 |
| KR20030084554A (ko) | 2003-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW571237B (en) | Method of generating development environment for developing system chip and medium which stores program therefor | |
| US5918035A (en) | Method for processor modeling in code generation and instruction set simulation | |
| Leupers | Retargetable code generation for digital signal processors | |
| JP2869379B2 (ja) | プロセッサ合成システム及びプロセッサ合成方法 | |
| US8887121B2 (en) | Developing programs for hardware implementation in a graphical specification and constraint language | |
| JP2002230065A (ja) | システムlsi開発装置およびシステムlsi開発方法 | |
| US8601413B2 (en) | High-level synthesis device, high-level synthesis method, high-level synthesis program, and integrated circuit design method | |
| US11513818B1 (en) | Method, product, and system for integrating a hardware accelerator with an extensible processor | |
| SE505783C3 (sv) | Foerfarande foer att tillverka en digital signalprocessor | |
| Qin et al. | Architecture Description Languages for Retargetable Compilation. | |
| US9383977B1 (en) | Generation of compiler description from architecture description | |
| TW201214181A (en) | System, architecture and micro-architecture (SAMA) representation of an integrated circuit | |
| Soubra et al. | Towards Universal COSMIC Size Measurement Automation. | |
| Fauth | Beyond tool-specific machine descriptions | |
| US8689202B1 (en) | Scheduling of instructions | |
| Fischer et al. | Design space characterization for architecture/compiler co-exploration | |
| Brandner et al. | Automatic generation of compiler backends | |
| Seng et al. | PD-XML: extensible markup language for processor description | |
| Daly | Efficiently Synthesizing a Complete Set of Unique Instruction Selection Rewrite Rules Using SMT | |
| Mishra et al. | Architecture description languages | |
| JP2008243042A (ja) | ハイブリッドモデルのシミュレーション装置、方法及びプログラム | |
| Marwedel | MIMOLA—a fully synthesizable language | |
| Liu et al. | GCC Toolchain Design Scheme Supporting PSPCore Coprocessor Instruction | |
| Dingankar et al. | MMV: Metamodeling Based Microprocessor Valiation Environment | |
| Akhlaq et al. | Assembler generator and cycle-accurate simulator generator for nogap |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| GD4A | Issue of patent certificate for granted invention patent | ||
| MM4A | Annulment or lapse of patent due to non-payment of fees |