• 沒有找到結果。

嵌入式系統硬體平台開發與整體發展環境設計

N/A
N/A
Protected

Academic year: 2021

Share "嵌入式系統硬體平台開發與整體發展環境設計"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

嵌入式系統硬體平台開發與整體發展環境設計

計畫類別: 個別型計畫

計畫編號: NSC93-2213-E-011-048-

執行期間: 93 年 08 月 01 日至 94 年 07 月 31 日 執行單位: 國立臺灣科技大學電子工程系

計畫主持人: 林銘波

報告類型: 精簡報告

處理方式: 本計畫可公開查詢

中 華 民 國 94 年 10 月 12 日

(2)

行政院國家科學委員會專題研究計畫成果報告

嵌入式系統硬體平台開發與整體發展環境設計(II)

The Development and Design of an Embedded Hardware Platform and its Integrated Design Environment

計畫編號: NSC 93-2213-E011-048

執行期限: 93 年 08 月 01 日至 94 年 07 月 31 日

主持人: 林銘波 國立台灣科技大學電子工程系 計畫參與人員: 林晉禾 張育賓 李總

國立台灣科技大學電子工程系

一、摘要

A. 中文摘要

由 於 積 體 電 路 積 集 密 度 的 高 度 發 展 與 成 熟,將計算機系統當作一個元件,設計複雜的數 位系統,已經成為一種可行而且最具成本效益的 方 式 。 這 種 系 統 稱 為 嵌 入 式 系 統 ( embedded system)或是系統晶片(system on a chip,SOC)。

一個嵌入式系統的成功與否,必須下列三大 技術互相配合:嵌入式硬體平台的建立、整體發 展環境的發展、與嵌入式系統軟體設計,方能成 功。其中前兩者為提供硬體平台及發展環境;後 者則為應用系統的應用軟體系統設計,以定義最 後的應用產品規格。在本計畫中,我們主要著重 於設計嵌入式硬體平台與發展一個相關的整體 發展環境(integrated development environment,

IDE),以提供應用領域的使用者可以據以發展 與定義其最後的嵌入式系統。

由於目前與未來的 ASIC/嵌入式系統實現技 術,均以 CPLD/FPGA 與 cell-based library 兩項技 術為主,因此在硬體平台的設計上將以 Soft IP 為 主要考量,而整體發展環境(IDE)則提供 C 語 言與組合語言的程式設計環境,以適應時代的潮 流。

本計畫所設計完成的 Proto-II-6502-with-ICE 已經分別在 Xilinx 的 Virtex XCV-400 FPGA 以及 TSMC 0.25 µm 元件庫(cell library)上實現以及 驗證。在 FPGA 設計的部分,其系統工作頻率為 15.9 MHz,硬體模擬器工作頻率為 1.5 MHz。在 元件庫設計的部分,系統工作頻率為 100 MHz,

硬體模擬器工作頻率為 10 MHz,核心(core)面 積為 459 µm

×

459 µm,晶片功率消耗為 78.55 mW。

關鍵字:嵌入式系統,整體發展環境(IDE)、

Soft IP、SOC、FPGA/CPLD、cell-based library。

(3)

B. 英文摘要

With the advent of VLSI technology, the use of computer as a component to design a complex digital system has become a feasible and cost- effective manner. A system embedded with a computer system is usually called an embedded system or SOC (system on a chip).

Whether an embedded system is successful or not depends on how the following three techniques are cooperated: embedded hardware platform, integrated development environment (IDE), and embedded system software. The former two techniques provide a basic platform for developing the specific system; the last defines the end product based on the embedded hardware platform by the use of software tools providing by the IDE. In this project, we will concentrate on the development and realization of a new embedded hardware platform and a user friendly IDE so that the product engineers can use it to develop their specific embedded systems easily.

Since CPLD/FPGA and cell-based library are the two primary techniques for constructing ASICs and embedded system platforms for current and in the near future, our major concern in the project is to develop a soft IP for the hardware platform so that we can make full use of the flexibility of soft IPs. As for IDE, we will provide both C and assembly languages as the application development tools to fit the industry trend.

In this project, Proto-II-6502-with-ICE has been implemented and verified with Xilinx Vertex XCV-400 FPGA and TSMC 0.25 µm cell library.

