接口综合设计(二)

张开发
2026/4/18 17:08:51 15 分钟阅读

分享文章

接口综合设计(二)
一、端口级别IO协议设计端口级别IO协议是针对顶层函数的参数进行修饰和约束的设计。端接级别的IO协议有ap_noneap_stableap_vldap_ackap_ovldap_memorybramap_fifoap_hsap_busaxiss_axilitem_axi二、各个端口级别IO协议说明1.ap_none修饰端口IOap_none协议是最简单的接口类型。输入和输出数据信号没有关联的控制端口。这个RTL设计中只有端口变量综合的信号。ap_none接口没有额外硬件开销。关于ap_none修饰生产者需要执行的操作需要在正确的时间向输入端口提供数据。在执行传输事务的期间需要保留数据直到操作完成。例如void func(int a){int b;RD:ba;COMP:cb*10;WR:d c;}如果对a使用ap_none修饰那么a需要在正确的时间输入。a的输入需要保证COMP完成之前保持不变否则会存在问题也就类似verilog中数据的建立时间和保持时间需要保证数据被正确采样不能影响这个数据的操作。2.ap_stable接口修饰IOap_stable协议和ap_none协议在大部分情况下是一样的稍微有点差异的就是ap_stable端口是在ap_rstn拉高之前才能修改在ap_rstn拉高后需要保持不变直到下次ap_rstn拉低才可以修改。ap_stable只能修饰input信号不能修饰output信号。当ap_stable修饰inout信号的时候只是对inout的input信号有效对output信号无效。3.ap_hs端口协议ap_hs ap_vld ap_ack4.ap_memory和bramap_memory和bram接口端口级IO协议用于实现数组实参。当实现要求随机访问内存地址位置时这种类型的端口级 I/O 协议可以与内存元件例如RAM 和 ROM通信。如果只需顺序访问内存元件请改用 ap_fifo 接口。ap_memory 接口显示为离散端口。bram 接口显示为单一端口已组合。

更多文章