「FPGAを用いたプロセッサ検証システムの製作」

Similar documents
3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo

untitled

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P

main.dvi


プロセッサ・アーキテクチャ

26 FPGA FPGA (Field Programmable Gate Array) ASIC (Application Specific Integrated Circuit) FPGA FPGA FPGA FPGA Linux FreeDOS skewed way L1

ディジタルシステム設計

PLDとFPGA

論理設計の基礎

VHDL VHDL VHDL i

Microsoft PowerPoint - NxLec ppt


組込みシステムシンポジウム2011 Embedded Systems Symposium 2011 ESS /10/20 FPGA Android Android Java FPGA Java FPGA Dalvik VM Intel Atom FPGA PCI Express DM

VHDL

1 8 Z80 Z GBA ASIC 2 WINDOWS C 1

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - NxLecture ppt [互換モード]


PowerPoint プレゼンテーション

Design at a higher level


starc_verilog_hdl pptx

FPGAメモリおよび定数のインシステム・アップデート

xi21-x.dvi

Nios II ハードウェア・チュートリアル

Nios II 簡易チュートリアル

TULを用いたVisual ScalerとTDCの開発

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

Nios IIプロセッサ・リファレンス・ハンドブック、セクション I. Nios IIプロセッサ Ver. 1.2

untitled

Microsoft PowerPoint - NxLec ppt

2005 1

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

アセンブラ入門(CASL II) 第3版

スライド 1

HardCopy IIIデバイスの外部メモリ・インタフェース

/ FPGA LSI [1] CDP DDP 2 LSI FPGA PicoProcessor(pP)[2] (STP)[1] DDP 1.27 i

XC9500 ISP CPLD JTAG Port 3 JTAG Controller In-System Programming Controller 8 36 Function Block Macrocells to 8 /GCK /GSR /GTS 3 2 or 4 Blocks FastCO

Cyclone IIIデバイスのI/O機能

Stratix IIIデバイスの外部メモリ・インタフェース

2.5. Verilog 19 Z= X + Y - Z A+B LD ADD SUB ST (X<<1)+(Y<<1) X 1 2 LD SL ST 2 10

デザインパフォーマンス向上のためのHDLコーディング法

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - CompArch_Exercise3.pptx

LSI LSI

COINS 5 2.1

main.dvi

FPGA と LUPO その1

システムオンチップ技術

NAND FF,,

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices

if clear = 1 then Q <= " "; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst =

c t WC 1 2: SRAM 1.2 DRAM DRAM DRAM DRAM 3 4M 1 DRAM 22 1 A0 A10 11 DRAM 22 DIN DOUT 1 DRAM

unitech PA600 Rugged En PDA - RFID HF - unitech G Ver.1.2

/ / SeamlessCVE

EDSF2006_ PDF

ATLAS 2011/3/25-26

特集新世代マイクロプロセッサアーキテクチャ ( 後編 ) 3. 実例 3 ユビキタス コンピューティング時代の組み込みマイクロコンピュータ, SuperH と M32R 清水徹 * 1 長谷川淳 * 2 服部俊洋 * 3 近藤弘郁 * 4 ( 株 ) ルネサステクノロジシステムソリューション統括本部

Microsoft PowerPoint - Lecture ppt [互換モード]

6. パイプライン制御

橡松下発表資料.PDF

untitled

Microsoft Word - HW06K doc

R1RW0408D シリーズ

untitled

JIIAセミナー

Beryll Beryll Cyclone V GX FPGA FPGA ROM...

テストコスト抑制のための技術課題-DFTとATEの観点から

HN58X2402SFPIAG/HN58X2404SFPIAG

oaks32r_m32102

計数工学実験/システム情報工学実験第一 「ディジタル回路の基礎」

VLSI工学

tutorial_lc.dvi

動的適応型ハードウェアの提案

R1LV0416Dシリーズ データシート

設計現場からの課題抽出と提言 なぜ開発は遅れるか?その解決策は?

Core1 FabScalar VerilogHDL Cache Cache FabScalar 1 CoreConnect[2] Wishbone[3] AMBA[4] AMBA 1 AMBA ARM L2 AMBA2.0 AMBA2.0 FabScalar AHB APB AHB AMBA2.0

Microsoft Word - Lab110131b.doc

A Responsive Processor for Parallel/Distributed Real-time Processing

HN58V256Aシリーズ/HN58V257Aシリーズ データシート

ACE Associated Computer Experts bv

N Express5800/R320a-E4 N Express5800/R320a-M4 ユーザーズガイド

Express5800/R320a-E4, Express5800/R320b-M4ユーザーズガイド

HN58C256A シリーズ/HN58C257A シリーズ データシート

2

非圧縮の1080p60ビデオをサポートする3Gbps SDIコネクティビティ・ソリューション