In the FPGA part, the entire proto-II-6502 operates at the frequency of 15.9 MHz and ICE block operates at the frequency of 1.5 MHz. In the cell-based part, the entire proto-II-6502 operates at

the frequency of 100 MHz, ICE block operates at the frequency of 10 MHz, the core occupies the area of 459 µm

×

459 µm, and power dissipation is about 78.55 mW in the chip.

Key words: embedded system, integrated development environment (IDE), Soft IP, SOC, FPGA/CPLD, cell-based library.

二、研究動機

由 於 積 體 電 路 積 集 密 度 的 高 度 發 展 與 成 熟,以往使用 PCB 完成的系統,現在只需要一小 塊矽晶片即可,也因為如此大部分的消費性產品

(手機、數位相機、Camcorder、等等)均內嵌 微處理器(有些會再加上 DSP 處理器)系統(即 將計算機系統當作一個元件,因而稱為嵌入式系 統),以簡化系統的設計。至於微處理器是多少 個位元(8、16、32)則依實際上的產品需要而 定。嵌入式系統有著降低成本與減少功率消耗等 絕對性的優點,因此目前及未來的電子相關產 品,將以此為主要的設計平台而不是傳統性的 PCB。

在整個電子相關產業中,嵌入式系統現在及 未來將成一個非常重要的核心,在數量上它的需 求量比桌上型電腦多 100 倍以上,單單在 1997 年,總產值就已經超過 9,408 M 美元,其中 Motorola 就已經賣掉 20 億個以上的 MC68HC11 系統。目前與未來的嵌入式系統之主要應用市場 為:通信產品、汽車控制、軍事設備、醫學儀器、

消費性電子產品、機器控制等。

由於有廣大而具有潛力的商機,目前工業界 與學術界莫不致力於發展各式各樣的嵌入式系 統,以期在此市場上佔有一席之地。然而,一個 嵌入式系統的成功與否,必須下列三大技術互相 配合:嵌入式硬體平台的建立、軟體發展環境的

(4)

發展、與嵌入式系統軟體設計,方能成功。其中 前兩者為提供硬體平台及發展環境;後者則為應 用系統的應用系統軟體設計,其最後的軟體則由 實際上的應用產品規格決定。

在本計畫中,我們主要著重於設計嵌入式硬 體平台與發展一個相關的整體發展環境(IDE),

以提供應用領域的使用者可以據以發展與定義 其最後的嵌入式系統。由於目前與未來的 ASIC/

嵌 入 式 系統實 現 技 術,絕 大 多 數會以 CPLD/

FPGA 與 cell-based library 兩項技術為主,因此在 硬體平台的設計上將以 Soft IP 為主要考量,而整 體發展環境(IDE)則以 C 語言配合組合語言的 程式發展為主,以適應時代的潮流。

本計畫在上一年度中,已經完成 8 位元的 Pro-to-II-6502-with-ICE CPU 與 BDM 模組 IP 的 設計、驗證及 C 編譯程式、組譯程式、模擬程式 的建立。在本年度中則繼續完成計畫中預期完成 的 I2C (Inter-IC Bus) 、 PWM (Pulse-width modulator) 、 UART (Universal asynchronous receiver and transmitter)、GPIO (General-purpose input and output)等週邊模組的設計、驗證,以及 加強整合開發環境 Proto-6502 IDE 之功能,其完 整的系統架構如圖 1 所示。

pinA 5 pinA 6 pinA 2 pinA 1 P W M

UART GPIO-A IIC

ADDRESS DATA BUS BUS

Proto-II-6502-with-ICE Computer

P r oto- 6502 I DE

scl_io sda_io outpin 0 outpin 1 outpin 2 outpin 3 rxd sdo tsre data_ready

pinA 0

GPIO-B

d 1 d 0

d 7 d 6 a 0a 1a 15 a 14

tdo tdi tck tms nmi irq rst trst_n

so degreq

rom_cs_n

ready degack

ADDRESS DECODE

mem_oe_n r_wb

pinA 3 pinA 4

pinA 7 pinB 0 pinB 1

pinB 6 pinB 2 pinB 3 pinB 4 pinB 5 pinB 7

clk

JTAG Cable Circuit Printer Line

圖 1:Proto-II-6502 嵌入式系統方塊圖 在 I2C、PWM、UART、GPIO 等週邊模組 的設計上,我們採用與 MC68HC11/12 系列的相

