:30-15:50 (s5c) ( 38 SIGEMB ) Python PyCoRAM FPGA shinya_at_is_naist_jp

Size: px
Start display at page:

Download ":30-15:50 (s5c) ( 38 SIGEMB ) Python PyCoRAM FPGA shinya_at_is_naist_jp"

Transcription

1 :30-15:50 (s5c) SWEST17@ ( 38 SIGEMB ) Python PyCoRAM FPGA shinya_at_is_naist_jp

2 SWEST2015 Shinya T-Y, NAIST n l : Python : FPGA n l l PyCoRAM: Python IP Pyverilog: Verilog HDL Veriloggen: Python Verilog HDL

3 SWEST2015 Shinya T-Y, NAIST All software are available! n GitHub l PyCoRAM: l Pyverilog: l Veriloggen: $ git clone $ git clone $ git clone n PIP Python l GitHub $ pip install pyverilog $ pip install pycoram $ pip install veriloggen

4 n FPGA l FPGA l FPGA n l l n Python PyCoRAM l Python Verilog HDL IP l : Pyverilog, Veriloggen n l n SWEST2015 Shinya T-Y, NAIST

5 FPGA SWEST2015 Shinya T-Y, NAIST

6 ヘテロジニアスコンピューティング Multicore (Intel Corei7) GPU (NVIDIA GeForce) OoO Core OoO Core OoO Core OoO Core L2 L2 L2 L2 L3 Cache L2 Cache DDR3 DRAM GDDR5 DRAM Manycore (Intel Xeon Phi) FPGA (Xilinx Virtex-7) DDR3 DRAM SWEST2015 DDR3 DRAM Shinya T-Y, NAIST 6

7 SWEST2015 Shinya T-Y, NAIST FPGA (Field Programmable Gate Array) n LSI (PLD: Programmable Logic Device) l l CPU GPU FLD (Fixed Logic Device) n CPU l CPU CPU l FPGA Digital circuits

8 FPGAボードの基礎 Digilent NetFPGA SUME Price $24,500 SATA-3 x2 DDR3 SODIMM (4GB x2) 10Gbps Ethernet x4 SWEST2015 FPGA (Xilinx Virtex-7 XC7V690T) PCI-express Shinya T-Y, NAIST 8

9 Digilent Nexys3 FPGA: Xilinx Spartan-6 LX16 Size: Pipelined CPU 2 Price: 15,000yen (Academic) SWEST2015 Digilent ZedBoard FPGA: Xilinx Zynq 7020 Size: Pipelined CPU 8 (+ ARM DualCore) Price: 60,000yen (Academic) Shinya T-Y, NAIST 9

10 SSD FPGA (Xilinx Zynq 7020, ARM Dualcore) +DDR3 DRAM 512MB SSD Interface Dual Camera SWEST2015 Shinya T-Y, NAIST 10

11 Xilinx ZC706 FPGA: Xilinx Zynq 7045 Size: Pipelined CPU 16 Price: 300,000yen SWEST2015 Shinya T-Y, NAIST 11

12 Tokyo Electron Deice TB-6V-LX760-LSI FPGA: Xilinx Virtex-6 LX760 Size: Pipelined CPU x100? Price: 4,000,000yen? SWEST2015 Shinya T-Y, NAIST 12

13 ScalableCore System FPGA: Xilinx Spartan Size: Pipelined CPU x200? Price: 100万円程度 SWEST2015 Shinya T-Y, NAIST 13

14 FPGA An LB has logical circuit components for both combinational circuits and sequential circuits They are connected via interconnection components (SB, CB and wire) FPGA IOB IOB LB IOB LB IOB LB IOB LB Logic Block IOB LB LB LB IOB Switch Block Connection Block IOB LB LB LB IOB IOB I/O Block Wire IOB IOB IOB

15 FPGA An LB has logical circuit components for both combinational circuits and sequential circuits They are connected via interconnection components (SB, CB and wire) FPGA IOB IOB LB IOB LB IOB LB IOB LB Logic Block IOB LB LB LB IOB Switch Block Connection Block IOB LB LB LB IOB IOB I/O Block Wire IOB IOB IOB

16 Logic Block n Two basic elements in a logic block l LUT (Look Up Table): for combinational circuits l Flip-flop: for memory (sequential circuits) FPGA IOB IOB IOB IOB LB LB LB IOB Logic Block LUT IOB LB LB LB IOB D Q IOB LB LB LB IOB IOB IOB IOB

17 LUT: Look Up Table n LUTs realize combinational logics n An LUT returns a 1-bit value corresponding to the input bit-vector (=Boolean function) l N-input LUT has 2 N combinations of results: 4-input LUT has 16 a[0] a[1] a[2] a[n-1] Input N-input LUT Output b

18 FPGA in Anywhere n LSI l LSI l HW SW l n LSI l l n l l l l Convolution Pooling Max Out Convolution Full Connection Input Layer Hidden Layers Output Layer

19 ASIC vs. FPGA n ASIC (Application Specific Integrated Circuit) l n FPGA (Field Programmable Gate Array) l FPGA OK l FPGA is cheaper ASIC is cheaper FPGA Cost ASIC The number of units

20 From Xilinx UG872 FPGA n FPG l 5 6 l n l l RTL

21 How to Develop a Software? Writing a software in programming languages Preprocess int main(){ int a = 1 + 2; printf( Hello %d\n, a); return 0; } Compiler Flow Compile Assemble add $t0, $t1, $t2 li $v0, 1 syscall Link Execution on a CPU Executable Binary ELF01ABF00F1...

22 How to Develop a (FPGA) Hardware? Writing a hardware design in HDL (Hardware Description Language) EDA Flow Synthesis Technology Mapping Place and Route Bitstream Generation Original HW on an FPGA Configuration of the bitstream to an FPGA SWEST2015 module top (input CLK, RST, output reg [7:0] LED); CLK) begin LED <= LED + 1; end endmodule Shinya T-Y, NAIST 1A0C021E... Bitstream 22

23 FPGA

24 ARM搭載FPGAの登場 (1) n ARMプロセッサ+FPGA (Xilinx Zynq, Altera SoC) l 専用インターコネクトで密結合 キャッシュ DRAM共有 l 普通のLinuxが動作する 大量なソフトウェア資源が利用可能 AlteraのARMベースSoC Zynq-7000 All Programmable SoC SWEST2015 Shinya T-Y, NAIST 24

25 ARM FPGA (2) n FPGA l FPGA CPU l 10 MicroBlaze: 100MHz 200MHz, In-order, Single issue ARM: 600MHz 1GHz, OoO, Super scalar n HW/SW SoC l CPU l FPGA l CPU-FPGA DRAM CPU

26 例 Zynq 7000 アーキテクチャ n ARM Cortex-A9 (Dual-core, OoO, 8-stage) n 3種類のCPU-PL間接続 (すべてAXIインターフェース) GP 低速 制御レジスタ アクセス用 HP 高バンド幅 DRAMへの バースト転送向け ACP 低レイテンシ キャッシュ コヒーレント CPUとの データ共有向け Cache DRAM AXI GP Port Shinya T-Y, NAIST SWEST2015 AXI HP Port AXI ACP Port 26

27 浮動小数点ユニット搭載FPGA n 従来FPGAのDSP 乗算 ユニットは整数のみ対応 l 浮動小数点演算は変換ロジックを組み合わせて実現 ソフトマクロ 大きな回路 電力オーバーヘッド そのため浮動小数点演算ではGPUが有利だった n Altera次期モデルがハードマクロ浮動小数点DSPを搭載 l コンピューティングデバイスとしてのFPGAの利用が増加 SWEST2015 Altera Expands Floating-Point Hardware Support Across Its Product Lines Shinya T-Y, NAIST 27

28 IP n IP HW J l IP l EDA l IP FPGA CPU Ether HW Acc Interconnect DRAM I/F HW Acc PCI-E Xilinx Vivado IP ARM DRAM