strtok-count.eps

SystemC言語概論

MAX191 EV J

R1LV1616H-I シリーズ

Microsoft PowerPoint - FPGA

VM-53PA1取扱説明書

Express5800/R320a-E4/Express5800/R320b-M4ユーザーズガイド

main.dvi

Express5800/120Ed

Microsoft PowerPoint - Chap1 [Compatibility Mode]

Transcription:

FPGA 2210010149-5 2005 2 21

RISC Verilog-HDL FPGA (celoxica RC100 ) LSI LSI HDL CAD HDL 3 HDL FPGA MPU i

1. 1 2. 3 2.1 HDL FPGA 3 2.2 5 2.3 6 2.3.1 FPGA 6 2.3.2 Flash Memory 6 2.3.3 Flash Memory 7 2.3.4 MPU 7 2.3.5 Flash Memory 8 2.3.6 Flash Memory 8 2.4 MPU 10 2.4.1 MPU 10 2.4.2 MPU 11 2.4.3 MPU 12 3. 15 3.1 Flash RAM Module 15 3.2 Sequencer 17 3.3 Instruction Clock Counte r 19 3.4 System Status Decoder 19 4. FPGA 20 4.1 20 4.2 MPU 20 4.3 21 4.3.1 22 4.3.2 23 4.3.3 24 5. KUE-CHIPII 25 5.1 KUE-CHIPII 25 5.2 FPGA KUE-CHIPII 25 6 27 28 29 ii

1 HDL 3 2 FPGA 4 3 5 4 FPGA 6 5 Flash Memory 7 6 Flash Memory 7 7 MPU 8 8 Flash Memory 8 9 Flash Memory 9 10 MPU 10 11 MPU 12 12 Flash Memory 15 13 Flash Memory Read/Write 16 14 Flash RAM Module 17 15 Sequencer 18 16 21 17 KUE-CHIPII 25 1 MPU 22 2 MPU 23 3 23 iii

1. 1970 LSI 1Chip SoC : System on Chip RTL(Register Transfer Level) 1 RTL 10 RTL LSI RTL HDL(Hardware Description Language) HDL Verilog-HDL VHDL 2 HDL HDL HDL HDL HDL HDL FPGA MPU 16bit RISC 2 MPU MPU ROM 8bit FPGA MPU 1

HDL HDL CAD LSI FPGA FPGA 2 3 4 FPGA 5 KUE-CHIPII 2

2. 2.1 HDL FPGA HDL 1 HDL RTL HDL NO NO YES YES FPGA or LSI NO YES 1 HDL HDL HDL RTL [7] RTL LSI FPGA HDL 3

FPGA FPGA Field Programmable Gate Array LSI CPLD CPLD Complex Programmable Logic Device FPGA FPGA FPGA 2 FPGA FPGA FPGA ASIC FPGA 2 FPGA FPGA FPGA FPGA 4

FPGA LSI LSI FPGA FPGA IP Intellectual Property FPGA FPGA FPGA IP CPU 2.2 MPU MPU MPU System Xilinx MPU Status Sequencer XCR3128XL PC Decoder CPLD Instruction Flash Intel Memory Clock RAM Strata Flash Counter Module Memory Xilinx SpartanII FPGA Celoxica RC100 Board 3 Xilinx SpartanII FPGA Xilinx CPLD Intel Strata Flash Memory Celoxica RC100 LSI FPGA MPU System Status Decoder Sequencer Memory Instruction Clock Counter Flash RAM Module HDL 5

MPU Sequencer System Status Decoder Sequencer Instruction Clock Counter MPU Memory MPU Flash RAM Module Flash Memory 2.3 MPU 2.3.1 FPGA FPGA FPGA FPGA FPGA PC CPLD Sequencer ROM MPU System Status Decoder Sequencer CPLD PC Memory Instruction Clock Counter Flash RAM Module Flash Memory FPGA RC100 Board 4 FPGA 2.3.2 Flash Memory Flash Memory FPGA Memory FPGA Sequencer Flash RAM Module System Status Decoder Sequencer Sequencer Flash RAM Module System Status Decoder Flash Memory Flash RAM Module Memory 6

MPU System Status Decoder Sequencer CPLD Memory Instruction Clock Counter Flash RAM Module Flash Memory FPGA RC100 Board 5 Flash Memory 2.3.3 Flash Memory 2.3.2 Flash Memory Memory MPU System Status Decoder Sequencer CPLD Memory Instruction Clock Counter FPGA Flash RAM Module Flash Memory RC100 Board 6 Flash Memory 2.3.4 MPU MPU MPU Memory Sequencer MPU Instruction Clock Counter MPU 7