容的架構,表 1 為各週邊裝置的記憶體對應表 (Memory Map)。

表 1. Proto-II-6502 嵌入式系統記憶器位址配置表

三、Proto-II-6502 嵌入式系統週邊模組設計 3.1. I2C 匯流排控制器

Inter-IC Bus (IIC 或 I2C)為一個由兩條導線 所組成的雙向序列匯流排,它可以提供各個裝置 之間一個簡單、有效的資料交換方法。由於只須 要使用兩條導線來連接各個裝置,它大大的簡化 了裝置之間的連線問題,並且可以省略裝置之間 所必須的位址解碼器(Address Decoder)。

在 I2C 模組設計方面,我們採用 Motorola MC68HC11/12 I2C 相容的架構,該架構具有以下 的特色:

1. 符合 I2C 匯流排的標準規範。

2. 支援多個伺服器(Master)同時連接於匯流排 上。

3. 軟體可規劃的資料傳送速率。

4. 進行資料處理時,可以主動發出硬體中斷要 求或被動的由 CPU 來進行查詢。

(5)

5. 仲 裁 (Arbitration) 失 敗 後 , 會 自 動 由 伺 服 (Master)模式切換至用戶(Slave)模式。

6. 提供起始(Start)以及終止(Stop)訊號的偵測 及產生,並且可以產生再起始(Repeat start) 訊號。

7. 軟體可規劃的認知(Acknowledge)位元。

8. 自動偵測匯流排是否在使用中。

圖 2 為所設計的 I2C 模組之功能方塊圖,表 2 為 I2C 模組記憶體位址對應表(Memory Map)。

圖 2:I2C 模組功能方塊圖

Address Use Access Base +$0 I2C-Bus Address Register (IBAD) Read/Write

Base +$1 I2C-Bus Frequency Divider Register (IBFD) Read/Write Base +$2 I2C-Bus Control Register (IBCR) Read/Write Base +$3 I2C-Bus Status Register (IBSR) Read/Write Base +$4 I2C-Bus Data I/O Register (IBDR) Read/Write

表 2:I2C 模組記憶體位址對應表

IBAD 決定該 I2C 模組的用戶端位址(Slave Address);IBFD 設定 I2C 匯流排上的資料傳送速 率,也就是設定串列時脈線(Serial Clock Line , SCL)上的同步時脈頻率,它一共有 256 種變化可 供選擇;IBCR 為 I2C 模組的控制暫存器,設定 I2C 模組是否啟 用、使用伺 服器 /用戶 端模式 (Master/Slave Mode)、回應要求與否、是否產生

起始訊號(Start)、終止訊號(Stop)、再起始訊號 (Repeat start),等等;IBSR 反應 I2C 匯流排的狀 態,例如匯流排忙碌中、資料傳送中、資料傳送 完成,等等;IBDR 傳送及接收資料,所有輸出 或輸入資料皆先暫時儲存在此暫存器中。

I2C 匯流排上一個正常的資料傳送過程由四 個部分所組成,如圖 3 所示,最先出現的是起始 (Start)訊號,緊接著的是用戶端(Slave)位址,其 後是傳送的資料內容,最後再送出一個終止(Stop) 訊號。

圖 3:I2C 匯流排信號傳送

I2C 匯流排上的訊息則以邏輯 AND 方式進 行處理,若有多個伺服端同時送出起始訊號以爭 取匯流排的使用權時,I2C 模組將開始進行仲裁 (Arbitration)的機制,失敗的 I2C 模組將自動退出 競賽,停止資料的傳送,並切換到用戶端模式,

同時對 CPU 發出中斷要求。I2C 模組於下列情形 之一時,會發出中斷要求:

1. 仲裁失敗(Arbitration Lost);

2. 一位元組(Byte)的資料傳送或接收完成時;

3. 被定址為用戶端時。

當出現中斷要求時處理的流程如圖 4 所示。

在 I2C 模組設計完成後,我們使用 ATMEL 公司所開發的 AT24C04 EEPROM 來對其進行寫 入與讀出操作,以測試 I2C 模組的伺服端模式的 功能是否正確,並且使用一個用戶端的有限狀態 機(FSM)來對 Winbond 公司所開發的 W24257A SRAM 進行寫入與讀出動作,以測試 I2C 模組的 用戶端模式功能是否正確。在測試實驗中,SCL 與 SDA 兩條信號線必須使用兩個 2.5 kΩ的電阻