29 アプリケーションの変化 n 以前は画像処理やネットワーキングなどが主流 n ビッグデータ 指向へ: 脱ノイマン型 l イーサネットNICでMemcached [Fukuda+, FPL 14] l Microsoft Bing search engine (Catapult) [Putnam+, ISCA'14] FPGA間を専用線で接続するクラスタシステム SWEST2015 Fig2 from [Fukuda+, FPL'14] Shinya T-Y, NAIST Fig1 from [Putman+, ISCA'14] 29

30

31 n RTL l : C, C++, OpenCL, Java, Python,... l : RTL HDL Verilog HDL, VHDL n SW l : (AST) (CDFG) l : RTL

32 FPGA (HW/SW ) HW/SW SW HW/SW HDL HW RTL HW SW HW/SW

33 FPGA SW HW RTL (HW/SW ) ( ) HW HW SW HW HW/SW

34 RTL n RTL (Register Transfer Level) l l Timed l n High Level Synthesis l l Untimed (Directive) l

35 例 2配列の積和演算 (c += a * b) RTL設計 (Verilog HDL): 105行 2098文字 15分 積和演算器 トップレベル 乗算器 いつ なに を どのように するかを 設計者が決める SWEST2015 Shinya T-Y, NAIST 35

36 2 (c += a * b) (C ): /10 1/15

37 FPGA向け商用高位合成ツールが多数登場 n Xilinx Vivado HLS (+ SDSoC) l C/C++で振る舞いを定義 ディレクティブで性能チューニング l SDSoCならSWコードから部分的にHW化 I/Fも自動生成 l その他C言語ベースImpulse C CWB exciteなど n OpenCL系: Altera OpenCLやXilinx SDAccel l ホストPCありき ホストPC上SWのお作法も定義 watch?v=uruvkq6zqhq SWEST2015 Shinya T-Y, NAIST 37

38 n LegUp: C l C MIPS CPU SW HW n Synthesijer: Java l Java Synthesijer とは JavaプログラムをFPGA 上のハードウェアに変換 複雑なアルゴリズムのハードウェア実装を楽に オブクジェクト指向設計による再利用性の向上 Open-source クイックスタート 5/8 (5) 間隔をおいて変数 led を true/false するプログラムを書く 特殊な記法, 追加構文はない ソフトウェアとして実行可能. 動作の確認 検証が容易 書けるプログラムに制限は加える Java コンパイラフロントエンド L チカに相当する変数 ( 動的な new, 再帰は不可など ) Synthesijer エンジン Java コンパイラバックエンド 点滅 適当なウェイト while(){ if(...){ }else{ }. } 複雑な状態遷移も,Java の制御構文を使って楽に設計できる 合成配置配線 同じ Java プログラムをソフトウェアとしても FPGA 上のハードウェアとしても実行可能 2 自動コンパイルが裏で動くので,Java コードとしての正しさは即座にチェックされる 9

39 n J l l RTL 1/10 l n L l RTL RTL l RTL l I/O

40 PyCoRAM Python IP

41 n CPU with IP-cores l CPU (ARM) FPGA : Xilinx Zynq, etc l HW IP AXI4 Avalon CPU n IP l HDL HDL l : HDL OSS n

42 CoRAM [Chung+,FPGA 11] n FPGA l Read/Write Communication FIFOs (Registers) CoRAM Channel Abstracted On-chip Memories Read/Write Read Write HW Kernels (Computing Logics) CoRAM Memory Manage Control Threads (Memory Access Pattern) Off-chip Memory

43 PyCoRAM [Takamaeda+,CARL 13] n IP l AMBA AXI4, Altera Avalon l l CPU IP Portable application with PyCoRAM Cooperation with standard IP-cores Accelerator logic PyCoRAM Abstraction Standard IP-core CPU On-chip Interconnect (AXI4, Avalon) Device-dependent Interfaces (DRAM, etc)

44 PyCoRAM n 2 l Verilog HDL l Python n IP : (Verilog HDL) (Python) l DMA PyCoRAM HW RTL RTL IP : + IP IP Memory/Stream Channel/ Register DMA (DRAM) IO Channel/ IO Register

45 PyCoRAM Channel/ Register IO Channel/ IO Register Memory/Stream DMA

46 PyCoRAM Computing Logic Modeled in Verilog HDL Control Thread Modeled in Python Channel/ Register IO Channel/ IO Register Memory/Stream DMA

47 PyCoRAM Channel: - FIFO Register: - Channel/ Register IO Channel/ IO Register Memory/Stream DMA Memory: Stream: FIFO IO Channel: FIFO IO Register:

48 PyCoRAM Channel/ Register IO Channel/ IO Register Memory/Stream DMA (DRAM)

49 PyCoRAM Channel/ Register IO Channel/ IO Register Memory/Stream DMA Master Interface Slave Interface CPU (DRAM)

50 PyCoRAM IP n 2 l Verilog HDL: l Python: CoramMemory1P #(.CORAM_THREAD_NAME("thread_name"),.CORAM_ID(0),.CORAM_ADDR_LEN(ADDR_LEN),.CORAM_DATA_WIDTH(DATA_WIDTH) ) inst_memory (.CLK(CLK),.ADDR(mem_addr),.D(mem_d),.WE(mem_we),.Q(mem_q) ); def calc_sum(times): ram = CoramMemory(idx=0, datawidth=32, size=1024) channel = CoramChannel(idx=0, datawidth=32) addr = 0 sum = 0 for i in range(times): ram.write(0, addr, 128) channel.write(addr) sum += channel.read() addr += 128 * (32/8) print( sum=, sum) calc_sum(8) n PyCoRAM IP l Python-Verilog RTL

51 PyCoRAM n RAM FIFO l l ID l CoramMemory1P #(.CORAM_THREAD_NAME("thread_name"),.CORAM_ID(0),.CORAM_ADDR_LEN(ADDR_LEN),.CORAM_DATA_WIDTH(DATA_WIDTH) ) inst_memory (.CLK(CLK),.ADDR(mem_addr),.D(mem_d),.WE(mem_we),.Q(mem_q) ); CoramChannel #(.CORAM_THREAD_NAME("thread_name"),.CORAM_ID(0),.CORAM_ADDR_LEN(CHANNEL_ADDR_LEN),.CORAM_DATA_WIDTH(CHANNEL_DATA_WIDTH) ) inst_channel (.CLK(CLK),.RST(RST),.D(comm_d),.ENQ(comm_enq),.FULL(comm_full),.Q(comm_q),.DEQ(comm_deq),.EMPTY(comm_empty) ); (a) Memory (b) Channel

52 Python n PyCoRAM l CoramMemory: read(), write() Memory DRAM DMA l CoramChannel: read(), write() def calc_sum(times): ram = CoramMemory(idx=0, datawidth=32, size=1024) channel = CoramChannel(idx=0, datawidth=32) addr = 0 sum = 0 for i in range(times): ram.write(0, addr, 128) channel.write(addr) sum += channel.read() addr += 128 * (32/8) print( sum=, sum) calc_sum(8) # Transfer (off-chip DRAM to BRAM) # Notification to User-logic # Wait for Notification from User-logic # $display Verilog system task

53 : n 1 +1 l CoramMemory DRAM l CoramMemory-DRAM Computing Logic (Verilog HDL) Coram Memory 0 A + sum Control Thread (Python) Control Logic Coram Channel 0

54 計算ロジック (1): I/Oポート クロック(CLK)とリセット(RST) 以外に専用のI/Oは不要 CoramMemoryのための信号 (BRAMと同じインターフェース) CoramChannelのための信号 (FIFOと同じインターフェース) ステートマシン用変数 SWEST2015 Shinya T-Y, NAIST 54

55 計算ロジック (2): パイプライン/FSM CoramChannelから読み出し コントロールスレッドから受信 SWEST2015 CoramChannelに書き込み コントロールスレッドに通知 Shinya T-Y, NAIST 55

56 計算ロジック (3): 子インスタンス CoramMemory (BRAMと同じインターフェース) CoramChannel (FIFOと同じインターフェース) SWEST2015 Shinya T-Y, NAIST 56

57 (Python) ram (CoramMemory) channel (CoramChannel) CoramMemory DMA CoramChannel

58 コンパイル SWEST2015 Shinya T-Y, NAIST 58

59 シミュレーション結果 SWEST2015 Shinya T-Y, NAIST 59

60

61 IP n A B C CoRAM l DRAM l l B l SIMD CoRAM Memory 0 A Computing Logic (Verilog HDL) 8-stage Multiply Pipeline + B + check sum sum CoRAM Memory 2 C Control Thread (Python) CoRAM Memory 1 Control Logic CoRAM Channel 0 I/O Channel

62 IP n PyCoRAM Verilog HDL Python Control Threads (Modeled in Python) User Definition (Modeled in Verilog HDL and Python) Mark Visited Cthread Update Node OutStream Next Node Addr Next Node Cost Mark Visited Cthread Mark Visited OutStream Node Addr Priority Queue Cthread Node Addr Priority Queue OutStream InStream Cost Next Node Cost + Read Node Cthread Read Node InStream Next Node Addr Edge Page Addr Read Edge Cthread Read Edge InStream Main CThread FSM Dijkstra Logic (Modeled in Verilog HDL) Generated by PyCoRAM DMAC DMAC DMAC DMAC DMAC DMAC Slave I/F AXI4 Master Interfaces AXI4-lite Slave Interfaces

63 FPGA n CPU IP l IP AXI4, Avalon PyCoRAM IP n l RAM DRAM PyCoRAM DRAM- Python n CPU l OS = volatile OK l OS CPU: HW: MB

64 Zynq + PyCoRAM (+Debian) 入門 n SlideShareでチュートリアルスライド公開中 l n 今時のFPGAアクセラレータを 作る方法の一例をまとめました l PyCoRAM IPコアの作り方 l Zynq (ARM搭載FPGA)の上で Debian Linuxを動作させるには l その上でPyCoRAM IPコアを 使うにはどんなSWが必要か n 2015年3月時点の情報なので そろそろ更新予定 l Debian 7.0から8.0へ移行 l HW用メモリ領域確保の方法更新 SWEST2015 Shinya T-Y, NAIST 64

65 Pyverilog & Veriloggen

66 Pyverilog: Verilog HDL Parser module TOP (input CLK, input RST, output rslt, Verilog HDL Code Lexical Analyzer Syntax Analyzer AST AST Code Generator module TOP (input CLK, input RST, output rslt, Verilog HDL Code Dataflow Analyzer Module Analyzer Signal Analyzer Bind Analyzer Dataflow Visualizer Graphical Output Optimizer Control-flow Analyzer State Machine Pattern Matcher Active Condition Analyzer Control-flow Input Output

67 (AST) 1 module stopwatch Source: 2 ( Description: 3 input CLK, ModuleDef: stopwatch Verilog HDL Paramlist: AST 4 input RST, Portlist: 5 input start, Ioport: 6 input stop, Input: CLK, False 7 input init, Width: 8 output reg busy, IntConst: 0 9 output reg [31:0] timecount IntConst: 0 10 ); Ioport: 11 localparam IDLE = 0; Input: RST, False Width: 12 localparam COUNTING = 1; IntConst: 0 13 localparam WAITINIT = 2; IntConst: 0 14 reg [3:0] state; Ioport: 15 CLK) begin Input: start, False 16 if(rst) begin Width: 17 state <= 0; IntConst: 0 18 timecount <= 0; IntConst: 0 19 end else begin Ioport: Input: stop, False 20 if(state == IDLE) begin Width: 21 if(start) begin IntConst: 0 22 state <= COUNTING; IntConst: 0 23 timecount <= 0; Ioport: 24 busy <= 1; Input: init, False 25 end Width: 26 end else if(state == COUNTING) begin IntConst: 0 27 timecount <= timecount + 1; IntConst: 0 Ioport: 28 if(stop) begin Output: busy, False 29 state <= WAITINIT; Width: 30 busy <= 0; IntConst: 0 31 end IntConst: 0 32 end else if(state == WAITINIT) begin Reg: busy, False 33 if(init) begin Width: 34 timecount <= 0; IntConst: 0 35 state <= IDLE; IntConst: 0 Ioport: 36 end else if(start) begin Output: timecount, False 37 timecount <= 0; Width: 38 state <= COUNTING; IntConst: end IntConst: 0 40 end Reg: timecount, False 41 end Width: 42 end IntConst: endmodule IntConst: 0

68 stopwatch.timecount Branch COND TRUE FALSE stopwatch_rst d0 Branch COND FALSE Eq Branch COND TRUE FALSE TRUE d0 Eq Plus Branch COND TRUE d1 d1 Eq Branch FALSE COND TRUE FALSE Branch stopwatch_state d2 stopwatch_init d0 Branch TRUE FALSE COND FALSE COND TRUE d0 stopwatch_timecount stopwatch_start d0

69 n # SIGNAL NAME: stopwatch.state # DELAY CNT: (stopwatch_start>'d0)--> (stopwatch_stop>'d0)--> (stopwatch_init>'d0)--> ((!(stopwatch_init>'d0))&&(stopwatch_start>'d0))--> 1 Loop (0, 1, 2) (1, 2) 0 GreaterThan 1 GreaterThan Land 2 GreaterThan (a) Command Line Output n (b) Graphical Output Active Conditions: stopwatch.busy [((stopwatch_start 1:None) && (stopwatch_state 0:0))] Changed Conditions [((stopwatch_start 1:None) && (stopwatch_state 0:0)), ((stopwatch_state 1:1) && (stopwatch_stop 1:None))] Changed Condition Dict [(((stopwatch_start 1:None) && (stopwatch_state 0:0)), 'd1), (((stopwatch_state 1:1) && (stopwatch_stop 1:None)), 'd0)] Condition Signal Condition s Min/Max Values AND Condition Target Signal Target s Assigned Value

70 Python Verilog HDL 1 import pyverilog.vparser.ast as vast 2 from pyverilog.ast_code_generator.codegen import ASTCodeGenerator 3 4 params = vast.paramlist(()) 5 clk = vast.ioport( vast.input( CLK ) ) 6 rst = vast.ioport( vast.input( RST ) ) 7 width = vast.width( vast.intconst( 7 ), vast.intconst( 0 ) ) 8 led = vast.ioport( vast.output( led, width=width) ) 9 ports = vast.portlist( (clk, rst, led) ) 10 items = ( vast.assign( vast.identifier( led ), vast.intconst( 8 ) ),) 11 ast = vast.moduledef("top", params, ports, items) 12 Python 13 codegen = ASTCodeGenerator() 14 rslt = codegen.visit(ast) 15 print(rslt) Execute Verilog HDL 1 module top 2 ( 3 input [0:0] CLK, 4 input [0:0] RST, 5 output [7:0] led 6 ); 7 assign led = 8; 8 endmodule HDL Veriloggen

71 Veriloggen Python Verilog HDL PythonでVerilog HDLを 組み立てるライブラリ n Pythonで書いた動作を HDLに変換する 高位合成ではない n Pythonのオブジェクト としてVerilogの信号や 代入を組み上げていく 実行 n 当該オブジェクトの to_verilog() を呼ぶと Verilogのソースコード のテキストに変換 SWEST2015 Shinya T-Y, NAIST 71

72 例 たくさんLEDを追加してみる 実行 SWEST2015 Shinya T-Y, NAIST 72

73 Veriloggen n Verilog HDL l Python+Veriloggen Verilog HDL generate n l PyCoRAM Python l Post PyCoRAM Verilog HDL

74

75 n l GCC LLVM.NET l FPGA 2 5 Zybo n l l GPU CUDA FPGA OpenACC OpenMP MPI Xilinx SDSoC

76 n LLVM l LLVM: LLVM-IR DFG l

77 n l : Python : FPGA n l l PyCoRAM: Python IP Pyverilog: Verilog HDL Veriloggen: Python Verilog HDL

78 n l C, C++, C#, Java, Python, Ruby, Perl, JavaScrit, Scala, Go, Haskell l RTL: Verilog HDL, VHDL HDL: Chisel (Scala DSL), PyMTL (Python DSL), Veriloggen : C, C++, OpenCL, Java (Synthesijer), Python (PyCoRAM) n C C Ruby Go Python Python

79 n l l l n l l

80 n FPGA Python n l n GitHub l PyCoRAM: l Pyverilog: l Veriloggen:

strtok-count.eps

strtok-count.eps IoT FPGA 2016/12/1 IoT FPGA 200MHz 32 ASCII PCI Express FPGA OpenCL (Volvox) Volvox CPU 10 1 IoT (Internet of Things) 2020 208 [1] IoT IoT HTTP JSON ( Python Ruby) IoT IoT IoT (Hadoop [2] ) AI (Artificial

More information

PLDとFPGA

PLDとFPGA PLDFPGA 2002/12 PLDFPGA PLD:Programmable Logic Device FPGA:Field Programmable Gate Array Field: Gate Array: LSI MPGA:Mask Programmable Gate Array» FPGA:»» 2 FPGA FPGALSI FPGA FPGA Altera, Xilinx FPGA DVD

More information

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - Lec pptx Course number: CSC.T34 コンピュータ論理設計 Computer Logic Design 5. リコンフィギャラブルシステム Reconfigurable Systems 吉瀬謙二情報工学系 Kenji Kise, Department of Computer Science kise _at_ c.titech.ac.jp www.arch.cs.titech.ac.jp/lecture/cld/

More information

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

組込みシステムシンポジウム2011 Embedded Systems Symposium 2011 ESS /10/20 FPGA Android Android Java FPGA Java FPGA Dalvik VM Intel Atom FPGA PCI Express DM Android Android Java Java Dalvik VM Intel Atom PCI Express DMA 1.25 Gbps Atom Android Java Acceleration with an Accelerator in an Android Mobile Terminal Keisuke Koike, Atsushi Ohta, Kohta Ohshima, Kaori

More information

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

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 23 FPGA CUDA Performance Comparison of FPGA Array with CUDA on Poisson Equation (lijiang@sekine-lab.ei.tuat.ac.jp), (kazuki@sekine-lab.ei.tuat.ac.jp), (takahashi@sekine-lab.ei.tuat.ac.jp), (tamukoh@cc.tuat.ac.jp),

More information

1 osana@eee.u-ryukyu.ac.jp : FPGA : HDL, Xilinx Vivado + Digilent Nexys4 (Artix-7 100T) LSI / PC clock accurate / Artix-7 XC7A100T Kintex-7 XC7K325T : CAD Hands-on: HDL (Verilog) CAD (Vivado HLx) : 28y4

More information

User-defined Logic Application Memory Manager (Replacement) Application Specific Prefetcher (ASP) Application Kernel On-chip RAM (BRAM) On-chip RAM I/

User-defined Logic Application Memory Manager (Replacement) Application Specific Prefetcher (ASP) Application Kernel On-chip RAM (BRAM) On-chip RAM I/ RTL 1,2,a) 1,b) CPU Verilog HDL RTL 1. CPU GPU Verilog HDL VHDL RTL HDL Vivado HLS Impulse C CPU 1 2 a) takamaeda@arch.cs.titech.ac.jp b) kise@cs.titech.ac.jp RTL RTL RTL Verilog HDL RTL 2. 1 HDL 1 User-defined

