13. PyCoRAM [Takamaeda+,CARL’13]:
CoRAM for Modern EDKs
n CoRAMのメモリ抽象化を今時のEDKで使いたい
l 標準的なインターコネクト(AXI4/Avalon)に繋ぎたい
l そうすれば他の普通のIPコアとも簡単に共存できそう
Standard On-chip Interconnect
CoRAM
Abstraction
Accelerator logic
Standard IP-core
Device-dependent Interfaces
CPU core
Portable application
design with CoRAM Cooperation with standard IP-cores
2015-01-16 Shinya T-Y, NAIST 13
31. サポートされているPyCoRAMオブジェクト
n データ置き場(メモリ・ストリーム)
l CoramMemory
• Block RAM that the data is replaced by the control thread
l CoramInStream
• Input FIFO from off-chip DRAM
l CoramOutStream
• Output FIFO to off-chip DRAM
n ユーザロジックとコンロールスレッド間のチャネル
l CoramChannel
• FIFO between user-logic and control-thread
l CoramRegister
• Latch between user-logic and control-thread
n 他のIPコア・プロセッサからアクセスできるスレーブチャネル
l CoramIoChannel
• (AXI4/Avalon) Slave interface
2015-01-16 Shinya T-Y, NAIST 31
47. flipSyrup: RTL Modeling with Abstract Objects
n In advance, RAM objects and logic segments are
identified by using abstract objects of flipSyrup
ReConFig2014 Shinya T-Y. NAIST 47
Read
Write
RAM
1-cycle RAMs w/o Capacity Limits
RAM RAM
Logic
Read
Write
Sub-logic
0
Syrup
Memory
Syrup
Memory
Syrup
Channel
Syrup
Channel
Read
Write
Virtual Connection
Region 0
Sub-logic
N-1
Syrup
Memory
Syrup
Channel
Region N-1
= Entire Original LogicReplacing RAMs and I/Os
with abstract objects
(a) Original Target Design (b) RTL Design with Abstract Objects
48. Complete Cycle-Accurate Simulation System
n The tool-chain generates a complete IP-core for cycle-
accurate simulation of the target hardware
ReConFig2014 Shinya T-Y. NAIST 48
Memory
I/F
Memory
I/F
Channel
I/F
Channel
I/F
Stall
I/OInterface
(Ser/Des)
Off-chip DRAM
On-chip Bus Interface
(AXI4 or Handshake)
Cache
FIFO
Controlled
Simulation
Target
Cycle-Accuracy
Manager
Cache
FIFO
On-chip Interconnect
Other
IP-core
or
CPU
(If
needed)
flipSyrup IP-core (Region 0)
(Automatically Generated)
FPGA
Region 0
I/O
flipSyrup System
Sub-logic
0
FPGA
Region N-1
Connected to Other FPGAs