(6)

提升(Pull-up)至 VDD。I2C 模組的測試電路如圖 5 所示。

圖 4:中斷要求處理流程

IIC

8 MHz +3.3v

+ 3.3v

Pull-up resistors (2.5 kΩ) GND

+ 3.3v AT24C04 EEPROM ADDRESS MODE

4 MHz +3.3v

XILINX FPGA

XILINX FPGA

圖 5:I2C 模組測試線路圖

3.2 脈波寬度調變器(PWM)

在 PWM 模組設計方面,我們採用 Motorola MC68HC11/12 PWM 相容的架構,該架構提供四 個獨立的 8 位元 PWM 通道(Channel),這四個獨 立的 PWM 亦可以成對的串接成為兩個 16 位元 PWM 通道(通道 0 與 1 為一對,通道 2 與 3 為一 對),或者只串接其中一對成為一個 16 位元的 PWM(通道 0 與或是通道 2 與 3),剩下的兩個依 然只當作 8 位元 PWM 通道使用,其特色如下:

1. 各個獨立的 PWM 通道的脈波週期(Period) 及工作週期(Duty cycle)皆可以由軟體進行 規劃。

2. 各個通道皆有一個專用的計數器(Counter)。

3. 可各別設定通道的啟用或停用。

4. 各通道的脈波極性可以由軟體設定。

5. 使用雙倍的緩衝器(Buffer),以提供更有效 率的波形變化。

6. 可規劃的時脈選擇功能。

7. 四個時脈來源(A、B、S0、S1)以提供更廣的 頻率選擇範圍。

圖 6 為 PWM 模組功能方塊圖,表 3 為 PWM 的記憶體位址對應表。PWCLK 決定通道是否串 接使用,並決定時脈的除頻值;PWPOL 決定各 通道所使用的時脈來源以及起始脈波之極性;

PWEN 決定各個通道是否被啟用;PWPRES 與 PWSCAL0、PWSCNT0、PWSCAL1、PWSCNT1、

PWCNT0–3、PWPER0–3、PWDTY0-3 等計算各 通道的脈波長度,並決定脈波週期以及需要的工 作週期等等;PWCTL 控制 PWM 是否進入等待 模式或停止模式,並決定 PWM 要以左端或中心 模式對脈波進行調變。

圖 6:PWM 模組功能方塊圖

(7)

Address Use Access Base +$00

Clocks and Concatenate Register (PWCLK) Read/Write Base +$01

Clock Select and Polarity Register (PWPOL) Read/Write Base +$02 PWM Enable Register (PWEN) Read/Write

Base +$03

PWM Prescale Counter (PWPRES) Read/Write Base +$04

PWM Scale Register 0 (PWSCAL0) Read/Write Base +$05

PWM Scale Counter Register 0 (PWSCNT0) Read Base +$06

PWM Scale Register 1 (PWSCAL1) Read/Write Base +$07

PWM Scale Counter 1 Value (PWSCNT1) Read Base +$08

∼ $0B

PWM Channel Counters 0–3 (PWCNT0–3) Read/Write

Base +$0C

∼ $0F

Channel Period Registers 0–3(PWPER0–3) Read/Write

Base +$10

∼ $13

Channel Duty Registers 0–3(PWDTY0-3) Read/Write

Base +$14

PWM Control Register (PWCTL) Read/Write Base +$15

PWM Special Mode Register (PWTST) Read/Write

表 3:PWM 模組記憶器位址配置表

圖 7 為時脈來源的架構圖,四個時脈來源分 別為 A、B、S0 以 S1 等。

圖 7:時脈來源架構圖

在 PWM 模組設計完成後,我們實際下載至 FPGA 模擬板,並利用邏輯分析儀觀察各個通道 的輸出波形,進行 PWM 模組的功能正確性驗證。

3.3 通用非同步列傳送接收器 (UART)

表 4 為 UART 模組的記憶體位址配置表,而 圖 8 為 UART 的功能方塊圖。UCR 控制 UART

模組的資料傳送接收以及中斷要求。UCR[0]為 XMT 啟始位元,當 UCR[0]由 1 轉變為 0 時,則 UART 開始傳送 UDTR 內之資料,並於傳送完成 後,對 CPU 發出中斷要求,同時設定中斷標誌 (XMT Interrupt Flag),即 UCR[4]=1。UCR[5]為資 料接收完成之中斷標誌(RCV Interrupt Flag),