More information

? FPGA FPGA FPGA : : : ? ( ) (FFT) ( ) (Localization) ? : 0. 1 2 3 0. 4 5 6 7 3 8 6 1 5 4 9 2 0. 0 5 6 0 8 8 ( ) ? : LU Ax = b LU : Ax = 211 410 221 x 1 x 2 x 3 = 1 0 0 21 1 2 1 0 0 1 2 x = LUx = b 1 31

More information

untitled

untitled 13 Verilog HDL 16 CPU CPU IP 16 1023 2 reg[ msb: lsb] [ ]; reg [15:0] MEM [0:1023]; //16 1024 16 1 16 2 FF 1 address 8 64 `resetall `timescale 1ns/10ps module mem8(address, readdata,writedata, write, read);

More information

main.dvi

main.dvi CAD 2001 12 1 1, Verilog-HDL, Verilog-HDL. Verilog-HDL,, FPGA,, HDL,. 1.1, 1. (a) (b) (c) FPGA (d). 2. 10,, Verilog-HDL, FPGA,. 1.2,,,, html. % netscape ref0177/html/index.html.,, View Encoding Japanese

More information

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

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」 ALTIMA Company, MACNICA, Inc Nios II HAL API Modular Scatter-Gather DMA Core Ver.17.1 2018 8 Rev.1 Nios II HAL API Modular Scatter-Gather DMA Core...3...3...4... 4... 5 3-2-1. msgdma... 6 3-2-2. On-Chip

