新闻中心

EEPW首页>嵌入式系统>设计应用> 利用现成FPGA开发板进行ASIC原型开发

利用现成FPGA开发板进行ASIC原型开发

作者: 时间:2009-04-17 来源:网络 收藏

手工分割和综合多个设计

在手工分割的情况下,任何中心结构(门控时钟,Synopsys的DesignWare?实例等),在原始的源代码中,在进行分割之前,不得不手工将它们翻译为与它们的相等同的代码。除其它东西之外,这直接导致了两个分离的代码流,这可能失去同步,从而导致在原型和之间所代表的功能不同。

当开始分割处理时,工程师们尝试将不同的功能模块组集合在一起,在这里每组在不同的FPGA上实现。这种组合(分割)以门级的传统方式实现。最近,一些流程支持在级分组,此时每个分成的组通过传统的FPGA综合工具,并且仅在这一点上,不同FPGA的实际资源利用是已知的。

所有这些方案都有一个问题,就是对于不同组的面积和资源的影响而言,工程师们是“临时的盲人”,这导致了许多耗时的迭代。首先,工程师根据“A模块可能将消耗‘xxx’的资源,而模块B可能要求‘yyy’的资源”而进行“估算”。这些估算是根据大量“分组”命令,然后综合(在基于分割的情况下),然后是结果的分析,以及然后是大量的“取消组”和“再次分组”命令来估算不同的实现方式。

该任务由于这一事实而进一步混淆,该事实就是这些原型经常被FPGA上的I/O管脚的数量所限制;一个无效的解决方案很容易耗费一个器件上100%的I/O资源,然而与此同时,仅仅其相对少量的内部逻辑资源可以实现。为了克服这些I/O限制,I/O的多重分组和/或在多个FPGA中复制同一个逻辑模块是必要的。(为了达到特定的性能目标,逻辑复制也是经常要求的。)

假设在这种原型中使用的每个FPGA可能有超过1000个管脚,一项管理连接的电子表格方法能很容易地包含几千个单元。不足为奇地是,记录分配给每个FPGA的模块和连接矩阵(在不同FPGA之间的连接)是一项繁重的任务,这将是资源密集型的、耗时的以及容易出错的。



关键词:FPGAASICNRERTL

评论


相关推荐

技术专区

关闭