由于与深亚微米标准单元ASIC相关的非重复性工程费用(NRE)越来越大,设计周期又很长,因此利用结构化ASIC进行定制IC设计的吸引力正变得越来越大。结构化ASIC能以极具竞争力的单位成本提供优秀的硅片性能,并且NRE费用极低。结构化ASIC的多样性意味着它即可以用作系统主芯片,也可以用作高性价比的小型辅助芯片。
许多物理设计问题在结构化ASIC的片设计中已经得到解决,因此后端版图设计的时间可以大大缩短,从而导致更快的验证确认和原型提供。不过ASIC片具有预定义的结构,因此设计师必须合理安排芯片资源才能获得理想的性能。
FPGA是ASIC的另外一个替代品,它们一般基于查找表和可配置的逻辑单元。与相应的ASIC技术相比,FPGA的面积效率较低,功耗较大。当年产量超过5000片时,使用结构化ASIC通常具有更好的性价比。当然,FPGA在许多应用领域中仍是理想的原型设计工具,可以提供快速周转和较低的前端成本。
如果采用FPGA做设计原型,那么规划好向所选结构化ASIC的移植非常重要。最好是尽早采用FPGA和ASIC库做协同开发。不过即使不这样做,少许的规划努力也能使移植工作更加顺利。
建议
采用可以避免失配的综合工具策略。通常设计师可以使用他们选择的前端环境将设计转换成供应商网表或寄存器转移级的HDL描述;但FPGA综合和 ASIC综合很可能使用不同的工具或同一工具的不同版本。利用代码检查器和‘最小公分母’编程风格可以避免结果的失配。这样也可确保不同的工具不会对 RTL代码作出不同的解释。
提供时序细节。ASIC供应商需要这些信息执行综合、时序为主导的版图和后版图静态时序分析。精确的系统时钟信息和I/O系统时序预算,以及FPGA综合脚本上的任何错误/多循环路径信息都有助于加快版图设计速度。
尽早与ASIC提供商讨论可测性设计要求。虽然测试电路不需要纳入FPGA原型中,但ASIC中不可测试的电路将降低器件的故障覆盖率,并有可能使故障元件通过测试仪器的测试。一些ASIC供应商在NRE中包含了测试插入和自动测试程序产生费用;但仍可能要求专门的功能复用性测试引脚和额外的测试电路。
增加复位和初始化逻辑。即使FPGA不需要,但增加复位和初始化逻辑能使在完整原型上使用的测试向量产生与仿真相同的结果。
尽早决定封装类型和引脚输出。结构化ASIC供应商可以提供各种完全满足设计要求、可以节省成本和电路板面积的封装,但封装选择对FPGA来说是有限制的。如果要求与FPGA原型保持引脚兼容,那么应该尽早与ASIC供应商讨论引脚输出和封装选择以满足设计要求。
图:对于结构化ASIC和FPGA协作开发项目,提前规划很重要。
避免
使用与ASIC不匹配的原型FPGA RAM功能。虽然ASIC RAM通常是高度可配置的,不同的RAM容量不是问题,但要确保整个RAM容量和实例数量的可用性。异步访问和不对称地读写具有不同字宽的端口可能无法实现,或要求增加额外的辅助电路和逻辑。
选择ASIC产品中不能提供的FPGA I/O。因此需要检查ASIC库并寻求匹配性。这样可以避免在原型板上插入ASIC时发生奇怪的问题。
使用FPGA供应商提供的私有知识产权。要坚持使用有信誉的供应商提供的很容易用于FPGA和ASIC的可综合IP。当使用诸如锁相环等模拟IP时,要确保目标ASIC供应商可以匹配设计所要求的频率产生或降斜率要求。
使用长的互连线。虽然后端工具通过紧邻放置互连电路可以很好地减少互连延时,但结构化ASIC中的RAM位置是固定的,连接裸模顶部的 RAM和固定在底部与I/O相关的电路将增加延时。如果有任何重要的时序接口,应避免会导致版图设计后出现长互连的引脚输出和RAM指配。
使用异步逻辑,如果可能的话。你可能无法在结构化ASIC中再生FPGA异步逻辑路径。