More information

Microsoft PowerPoint - FPGA

Microsoft PowerPoint - FPGA PLD と FPGA VLD 講習会 京都大学小林和淑 1 PLD FPGA って何 PLD: Programmable Logic Device プログラム可能な論理素子 FPGA: Field Programmable Gate Array 野外でプログラム可能な門の隊列? Field: 設計現場 Gate Array: 論理ゲートをアレイ上に敷き詰めたLSI MPGA: Mask Programmable

More information

論理設計の基礎

論理設計の基礎 . ( ) IC (Programmable Logic Device, PLD) VHDL 2. IC PLD 2.. PLD PLD PLD SIC PLD PLD CPLD(Complex PLD) FPG(Field Programmable Gate rray) 2.2. PLD PLD PLD I/O I/O : PLD D PLD Cp D / Q 3. VHDL 3.. HDL (Hardware

More information

Verilog HDL による回路設計記述

Verilog HDL による回路設計記述 Verilog HDL 3 2019 4 1 / 24 ( ) (RTL) (HDL) RTL HDL アルゴリズム 動作合成 論理合成 論理回路 配置 配線 ハードウェア記述言語 シミュレーション レイアウト 2 / 24 HDL VHDL: IEEE Std 1076-1987 Ada IEEE Std 1164-1991 Verilog HDL: 1984 IEEE Std 1364-1995

More information

Design at a higher level

Design at a higher level Meropa FAST 97 98 10 HLS, Mapping, Timing, HDL, GUI, Chip design Cadence, Synopsys, Sente, Triquest Ericsson, LSI Logic 1980 RTL RTL gates Applicability of design methodologies given constant size of

More information

ADZBT1 Hardware User Manual Hardware User Manual Version 1.0 1/13 アドバンスデザインテクノロジー株式会社

ADZBT1 Hardware User Manual Hardware User Manual Version 1.0 1/13 アドバンスデザインテクノロジー株式会社 Hardware User Manual Version 1.0 1/13 アドバンスデザインテクノロジー株式会社 Revision History Version Date Comment 1.0 2019/4/25 新規作成 2/13 アドバンスデザインテクノロジー株式会社 目次 1 Overview... 4 2 Block Diagram... 5 3 機能説明... 6 3.1 Power

More information

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

Nios II ハードウェア・チュートリアル Nios II ver. 7.1 2007 8 1. Nios II FPGA Nios II Quaruts II 7.1 Nios II 7.1 Nios II Cyclone II count_binary 2. 2-1. http://www.altera.com/literature/lit-nio2.jsp 2-2. Nios II Quartus II FEATURE Nios II

More information

Microsoft PowerPoint - 01_Vengineer.ppt

Microsoft PowerPoint - 01_Vengineer.ppt Software Driven Verification テストプログラムは C 言語で! SystemVerilog DPI-C を使えば こんなに便利に! 2011 年 9 月 30 日 コントローラ開発本部コントローラプラットフォーム第五開発部 宮下晴信 この資料で使用するシステム名 製品名等は一般にメーカーや 団体の登録商標などになっているものもあります なお この資料の中では トレードマーク

More information

Zynq + Synthesijer 入門 わさらぼ 三好 健文

Zynq + Synthesijer 入門 わさらぼ 三好 健文 Zynq + Synthesijer 入門 わさらぼ 三好 健文 2015.3.16 この資料について この資料はZynqとSynthesijerを組み合わせたシステム設計の とっかかりにしてもらことを目的にしています ターゲットボードは ZedboardおよびZyboです Linuxでの実行を想定しています Windowsではコマンドを多少読み違える必要があります Java8が必要です 例題および流れは

More information

Unconventional HDL Programming ( version) 1

Unconventional HDL Programming ( version) 1 Unconventional HDL Programming (20090425 version) 1 1 Introduction HDL HDL Hadware Description Language printf printf (C ) HDL 1 HDL HDL HDL HDL HDL HDL 1 2 2 2.1 VHDL 1 library ieee; 2 use ieee.std_logic_1164.all;

More information

Presentation Title

Presentation Title コード生成製品の普及と最新の技術動向 MathWorks Japan パイロットエンジニアリング部 東達也 2014 The MathWorks, Inc. 1 MBD 概要 MATLABおよびSimulinkを使用したモデルベース デザイン ( モデルベース開発 ) 紹介ビデオ 2 MBD による制御開発フローとコード生成製品の活用 制御設計の最適化で性能改善 設計図ですぐに挙動確認 MILS:

More information

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

デザインパフォーマンス向上のためのHDLコーディング法 WP231 (1.1) 2006 1 6 HDL FPGA TL TL 100MHz 400MHz HDL FPGA FPGA 2005 2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx,

More information

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

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices XAPP858 (v1.1) 2007 1 9 : Virtex-5 FPGA Virtex-5 DDR2 SDRAM : Karthi Palanisamy Maria George (v1.1) DDR2 SDRAM Virtex -5 I/O ISERDES (Input Serializer/Deserializer) ODDR (Output Double Data Rate) DDR2

More information

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2 30 1631158 1 29 () 1 DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( 0.010.1 ) DELPHINUS 2 1 4 1.1............................................ 4 1.2 (Lunar Impact Flush)............................. 4 1.3..............................................

More information

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 =

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 = VHDL 2 1 VHDL 1 VHDL FPGA VHDL 2 HDL VHDL 2.1 D 1 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; regs.vhdl entity regs is clk, rst : in std_logic; clear : in std_logic; we

More information

SimscapeプラントモデルのFPGAアクセラレーション

SimscapeプラントモデルのFPGAアクセラレーション Simscape TM プラントモデルの FPGA アクセラレーション MathWorks Japan アプリケーションエンジニアリング部 松本充史 2018 The MathWorks, Inc. 1 アジェンダ ユーザ事例 HILS とは? Simscape の電気系ライブラリ Simscape モデルを FPGA 実装する 2 つのアプローチ Simscape HDL Workflow Advisor

More information

VLD Kazutoshi Kobayashi

VLD Kazutoshi Kobayashi VLD Kazutoshi Kobayashi (kobayasi@kuee.kyoto-u.ac.jp) 2005 8 26-29 1, Verilog-HDL, Verilog-HDL. Verilog-HDL,, FPGA,, HDL,. 1.1, 1. (a) (b) (c) FPGA (d). 2. 10,, Verilog-HDL, FPGA,. 1.2,,,, html. % netscape

More information

1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i

1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i 1030195 15 2 10 1 1 2 2 2-1 2 2-2 4 2-3 11 2-4 12 2-5 14 3 16 3-1 16 3-2 18 3-3 22 4 35 4-1 VHDL 35 4-2 VHDL 37 4-3 VHDL 37 4-3-1 37 4-3-2 42 i 4-3-3 47 5 52 53 54 55 ii 1 VHDL IC VHDL 5 2 3 IC 4 5 1 2

More information

Nios II 簡易チュートリアル

Nios II 簡易チュートリアル Nios II Ver. 7.1 2007 10 1. Nios II Nios II JTAG UART LED 8 PIO LED < > Quartus II SOPC Builder Nios II Quartus II.sof Nios II IDE Stratix II 2S60 RoHS Nios II Quartus II http://www.altera.com/literature/lit-nio2.jsp

More information

VelilogHDL 回路を「言語」で記述する

VelilogHDL 回路を「言語」で記述する 2. ソースを書く 数値表現 数値表現形式 : ss'fnn...n ss は, 定数のビット幅を 10 進数で表します f は, 基数を表します b が 2 進,o が 8 進,d が 10 進,h が 16 進 nn...n は, 定数値を表します 各基数で許される値を書くこ Verilog ビット幅 基数 2 進表現 1'b0 1 2 進 0 4'b0100 4 2 進 0100 4'd4 4

More information

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

「FPGAを用いたプロセッサ検証システムの製作」 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

More information

starc_verilog_hdl pptx

starc_verilog_hdl pptx !!!!!!! ! 2.10.6.! RTL : 1! 1 2! 3.2.5.! : ! 1.7. FPGA 1 FPGA FPGA 1.5.2! 3.1.2.! 3! 3.3.1. DFT! LSI :! 2 : ! ON FPGA!!! FPGA! FPGA! !!!!! ! Verilog HDL 6 9 4! Xilinx ISE!!! RTL! CPU !! 20!! C! VHDL! Xilinx

More information

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

設計現場からの課題抽出と提言 なぜ開発は遅れるか?その解決策は? Work in Progress - Do not publish STRJ WS: March 4, 2004, WG1 1 WG1: NEC STARC STARC Work in Progress - Do not publish STRJ WS: March 4, 2004, WG1 2 WG1 ITRS Design System Drivers SoC EDA Work in Progress

More information

<4D F736F F F696E74202D C190DD B A CB48D65208E DC58F49205B8CDD8AB B83685D>

<4D F736F F F696E74202D C190DD B A CB48D65208E DC58F49205B8CDD8AB B83685D> 今さら聞けない高位合成 ~ 一から学ぶ高位合成 ~ シャープ株式会社電子デバイス事業本部副参事山田晃久 1 ハードウェア設計と抽象度 要求仕様 動作仕様設計制約 ( コスト 性能 消費電力 ) システムの実現方式を決定システム設計 ( 動作レベル設計 ) ( アーキテクチャ アルゴリズム ) システム分割 (HW/SW) 機能ブロック RTL 記述 機能設計 (RTL 設計 ) 論理合成 ハードウェアの処理を設計

More information

HP Workstation 総合カタログ

HP Workstation 総合カタログ HP Workstation Z HP 6 Z HP HP Z840 Workstation P.9 HP Z640 Workstation & CPU P.10 HP Z440 Workstation P.11 17.3in WIDE HP ZBook 17 G2 Mobile Workstation P.15 15.6in WIDE HP ZBook 15 G2 Mobile Workstation

More information

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用]

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用] 2007.11.12 集積回路工学 Matsuzawa Lab 1 集積回路工学 東京工業大学 大学院理工学研究科 電子物理工学専攻 2007.11.12 集積回路工学 Matsuzawa Lab 2 1. 1. ハードウェア記述言語 (VHDL で回路を設計 ) HDL 設計の手順や基本用語を学ぶ RTL とは? Register Transfer Level レジスタ間の転送関係を表現したレベル慣例的に以下のことを行う