MPU System Status Decoder Sequencer CPLD Memory Instruction Clock Counter Flash RAM Module Flash Memory FPGA RC100 Board 7 MPU 2.3.5 Flash Memory MPU Flash Memory Flash Memory Flash Memory Flash Memory Flash RAM Module System Status Decoder MPU System Status Decoder Sequencer CPLD Memory Instruction Clock Counter Flash RAM Module Flash Memory FPGA RC100 Board 8 Flash Memory 2.3.6 Flash Memory Memory Instruction Clock Counter Flash Memory 2.3.2 2.3.3 Flash RAM Module System Status Decoder Sequencer Flash RAM Module FPGA Memory Flash Memory Instruction Clock Counter Flash Memory Flash Memory PC 8

MPU System Status Decoder Sequencer CPLD Memory Instruction Clock Counter FPGA Flash RAM Module Flash Memory RC100 Board 9 Flash Memory 9

2.4 MPU 2.4.1 MPU MPU 10 MPU 10 11 INSTRUCTION DATA MEMORY PC SP MEMORY DECODER RF ALU 10 MPU MPU INSTRUCTION MEMORY DATA MEMORY MPU PC INSTRUCTION MEMORY SP DATA MEMORY DECODER RF ALU DATA MEMORY PC ALU [8] MPU 16bit RISC 16bit FPGA RISC 10

2.4.2 MPU MPU [1, 2, 3] R 3 3 3 3 4 OP Rd Rs Rt Func 3 3 2 8 I OP Rd Func Imm 3 1 12 J OP Func Offset OP Rd Rs, Rt Func Imm Offset MPU ADD SUB ADC SBC AND OR XOR NOR SRL SLL SRA SLA SLT ADI SBI LIL LIH BRZ BNZ LD ST LR POP PUSH JR JMP JAL ITP NOP HLT MPU (4 ) MPU RISC Load/Store 11

MPU Verilog-HDL 360 4,988 39MHz CPI 4 10MIPS 2.4.3 MPU MPU 11 PC DATA MEMORY SP INSTRUCTION MEMORY RF ALU <IF> <ID> <EX> <WB> Forwarding (Branch) Forwarding (ALU and Address) 11 MPU MPU IF ID EX WB 4 MPU Verilog-HDL 410 8,007 66MHz (1) IF IF PC INSTRUCTION MEMORY 12

PC ID ID ID PC INSTRUCTION MEMORY ID ID INSTRUCTION MEMORY ID PC 2 PC 2 (2) ID ID PC 2.4.3.5 EX WB EX (3) EX EX DATA MEMORY ALU INSTRUCTION MEMORY DATA MEMORY DATA MEMORY ALU ID (4) WB WB ID EX ID EX (5) IF ID EX WB 13

ID IF EX ID EX WB ID WB EX 11 WB EX EX WB ID WB ID ID 2 WB 1 ALU ALU MPU IF ID ID EX WB WB MPU 4 14

3. FPGA 3 MPU 3.1 Flash RAM Module Flash RAM Module Celoxica RC100 Intel Strata Flash Memory Flash Memory 2 12 Wait Addr:X Data:X Start Read Operation Finish Read Operation Read Addr:PA Data:PD Finish Erase Operation Start Write Operation Start Erase Operation Write Addr:BA Write Addr:BA Data:20h Data:D0h Write Finish Write Operation Write Write Read Status Register If SRD[7] = 1 Read Addr:PA Addr:PA Addr:X Addr:X Data:40h Data:PD Data:70h Data:SRD If SRD[7] = 0 12 Flash Memory Flash Memory Read/Write 12 Read Read Read Flash Memory Erase 2 Write 2 Write 15

Write 4 Write Write 3 4 Write (X) Read 1 Write Flash Memory 8 1 Write 8 1 3 4 Read/Write Flash Memory Flash Memory 80MHz 13 13 CLK Flash Memory Flash RAM Module 40MHz(25ns) Read Waveform Address 125ns CE OE WE DATA 50n 25ns BYTE CLK 25n Write Waveform 75n Address CE OE WE 50n 50n DATA STS CLK 25n 500ns 13 Flash Memory Read/Write 16

Flash RAM Module 2 2 14 Interface Interface Operation Control Read Operation Control Read/Write Control Operation Control Interface Read/Write Control Read/Write Read/Write Control Operation Control Flash Memory Read/Write Control Bus Flash RAM Module Read/Write Interface Operation Control Read/Write Control Read/Write Flash Memory 14 Flash RAM Module Flash RAM Module Verilog-HDL 210 1,118 40MHz 3.2 Sequencer Sequencer 8bit ROM 15 Sequencer 17

PROGRAM COUNTER ALU INSTRUCTION ROM REGISTER I/O PORT 15 Sequencer Sequencer INSTRUCTION ROM FPGA RAM FPGA PROGRAM COUNTER ROM ROM REGISTER 8bit ALU I/O PORT 8bit Sequencer 4 4 I/O PORT 32bit Sequencer ADD SUB ADC SBC AND OR XOR LDI CMP RIO WIO bit CHK JPC NOP HLT Sequencer REGISTER 1bit bit bit Sequencer Sequencer 1 4 Verilog-HDL 500 18,552 53Mhz 18