UCR[4]以及 UCR[5]均必須使用軟體清除。UDTR 暫存欲傳送的資料;UDRR 暫存接收到的資料;

UCDR 決定資料傳送速率(Baud Rate)。

Address Use Access Base +$0 UART Control Register (UCR) Read/Write

Base +$1 UART Data Transfer Register (UDTR) Read/Write Base +$2 UART Data Receiver Register (UDRR) Read/Write Base +$3 Clock Divided Register (UCDR) Read/Write

表 4:UART 模組記憶器位址配置表

UART Data Transfer Register (UDTR)

UART Data Receiver Register (UDRR)

UART Serial Transfer Register (USTR)

UART SerialReceiver Register (USRR) Clock Divided Register (UCDR) UART Control Register (UCR)

sdo

rxd Data_ready

Parity_error

Framing_error Din

Dout

R_wb clk rst C_E Addr[1:0]

圖 8:UART 功能方塊圖

3.4 通用並列輸入輸出埠(GPIO)

表 5 為 GPIO 模組的記憶體位址配置表,其 中 PORTA/PORTB 分別設定 A/B 埠的資料內 容;DDRA/DDRB 則分別決定 A/B 埠中各個位元 的資料傳送方向。

Address Use Access Base +$0 Port A Register (PORTA) Read/Write

Base +$1 Port B Register (PORTB) Read/Write Base +$2 Direction for Port A (DDRA) Read/Write Base +$3 Direction for Port B (DDRB) Read/Write

表 5:GPIO 模組記憶器位址配置表

(8)

在 GPIO 模組設計完成後,我們實際下載至 FPGA 模擬板,並將輸出入埠串接上 LED,再使 用軟體對其進行規劃,進行 GPIO 模組的功能正 確性驗證。

四、整合開發環境的架構

在 上 一 年 度 的 開 發 中 , 我 們 完 成 了 使 用 Borland C++ Builder 5.0 所開發的 IDE,它包含以 下的功能:

1. 文字編輯。

2. 檔案和專案管理。

3. 程式的編譯和組譯。

4. 模擬器呼叫的功能。

5. ICE 控制介面。

在本年度的計劃中,我們整合了軟體模擬 器、ICE 與程式編輯下載功能,使其可以進行即 時編譯、下載、硬體監測與硬體除錯,以強化整 合開發環境的能力,及使用上的便利性,使整個 開發過程更為簡便。修改後的 Proto-6502 IDE 有 以下的特色:

1. 軟/硬體模擬與除錯。

2. 提供即時編輯下載。

3. 即時指令說明。

4. 提供 Run(執行)、Step into(單步或進入函 式)、Step over(跳出函式)、Animate(連續單 步)等除錯方式。

5. 軟/硬體中斷點(Breakpoint)設定。

6. 軟/硬體中斷向量(Interrupt vector)設定,如圖 13 所示。

7. 記憶體保護區段設定,如圖 13 所示。

8. 編輯器(Editor)、Disassemble、Memory 等等 視窗的個人喜好設定,如圖 14 所示。

9. 即時軟/硬體資料的修改。

10. 硬體自動偵測。

圖 9 為 Proto-6502 IDE 的主畫面,其中包含 了三個主要的區域,工作區、指令說明區、工具 列與選單。

圖 9:Proto-6502 IDE 主畫面

工作區主要用以編輯程式,並於模擬與除錯 過 程 中 , 用 以 顯 示 組 譯 (Assemble) 與 反 組 譯 (Disassemble)之結果;指令說明區即時顯示各指 令的說明及格式;工具列與選單設定系統資訊、

開啟新檔、除錯與執行,等等。

當使用者欲進行程式編輯時,可點選工具列 上的 Open(Ctrl+O)按鈕以開啟舊檔,或點選工具 列上的 New(Ctrl+N)按鈕以開啟新文件,程式編 輯的畫面如圖 10 所示。

圖 10:Proto-6502 IDE 程式編輯畫面

(9)

指令說明區會自動列出使用者游標所在位 置的指令說明,與自動依照使用者所鍵入的字串 自動比對可能的指令(例如:只鍵入“L”時,則會 自動列出“LDA、LDX、LDY、LSR”等開頭為“L”

的指令)。在程式編輯區中,可以同時開啟多份程 式,以同時進行編輯與除錯。