More information

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

テストコスト抑制のための技術課題-DFTとATEの観点から 2 -at -talk -talk -drop 3 4 5 6 7 Year of Production 2003 2004 2005 2006 2007 2008 Embedded Cores Standardization of core Standard format Standard format Standard format Extension to Extension to test

More information

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - Lec pptx Course number: CSC.T341 コンピュータ論理設計 Computer Logic Design 10. シングルサイクルプロセッサのデータパス Datapath for Single Cycle Processor 吉瀬謙二情報工学系 Kenji Kise, Department of Computer Science kise _at_ c.titech.ac.jp www.arch.cs.titech.ac.jp/lecture/cld/

More information

VHDL

VHDL VHDL 1030192 15 2 10 1 1 2 2 2.1 2 2.2 5 2.3 11 2.3.1 12 2.3.2 12 2.4 12 2.4.1 12 2.4.2 13 2.5 13 2.5.1 13 2.5.2 14 2.6 15 2.6.1 15 2.6.2 16 3 IC 17 3.1 IC 17 3.2 T T L 17 3.3 C M O S 20 3.4 21 i 3.5 21

More information

Smarter Vision のための最もスマートな選択

Smarter Vision のための最もスマートな選択 Zynq All Programmable SOC : Smarter Vision Audi Kinect Xbox 360 Smarter Vision Smarter Vision Smarter Vision 10 ( ) Smarter Vision Smarter Vision Intuitive Surgical Smarter Vision Xilinx All Programmable