3.3 Instruction Clock Counter Instruction Clock Counter Instruction Clock Counter MPU 3.4 System Status Decoder System Status Decoder Sequencer Sequencer Instruction Clock Counter System Status Decoder Sequencer 19

4. FPGA 2 MPU 3 FPGA 4.1 LSI 1000 10 DFT(Design For Test) FPGA FPGA 4.2 MPU Memory 2k Byte RC100 7 LED 2 16 7 LED System Status Decoder Sequencer 7 LED 2.2 FPGA Sequencer 20

Reset Push System Instruction Xilinx Status MPU Clock Sequencer XCR3128XL PC Decoder Counter CPLD Memory 2k Byte 2k Byte Instruction Data Flash RAM Module FPGA Intel Strata Flash Memory RC100 Board 16 4.3 4.2 1 10 ( 50) 1 2 3 NOP HLT MPU 21

1 MPU 1 10 ( 50) ( 40) 1 2% 1 1% 1 1% 1 1% 2 0% 23 36% 104 26% 31 49% 34 52% 2882 33% 15 24% 100 25% 5 10% 4 6% 1707 19% 12 19% 99 24% 15 24% 15 23% 1639 19% 1 2% 49 12% 3 5% 4 6% 1772 20% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 11 17% 49 12% 7 11% 8 12% 819 9% 63 100% 402 100% 63 100% 66 100% 8821 100% 4.3.1 1 MPU 1 10 12 20% 1 10 1 10 C FOR FOR IF IF FOR 22

2 MPU 1 10 ( 50) ( 40) 3 5% 1 1% 2 3% 1 2% 2 0% 23 35% 106 26% 30 50% 32 50% 2882 33% 15 23% 102 25% 6 10% 4 6% 1707 19% 12 18% 101 24% 13 22% 15 23% 1639 19% 1 2% 51 12% 3 5% 4 6% 1772 20% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 11 17% 50 12% 6 10% 8 13% 819 9% 65 100% 411 100% 60 100% 64 100% 8821 100% 0 0 0 1 0 3 1 10 ( 50) ( 40) 251 1606 251 263 35283 65 411 60 64 8822 / 25.90% 25.59% 23.90% 24.33% 25.00% 4.3.2 2 4 2 0 23

0 4.3.3 3 1 4 1 1 4 1 1 4 1 1.5 6 1 2 CPI [1] FPGA 1 FPGA RC100 PC PC PC 24

5. KUE-CHIPII KUE-CHIPII(Kyoto University Education Chip2) FPGA [11] KUE-CHIPII FPGA KUE-CHIPII 5.1 KUE-CHIPII KUE-CHIPII 8 KUE-CHIPII 5.2 FPGA KUE-CHIPII KUE-CHIPII FPGA FPGA SpartanII KUE-CHIPII XSP-006 KUE-CHIPII KUE-CHIPII FPGA 17 KUE-CHIPII Connector Cable Connector Connector Cable Connector XSP-006 17 KUE-CHIPII XSP-006 KUE-CHIPII KUE-CHIPII KUE-CHIPII 25

KUE-CHIPII 1 1 1 1 KUE-CHIPII KUE-CHIPII KUE-CHIPII RC100 26

6 HDL FPGA MPU FPGA HDL HDL 5 27

28

[1] John L.Hennessy, David A.Patterson: ( )( ), BP,1999. [2] Andrew S. Tanenbaum:,,2000. [3] Jorgen Staunstrup,Wayne Wolf:Hardware/Software Co-Design,Principles and Practice, Kluwer Academic Pub.,1997. [4] FrancoisXavier Standaert, Gael Rouvroy, JeanJacques Quisquater, JeanDidier Legat: A Methodology to Implement Block Ciphers in Reconfigurable Hardware and its Application to Fast and Compact AES RIJNDAEL, FPGA 03, February 23 25, pp 216-224, 2003. [5] Pablo Moisset, Pedro Diniz and Joonseok Park: Matching and Searching Analysis for Parallel Hardware Implementation on FPGAs, FPGA 2001, February 11-13, pp 125-133, 2001. [6] Dirk Koch, Jurgen Teich: Platform Independent Methodology for Partial Reconfiguration, CF 04, April 14 6, pp 398-403, 2004. [7] : VerilogHDL,CQ,2001. [8] : ASIC, Design Wave Magazine 2003 7 pp 20-47, 2003. [9] : CPU!, Design Wave Magazine 2003 8, 2003 [10] : /,, 2002. [11] : FPGA,, 2005. 29