微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 在业界,对于跨subchip之间高效异步交互有什么好的方法?

在业界,对于跨subchip之间高效异步交互有什么好的方法?

时间:10-02 整理:3721RD 点击:
各位大侠,小弟在这请教个问题。大家有什么想法也可以借此地讨论讨论。
由于芯片规模较大,将一个chip区域性的分为几个subchip,并且是不同的时钟域的。
问题出现了,如果两个subchip是要进行数据交互,有什么好办法呢?
想了几个办法,都不能很好的满足需求,具体如下:
1、通过Req/Ack的方法,将数据传到对方的时钟域进行异步转换
弊端:用这种方法,传输一个数据>4拍的时间,效率极其低下。
2、用异步FIFO的方法,将数据写到对方subchip中
弊端:由于是异步FIFO的方法,会将一个时钟域(subchip)的clk和数据线拉到另一个时钟域(subchip)中进行异步处理。
做后端走线太长,很难做到时序收敛。
如果既要做到高效传输数据,又要为了后端考虑,在跨subchip之间的走线时序收敛,各位大虾有什么好的方法?

1. If you can't afford it, kill it from you plan
2. I don't think that would affect backend design that much. that depends on placement.



    This is requirement of product.
    The chip is so big and all subchip may access a pubilc matrix ram.
    I have no idea how to design the asyn-IF to benifit post-design.

个人看法还是用2的方法,如果你性能要求比较高...
你说的后端走线太长一般都不是太大的问题,布局和CTS做好,应该可以解决

一般多用异步FIFO

小编很多概念不清楚
1. Req/Ack的方法如果只差4个cycle,这个latency根本不算大。
2.业办一般都是采用异步FIFO的方法来处理跨时钟域的问题。这个方法的latency也不小,而且和你FIFO的深度有关。FIFO的深度和你两边的clock,数据宽度有关系。
3. 跨时钟域是不检查timing的,因为是异步,所以也就不存在timing的问题。所以跟你后端没有任何关系。不存在什么收敛。异步FIFO就是来处理timing问题的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top