More information

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor VHDL を使った PLD 設計のすすめ PLD 利用のメリット 小型化 高集積化 回路の修正が容易 VHDL 設計のメリット 汎用の設計になる ( どこのデバイスにも搭載可能 ) 1/16 2001/7/13 大久保弘崇 http://www.aichi-pu.ac.jp/ist/~ohkubo/ 2/16 設計の再利用が促進 MIL 記号の D での設計との比較 Verilog-HDL などでも別に同じ

More information

新技術説明会 様式例

新技術説明会 様式例 1 ロボットへの FPGA 導入を 容易化する コンポーネント技術 宇都宮大学大学院工学研究科情報システム科学専攻助教大川猛 2 従来技術とその問題点 FPGA(Field Programmable Gate Array) は 任意のディジタル論理回路をプログラム可能な LSI ソフトウェアでは時間がかかる画像認識処理等を ハードウェア化して 高速化 低消費電力化可能 問題点 FPGA 上の回路設計が難しい

More information

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

26 FPGA 11 05340 1 FPGA (Field Programmable Gate Array) ASIC (Application Specific Integrated Circuit) FPGA FPGA FPGA FPGA Linux FreeDOS skewed way L1 FPGA 272 11 05340 26 FPGA 11 05340 1 FPGA (Field Programmable Gate Array) ASIC (Application Specific Integrated Circuit) FPGA FPGA FPGA FPGA Linux FreeDOS skewed way L1 FPGA skewed L2 FPGA skewed Linux

More information

[公開OK][空閑さん資料]kuga-ovs-fpga.pptx

[公開OK][空閑さん資料]kuga-ovs-fpga.pptx FPGA を使って Open vswitch の データプレーンを作る 慶應義塾 大学空閑洋平, 松 谷健史 SDN Japan 2012/12/7 Open vswitch を使った DIY 設計スイッチの発表です 5000 円前後の FPGA を想定 1000BASE- T マルチポート NIC Offloading 機能 CPU+SW 部と転送 HW 部の分離離