當使用者完成了程式設計後,若想要進行硬 體 即 時 監 測 與 除 錯 時 , 可 以 點 選 工 具 列 上 的 WITH ICE 按鈕,如圖 11 所示。按下該按鈕時,

程式會自動進行硬體偵測,以確認接線是否正 確。若硬體連接錯誤時,系統會發出警示,以告 知使用者。

圖 11:WITH ICE

在硬體即時,除錯畫面中主為包含了五個主 要的子視窗分別為:

1. 程式編輯視窗

2. 反組譯(Disassemble)視窗 3. 暫存器(Register)視窗、

4. 記憶體管理(包含 6502 µP Memory、Zero Page Memory、6502 µP Stack 等)視窗 5. 變數位址對應表。

如圖 12 所示。

當在 WITH ICE 的模式下時,反組譯、暫存 器以、記憶體管理等三個子視窗之資料內容皆為 實際的硬體資料內容,當對此三個視窗內之資料 進行變更時,都會直接修改到實際的硬體內容。

於進行除錯(Debug)過程中,若欲設定中斷 點時,可於欲中斷的指令上連續點擊兩下(Double Click) , 或 於 該 指 令 上 按 下 滑 鼠 右 鍵 , 並 選 取”Breakpoint Setting”選項即可,被設定中斷點的 指令前會出現一個藍色圓點。當欲進行記憶體內 容修改時,可於記憶體管理視窗上,直接對欲變

更的記憶體位置連續點擊兩下(Double Click),或 於記憶體管理視窗上,按右鍵並選擇“Modify Memory”選項以設定資料。

圖 12:Proto-6502 IDE 軟/硬體即時除錯畫面

圖 13:Proto-6502 IDE 軟/硬體即時除錯功能設定

圖 14:Proto-6502 IDE 個人喜好設定

(10)

五、FPGA 設計實現與驗證流程

圖 15 為使用 FPGA 模擬器的系統測試架構 圖,其基本的邏輯架構與暫存器轉換層測試平台 一致。整個測試環境包括電腦印表機埠(Printer Port),FPGA,兩個 32 k × 8 的 SRAM 以及根據 平 行 下 載 電 纜 系 統 ( Parallel Download Cable Scheme)[8]所擴展而成的 JTAG 電纜電路,以及 各週邊測試線路。

P W M

UART GPIO-A IIC

ADDRESS DATA BUS BUS

Proto-II-6502-with-ICE P r oto- 6502

I DE

GPIO-B

tdo tdi tck tms nmi irq rst trst_n

so degreq

ready degack

ADDRESS DECODE

JTAG Cable Circuit Printer Line

邏輯分析儀 Terminal

LEDLEDLEDLED

Oscillator

64 k RAM

圖 15:Proto-II-6502 嵌入式系統 FPGA 測試架構 圖 16 為測試流程圖。整體發展環境中的 ICE 控 制 介 面 , 首 先 使 Proto-II-6502-with-ICE 的 RESET 訊號保持為 1,使內部 Proto-II-6502 進入 RESET 狀態。再利用嵌入式硬體模擬器的寫入記 憶 體 功 能 , 將 機 器 碼 下 載 至 指 令 記 憶 體

(instruction memory)內,使用控制軟體執行硬 體模擬器功能,並將 Proto-II-6502 啟動,觀察嵌 入式硬體模擬器功能是否正確。

六、結論

在本計畫中,我們設計了 Proto-II-6502-with- ICE 8 位元微處理器與 I2C、PWM、UART、GPIO 等 週 邊 的 Soft IP ; 在 PC 上 建 立 Proto- II-6502-with-ICE 的 整體發 展環境 ( Proto-6502 IDE),以提供使用者設計、驗證、實現其最後 規格的嵌入式系統。

S ta rt

C h e c k th e IC E fu n c tio n a n d c o m p a re th e c a lc u la tio n re s u lt w ith

e x p e c te d d a te

P ro g ra m fin is h e d ?

N o m o re p a tte rn s ?

E n d D o w n lo a d th e

R O M c o d e b y IC E fu n c tio n K e e p C P U in th e

re s e t s ta te

N o

N o Y e s

Y e s S e t IC E fu n c tio n

R e le a s e th e re s e t s ig n a l o f C P U

