原创 Create Platform Supported Package

2009-12-13 16:51 2354 4 4 分类: FPGA/CPLD

Platform Supported Package (PSP) 的作用无非两点:



1)  PSP描述每一个特定Platform的配置,CoDeveloper 会参考PSP生成特定Platform的硬件描述语言



2)  PSP用于CoDeveloper与第三方设计工具间的交互



简而言之,PSP定义了Impulse Cco_stream,
co_memory, co_register
I/O channels怎么与特定Platform I/O devices之间的连接。

点击看大图

Comp.vhd 文件中包括Process(形参) 编译后生成的Entity(端口)



Top.vhd 包括上面提到的Entity,
以及从Impulse C库调用的端口描述,上图显示该Entity有一个输入stream端口和一个输出signal端口;



Impulse_wrap.vhd (bus wrapper)
描述了Impulse C标准库中被调用的I/O端口怎么与Platform实际的I/O交互



正如前面提到,co_stream端口被实例化成handshake
PORT (en, eos, rdy, data).
同时在create
stream
的时候,可以通过调节buffersize这个参数, 生成用于连接两个processes间的buffer
这个buffer被实例化成FIFO, 主要用于processes(通过stream相连)间的同步,但会消耗register资源;



co_register(input)端口被实例化成en,
data PORT.



co_register(output)端口被实例化成value PORT.



co_signal(input)端口被实例化成en,
data PORT.



co_signal(output)端口被实例化成en, rdy,
data PORT.



co_memory
(to be developed)



Stream通常从memory读写数据,因为off
chip memory
FPGA通常需要FIFO同步,故streammemory的通信通常可以简化为streamFIFO的通信。事实上,不同Platform常提供FIFO类型的IP来负责向FPGA传递数据。BUS wrapper的主要作用就是协调协调FIFOstream间的通信,根据stream的状态(rdy), 来控制FIFO的数据流。



inp_stream_intfc.vhd,
out_stream_intfc.vhd
分别是协调rd/wr FIFOin/out Stream的接口文件(Impulse C)Bus wrapperFPGA上最顶层的设计,封装了interface files, 用户top level design.



我理解的PSP核心任务就是针对Process/Entity不同类型的端口,链接(或生成) Impulse C对应端口库文件,生成top level user designHDL描述,最终由Bus wrapper封装top level HDL和接口文件。


文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条