More information

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 GPU 4 2010 8 28 1 GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1 Register & Shared Memory ( ) CPU CPU(Intel Core i7 965) GPU(Tesla

More information

COINS 5 2.1

COINS 5 2.1 COINS (0501699) 20 21 2 5 1 3 1.1....................................... 3 1.2..................................... 4 1.3....................................... 4 2 COINS 5 2.1 COINS..................................

More information

02_Matrox Frame Grabbers_1612

02_Matrox Frame Grabbers_1612 Matrox - - Frame Grabbers MatroxRadient ev-cxp Equalizer Equalizer Equalizer Equalizer 6.25 Gbps 20 Mbps Stream channel Control channel Stream channel Control channel Stream channel Control channel Stream

More information

Lab GPIO_35 GPIO

Lab GPIO_35 GPIO 6,GPIO, PSoC 3/5 GPIO HW Polling and Interrupt PSoC Experiment Lab PSoC 3/5 GPIO Experiment Course Material 6 V2.02 October 15th. 2012 GPIO_35.PPT (65 Slides) Renji Mikami Renji_Mikami@nifty.com Lab GPIO_35

More information

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

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 AMBA 1 1 1 1 FabScalar FabScalar AMBA AMBA FutureBus Improvement of AMBA Bus Frame-work for Heterogeneos Multi-processor Seto Yusuke 1 Takahiro Sasaki 1 Kazuhiko Ohno 1 Toshio Kondo 1 Abstract: The demand

More information

ATLAS 2011/3/25-26

ATLAS 2011/3/25-26 ATLAS 2011/3/25-26 2 LHC (Large Hadron Collider)/ATLAS LHC - CERN - s=7 TeV ATLAS - LHC 1 Higgs 44 m 44m 22m 7000t 22 m 3 SCT( ) SCT(SemiConductor Tracker) - - 100 fb -1 SCT 3 SCT( ) R eta=1.0 eta=1.5

More information

CANON_IT_catalog_1612

CANON_IT_catalog_1612 Image processing products Hardware /Software MatroxRadient Pro CL 7 HDR-26 HDR-26 Data Clock CC [4] UART Data Clock CC [4] UART Camera Link Interface w/ PoCL Camera Link Interface w/ PoCL Image Reconstruction

More information

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2 FFT 1 Fourier fast Fourier transform FFT FFT FFT 1 FFT FFT 2 Fourier 2.1 Fourier FFT Fourier discrete Fourier transform DFT DFT n 1 y k = j=0 x j ω jk n, 0 k n 1 (1) x j y k ω n = e 2πi/n i = 1 (1) n DFT

More information

ソフトウェアエンジニアでもできる ハードウェアをやわらかく使う方法 満田 賢一郎 株 システム計画研究所 ISP 2017/08/24, 25 SWEST 19 於 下呂温泉 水明館

ソフトウェアエンジニアでもできる ハードウェアをやわらかく使う方法 満田 賢一郎 株 システム計画研究所 ISP 2017/08/24, 25 SWEST 19 於 下呂温泉 水明館 ソフトウェアエンジニアでもできる ハードウェアをやわらかく使う方法 満田 賢一郎 株 システム計画研究所 ISP 2017/08/24, 25 SWEST 19 於 下呂温泉 水明館 はじめに ISPの紹介 所属 株 システム計画研究所 ISP 1977年創業の独立系研究開発型のソフトウェア開発会社です はじめに ISPの紹介 所属 株 システム計画研究所 ISP 1977年創業の独立系研究開発型のソフトウェア開発会社です

More information

FPGA と LUPO その1

FPGA と LUPO その1 FPGA Lecture for LUPO and GTO Vol. 1 2010, 31 August (revised 2013, 19 November) H. Baba Contents FPGA の概要 LUPO の基本的な使い方 New Project Read and Write 基本的な Behavioral VHDL simulation Firmware のダウンロード FPGA

More information

SCV in User Forum Japan 2003

SCV in User Forum Japan 2003 Open SystemC Initiative (OSCI) SystemC - The SystemC Verification Standard (SCV) - Stuart Swan & Cadence Design Systems, Inc. Q0 Q1 Q2 Q3 Q4 Q5 2 SystemC Q0 Q1 Q2 Q3 Q4 Q5 3 Verification Working Group

More information

AN424 Modbus/TCP クイックスタートガイド CIE-H14

AN424 Modbus/TCP クイックスタートガイド CIE-H14 Modbus/TCP クイックスタートガイド (CIE-H14) 第 1 版 2014 年 3 月 25 日 動作確認 本アプリケーションノートは 弊社取り扱いの以下の機器 ソフトウェアにて動作確認を行っています 動作確認を行った機器 ソフトウェア OS Windows7 ハードウェア CIE-H14 2 台 ソフトウェア ezmanager v3.3a 本製品の内容及び仕様は予告なしに変更されることがありますのでご了承ください

More information

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

TULを用いたVisual ScalerとTDCの開発 TUL を用いた Visual Scaler と TDC の開発 2009/3/23 原子核物理 4 年 永尾翔 目次 目的と内容 開発環境 J-Lab におけるハイパー核分光 Visual Scaler TDC まとめ & 今後 目的と内容 目的 TUL, QuartusⅡ を用いて実験におけるトリガーを組めるようになる Digital Logic を組んでみる 内容 特徴 TUL,QuartusⅡ

More information

電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニ

電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニ 電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニタと端末の電源を入れる 2. GNU GRUB version 2.02 Beta2-36ubuntu3

More information

EDSF2006_ PDF

EDSF2006_ PDF /SystemC SystemC FPFA 1 Techno Repo LSI / 2 Techno Repo 3 Techno Repo 4 Techno Repo DesignPrototyper 5 Techno Repo 6 Techno Repo 7 Techno Repo 8 Techno Repo 9 Techno Repo C/C++ C/C++/SystemC IP (Verilog-HDL/

More information

Bluespec SystemVerilogによるIP流通と効果的なRTLのデバッグ

Bluespec SystemVerilogによるIP流通と効果的なRTLのデバッグ Technical Overview Bluespec SystemVerilog による IP 流通と効果的な RTL のデバッグ 他人の書いた RTL を正確に理解し 把握することは簡単なことではありません 他人の書いた RTL に変更を加えてエラーなくインプリメントすることはさらに困難です これを成功させるためには 設計者は RTL コード全体の設計スタイルに慣れ コードの詳細を把握し アーキテクチャとマイクロアーキテクチャを完全に完全に理解する必要があります

More information

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

計数工学実験/システム情報工学実験第一 「ディジタル回路の基礎」 計数工学実験 / システム情報工学実験第一 ディジタル回路の基礎 ( 全 3 回 ) システム 8 研 三輪忍 参考資料 五島正裕 : ディジタル回路 ( 科目コード 400060) 講義資料 ( ググれば出てくる ) 高木直史 : 論理回路, 昭晃堂 Altera: Cyclone II FPGA スターター開発ボードリファレンス マニュアル Altera: Introduction to Quartus

More information

GPGPU

GPGPU GPGPU 2013 1008 2015 1 23 Abstract In recent years, with the advance of microscope technology, the alive cells have been able to observe. On the other hand, from the standpoint of image processing, the

More information

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments 計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];

More information

LR DEVICE Version 1.1 706434 / 01 04 / 2017 1................................................ 3 1.1............................................... 3 2................................................ 3

More information

ネットリストおよびフィジカル・シンセシスの最適化

ネットリストおよびフィジカル・シンセシスの最適化 11. QII52007-7.1.0 Quartus II Quartus II atom atom Electronic Design Interchange Format (.edf) Verilog Quartus (.vqm) Quartus II Quartus II Quartus II Quartus II 1 Quartus II Quartus II 11 3 11 12 Altera

More information

matrox0

matrox0 Image processing products Hardware/Software Software Hardware INDEX 4 3 2 12 13 15 18 14 11 10 21 26 20 9 8 7 6 5 Hardware 2 MatroxRadient 3 MatroxSolios MatroxMorphis MatroxVio 10 MatroxOrionHD 11 MatroxConcord

More information

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

HardCopy IIIデバイスの外部メモリ・インタフェース 7. HardCopy III HIII51007-1.0 Stratix III I/O HardCopy III I/O R3 R2 R SRAM RII+ RII SRAM RLRAM II R HardCopy III Stratix III LL elay- Locked Loop PLL Phase-Locked Loop On-Chip Termination HR 4 36 HardCopy

More information

SICE東北支部研究集会資料(2009年)

SICE東北支部研究集会資料(2009年) 計測自動制御学会東北支部第 5 回研究集会 (9.7.5) 資料番号 5- FPGA を用いたステッピングモータの制御に関する検討 Control of a Stepping Motor using FPGA 萩原正基 *, 秋山宜万 *, 松尾健史 *, 三浦武 *, 谷口敏幸 * Masaki Hagiwara*, oshikazu Akiyama*, Kenshi Matsuo*, Takeshi

More information

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

Stratix IIIデバイスの外部メモリ・インタフェース 8. Stratix III SIII51008-1.1 Stratix III I/O R3 SRAM R2 SRAM R SRAM RII+ SRAM RII SRAM RLRAM II 400 MHz R Stratix III I/O On-Chip Termination OCT / HR 4 36 R ouble ata RateStratix III FPGA Stratix III

More information

Microsoft PowerPoint - CompArch_Exercise3.pptx

Microsoft PowerPoint - CompArch_Exercise3.pptx 2018 年度 ( 平成 30 年度 ) 版 Ver. 2018-10-14a Course number: CSC.T363 コンピュータアーキテクチャ演習 (3) Computer Architecture Exercise(3) 情報工学系吉瀬謙二 Kenji Kise, Department co Computer Science kise_at_c.titech.ac.jp CSC.T363

More information

スライド 1

スライド 1 1 1. 2 2. 3 isplever 4 5 6 7 8 9 VHDL 10 VHDL 4 Decode cnt = "1010" High Low DOUT CLK 25MHz 50MHz clk_inst Cnt[3:0] RST 2 4 1010 11 library ieee; library xp; use xp.components.all; use ieee.std_logic_1164.all;

More information

スライド 1

スライド 1 isplever CLASIC 1.2 Startup Manual for MACH4000 Rev.1.0 isplever_ CLASIC Startup_for_MACH4000_Rev01.ppt Page: 1 1. Page 3 2. Lattice isplever Design Flow Page 4 3. Page 5 3-1 Page 6 3-2 Page 7 3-3 Page

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション SATA Host/Device IP Core HDD や SSD などのストレージを使用した システム開発に最適な FPGA 向けIntelliProp 社製 SATA IP Core IntelliProp 社製 SATA Host / Device IP Coreは SATA Revision 3.0 Specificationに準拠しており 1.5Gbps 3.0Gbps 6.0Gbpsに対応しています

More information

DS0 0/9/ a b c d u t (a) (b) (c) (d) [].,., Del Barrio [], Pilato [], [].,,. [],.,.,,.,.,,.,, 0%,..,,, 0,.,.,. (variable-latency unit)., (a) ( DFG ).,

DS0 0/9/ a b c d u t (a) (b) (c) (d) [].,., Del Barrio [], Pilato [], [].,,. [],.,.,,.,.,,.,, 0%,..,,, 0,.,.,. (variable-latency unit)., (a) ( DFG )., DS0 0/9/,.,,.,,,.,.,.0%,.%.,,,, Speculative Execution in Distributed Controllers for High-Level Synthesis Shimizu iho Ishiura Nagisa bstract: This article proposes a method of incorporating speculative

More information

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

quattro.PDF

quattro.PDF Quattro USB Audio Interface 2 M-AUDIO 3 Windows Windows 98 SE/ Windows ME/ Windows 2000/ Windows XP Platinum III 500MHz/ 96kHz Platinum II 400MKz/ 48kHz 128MB RAM / 96kHz 64MB RAM/ 48kHz Macintosh USB

More information

電卓の設計 1

電卓の設計 1 電卓の設計 1 FPGA Express と MAXPLUS2 に よる FPGA 設計 FPGA EXPRESS RTL circuit.edf circuit.acf RTL MAXPLUS2 FPGA circuit.acf circuit.sof, ttf, pof SRAM 2 どうして電卓なの? その場で 10 キーを使って動かせる プロセッサだと プログラムを考えたり メモリとのインタフェースが必要

More information

Slide 1

Slide 1 はじめての MicroBoard キット入門 Spartan-6 LX9 MicroBpard キット概要 V1.2 アヴネットジャパン株式会社 内容一覧 MicroBoardキット概要キットに含まれるもの MicroBoardボード概要ボードブロック図 MicroBoard 外観 サイズイメージ MicroBoardインタフェース FPGAの起動方法 ( コンフィギュレーション方法 ) FPGA

More information

1: ITT-2 DDR2 1.8V,.V(F) Config. Mem. JTAG XCFPV048 LEDs SWs Clock (VariClock) DDR2 DDR2 DDR2 FPGA XC5VFX0T General-Purpose LEDs SWs XTAL (2.68kHz) MC

1: ITT-2 DDR2 1.8V,.V(F) Config. Mem. JTAG XCFPV048 LEDs SWs Clock (VariClock) DDR2 DDR2 DDR2 FPGA XC5VFX0T General-Purpose LEDs SWs XTAL (2.68kHz) MC 2009 ZEAL-C01 1 ZEAL ZEAL-C01 2 ITT-2 2 [1] 2 ITT-2 Bluetooth ZEAL-C01 ZEAL-S01 ITT-2 ZEAL IC FPGA (Field Programmable Gate Array) MCU (Microcontroller Unit) FPGA Xilinx Virtex-5 (XC5VFX0T) MCU Texas Instruments

More information

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

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P , 0 (MSB) =2, =1/2, MSB LSB, LSB MSB MSB 0 LSB 0 0 P61 231 1 (100, 100 3 ) 2 10 0 1 1 0 0 1 0 0 100 (64+32+4) 2 10 100 2 5, ( ), & 3 (hardware), (software) (firmware), hardware, software 4 wired logic

More information

C ImpulseC[2] CyberWorkBench[3] LegUp[4] Java JHDL[5] Lime[6] JavaRock[7] HDL IP CFD Fortran Java JavaRock-Thrash[1] Verilog HDL HW Fortran Java HW Fo

C ImpulseC[2] CyberWorkBench[3] LegUp[4] Java JHDL[5] Lime[6] JavaRock[7] HDL IP CFD Fortran Java JavaRock-Thrash[1] Verilog HDL HW Fortran Java HW Fo Fortran FortRock 1 1 1 GPU FPGA FPGA HDL C Java Fortran Fortran C Java Fortran Java JavaRock-Thrash Verilog HDL Fortran Verilog HDL FortRock FPGA Fortran Hardware Acceleration for High Performance Computing

More information

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2 ! OpenCL [Open Computing Language] 言 [OpenCL C 言 ] CPU, GPU, Cell/B.E.,DSP 言 行行 [OpenCL Runtime] OpenCL C 言 API Khronos OpenCL Working Group AMD Broadcom Blizzard Apple ARM Codeplay Electronic Arts Freescale

More information

Fujitsu Standard Tool

Fujitsu Standard Tool 低レベル通信ライブラリ ACP の PGAS ランタイム向け機能 2014 年 10 月 24 日富士通株式会社 JST CREST 安島雄一郎 Copyright 2014 FUJITSU LIMITED 本発表の構成 概要 インタフェース チャネル ベクタ リスト メモリアロケータ アドレス変換 グローバルメモリ参照 モジュール構成 メモリ消費量と性能評価 利用例 今後の課題 まとめ 1 Copyright

More information

untitled

untitled Verilog HDL Verilog HDL VerilogHDL veriloghdl / CPLD , 1bit 2 MUX 5 D,E) always) module MUX(out, a, b, sel); output out; input a, b, sel; A) IF module MUX(out, a, b, sel); output out; input a, b, sel;