圖 16:FPGA 模擬器的系統測試流程圖 基於此 Soft IP 的建立,在未來的 SOC 相關 研究問題的研究上,例如低功率 SOC 設計問題、

SOC 測試問題、16/32 位元 CPU、及時作業系統,

將有相當大的助益。完成的系統亦可以技術轉移 予相關業者使用。

本計畫所設計的 Proto-II-6502-with-ICE 已經 分別在 Xilinx 的 Virtex XCV-400 FPGA 以及 TSMC 0.25 µm 元件庫(cell library)上實現以及 驗證。在 FPGA 設計的部分,其系統工作頻率為 15.9 MHz,硬體模擬器工作頻率為 1.5 MHz。在 元件庫設計的部分,系統工作頻率為 100 MHz,

硬體模擬器工作頻率為 10 MHz,核心(core)面 積為 459 µm

×

459 µm,晶片功率消耗為 78.55 mW。晶片的規格表歸納於表 1,而 Proto-II-6502- with-ICE 晶片的實體圖如圖 17 所示。

表 1:晶片規格表

製程 TSMC 0.25 µm 包裝種類 SB40 核心面積(不含 I/O

pad 和 Power ring) 459 µm × 459 µm 晶片面積 1574.34 µm × 1574.34 µm 工作頻率(系統/硬

體模擬器) 100 MHz / 10 MHz 工作電壓

(extVDD/VDD) 3.3 V / 2.5 V 晶片功率消耗 78.55 mW

(11)

圖 17:Proto-II-6502-with-ICE 晶片實體圖

九、參考文獻

1. 張慈牧,6502指令集架構相容之微處理器智產 設計與實現,國立台灣科技大學電子工程系,

2003。

2. Judi N. Fernandez, Donna N. Tabler, and Ruth Ashley, 6502 Assembly Language Programming, STG, 1983.

3. Richard Haskell, APPLE II 6502 Assembly Language Tutor, Prentice-Hall, Inc., 1983.

4. IEEE Standard Test Access Port and Boundary- scan Architecture, IEEE Std. 1149.1-2001, 2001.

5. The ARM7TDMI Debug Architecture Application Note 28, Advanced RISC Machines Ltd (ARM), Dec. 1995.

6. Barbara Johnson, Programming the DSP56300 Once and JTAG ports, Motorola Semiconductor Products Sector Application Note, 2000.

7. Guide to DesignWare Library Documentation, Synopsys, Inc., May 2002.

8. JTAG Programmer Guide, Xilinx, Inc. 2000.

9. MC68HC912B32/D Rev. 3.0, Motorola, Inc., 1999

數據

圖 2:I2C 模組功能方塊圖
表 4:UART 模組記憶器位址配置表
圖 15 為使用 FPGA 模擬器的系統測試架構 圖,其基本的邏輯架構與暫存器轉換層測試平台 一致。整個測試環境包括電腦印表機埠(Printer  Port),FPGA,兩個 32 k × 8 的 SRAM 以及根據 平 行 下 載 電 纜 系 統 ( Parallel Download Cable  Scheme)[8]所擴展而成的 JTAG 電纜電路,以及 各週邊測試線路。 P W M UART G P IO -AIIC ADDRESS  DATA BUS BUS
圖 17:Proto-II-6502-with-ICE 晶片實體圖

參考文獻

相關文件

In this work, a goal-driven requirements traceability approach is proposed to develop and manage requirements changes along three dimensions: (1) to develop software and

• 57 MMX instructions are defined to perform the parallel operations on multiple data elements packed into 64-bit data types. • These include add, subtract, multiply, compare ,

The new control is also similar to an R-format instruction, because we want to write the result of the ALU into a register (and thus MemtoReg = 0, RegWrite = 1) and of course we

• The memory storage unit is where instructions and data are held while a computer program is running.. • A bus is a group of parallel wires that transfer data from one part of

• Virtual memory uses disk as part of the memory, thus allowing sum of all programs can be larger than physical memory. • Divides each segment into 4096-byte blocks

 To write to the screen (or read the screen), use the next 8K words of the memory To read which key is currently pressed, use the next word of the

 make a big stink about refusing to put it on their tim esheet, just letting the feature they were working on slip, because they refuse to pad their estimates which were

 make a big stink about refusing to put it on their tim esheet, just letting the feature they were working on slip, because they refuse to pad their estimates which were