More information

Product Guide

Product Guide Product Guide Digilent Inc. Digilent Inc. National Instruments 2000 Digilent Inc. Xilinx, AnalogDevices and Imagination Technology 70 1,000 Digilent Inc. Digilent Inc. Avnet EM Avnet EM Digilent Inc. ZedBoard,

More information

LSI LSI

LSI LSI EDA EDA Electric Design Automation LSI LSI FPGA Field Programmable Gate Array 2 1 1 2 3 4 Verilog HDL FPGA 1 2 2 2 5 Verilog HDL EDA 2 10 BCD: Binary Coded Decimal 3 1 BCD 2 2 1 1 LSI 2 Verilog HDL 3 EDA

More information

XJTAG

XJTAG LDRA/ T-VEC/ MetaEdit+ Domain Specific Modeling Ashling/Jtag ARC SmartCards LAUTERBACH /Jtag ARM PowerPC K MIPS XJTAG HW Domain-Specific Modeling Domain-Specific Modeling Software Technology 30 Copyright

More information

IPSJ SIG Technical Report Vol.2016-HPC-153 No /3/1 FPGA 1,a) FPGA(Field Programmable Gate Array) FPGA HPC OpenCL FPGA HPC FPGA FEM CG Open

IPSJ SIG Technical Report Vol.2016-HPC-153 No /3/1 FPGA 1,a) FPGA(Field Programmable Gate Array) FPGA HPC OpenCL FPGA HPC FPGA FEM CG Open FPGA 1,a) 1 1 1 FPGA(Field Programmable Gate Array) FPGA HPC OpenCL FPGA HPC FPGA FEM CG OpenCL FPGA 1. CPU(Central Processing Unit) GPU(Graphics Processing Unit) HPC FPGA (Field Programmable Gate Array)

More information

スライド 1

スライド 1 SoC -SWG ATE -SWG 2004 2005 1 SEAJ 2 VLSI 3 How can we improve manageability of the divergence between validation and manufacturing equipment? What is the cost and capability optimal SOC test approach?

More information

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法

FPGA 外部のメモリをアバロン・MM・インタフェースへ接続する方法 ver. 8.1 2009 年 3 月 1. はじめに Nios II 開発ボードに実装されているメモリ用のコンポーネントは SOPC Builder の中にあらかじめ用意されています しかし 実際に基板を作成した場合には Nios II 開発ボードに実装されているメモリと同じ仕様の製品でない限り SOPC Builder であらかじめ用意されたメモリ用のコンポーネントを使用することはできません この場合

More information

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

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

FPGAメモリおよび定数のインシステム・アップデート QII53012-7.2.0 15. FPGA FPGA Quartus II Joint Test Action Group JTAG FPGA FPGA FPGA Quartus II In-System Memory Content Editor FPGA 15 2 15 3 15 3 15 4 In-System Memory Content Editor Quartus II In-System

More information

単位、情報量、デジタルデータ、CPUと高速化 ~ICT用語集~

単位、情報量、デジタルデータ、CPUと高速化  ~ICT用語集~ CPU ICT mizutani@ic.daito.ac.jp 2014 SI: Systèm International d Unités SI SI 10 1 da 10 1 d 10 2 h 10 2 c 10 3 k 10 3 m 10 6 M 10 6 µ 10 9 G 10 9 n 10 12 T 10 12 p 10 15 P 10 15 f 10 18 E 10 18 a 10 21

More information

Microsoft PowerPoint - ARTD 2.3new_datasheet.ppt

Microsoft PowerPoint - ARTD 2.3new_datasheet.ppt 製品 Ver2.3 の主な特徴 C 言語からのハードウェア開発 SystemCサポート ( サブセット ) 自動アーキテクチャ合成 最新技術のデータフロー解析 資源の配置と割り当て スケジューリングの自動化とコントローラの生成 詳細なパフォーマンス解析機能 パイプライン化されたVLIWアーキテクチャのコントローラ ASICとFPGAへのインプリメンテーション パス C/HDL テストベンチ生成 サイクル

More information

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~ MATLAB における並列 分散コンピューティング ~ Parallel Computing Toolbox & MATLAB Distributed Computing Server ~ MathWorks Japan Application Engineering Group Takashi Yoshida 2016 The MathWorks, Inc. 1 System Configuration

More information

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

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

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 - 5ns - f CNT 25MHz - 800~6,400 36~288 5V ISP - 0,000 / - / 36V8-90 8 - IEEE 49. JTAG 24mA 3.3V 5V PCI -5-7 -0 CMOS 5V FastFLASH XC9500 XC9500CPLD 0,000 / IEEE49. JTAG XC9500 36 288 800 6,400 2 XC9500

More information

スライド 1

スライド 1 FPGA/HDLを活用したソフトウェア並列処理の構築 goyoki @ 並列プログラミングカンファレンス 自己紹介 goyoki(hatena/twitter) 千里霧中 http://d.hatena.ne.jp/goyoki/ 組込みエンジニア Doxygen 日本語メンテナ 主にテスト関連コミュニティで情報発信 yomite.swtest xunit Test Patterns 読書会等 概要

More information