尽管半导体技术在其发展过程中曾遭遇种种难以克服的障碍,但正如高登·摩尔多年前所预言的那样,ASIC和FPGA的密度继续每隔18个月翻一番。
硅潜力的疾速释放是一件喜忧掺半的事。一方面,硅技术提供的功能与性能可以满足最具挑战性应用的需要;另一方面,当今设计工具的局限性令人沮丧,因为这使我们无法充分利用硅技术的全部潜力。随着设计规模和器件复杂性不断攀升,设计工作成为阻碍我们实现各类IC的制约因素。尽管电子设计自动化(EDA)行业近10年来一直致力于解决这个问题,但所谓的“生产力落差”仍在持续扩大。
设计综合面临的挑战
这种生产力落差在综合领域表现得最为明显。传统综合方法的处理能力有限,因而要求将设计分割成不超过20万门的子模块。对于容量达2千万门的芯片,设计者可能需要管理100个以上的不同子模块,以完成一个设计的综合。此外,大多数设计者更习惯基于功能或时序分割设计,相对而言,基于门数进行分割显得不够直观。当前综合流程的另一个缺陷是它们不能很好地优化分立的功能。这正是今天需要独立数据路径综合的原因之一。嵌入式FPGA将既需要专门的综合映射器,又需要在全芯片的背景下进行优化。
自十年前出现综合技术以来,设计复杂性取得了惊人的增长。因此,传统解决方案的效力正在衰退,这的确不足为奇。
设计复杂性还给综合技术带来许多其它问题。当一个综合应用必须有效地操作大量设计数据时,存储器利用率将变成一项真正的挑战。除了庞大的设计规模外,处理计算任务所需的设计管理开销也会使运行时间延长。随着高复杂度、高约束性的功能被分解到综合过程中,IP集成亦成为设计者必须面临的另一项挑战。为了不断优化时序或理顺子模块之间的相关性,设计反复的次数将会大大增加,从而显著延长设计时间。
在把综合技术应用于复杂设计时,所面临的另一个重要挑战是保持设计稳定性。当把优化后的子模块集成回整个设计中时,这可能带来意想不到的复杂问题。随着设计和硅技术变得越来越复杂,这些问题的复杂性将随之增加。
为了克服综合工具的上述缺点,设计者正在采用以下几种策略。一种是复杂的外围工作,如编写高级脚本。这种基于外围工作的解决方案虽然能够达到目的,但通常会过度牺牲结果的质量(QoR)和生产效率。为了使用传统方法成功地对一个大型ASIC设计进行综合,这常常需要扩展的人工脚本,但由人工编写脚本是极容易出错的,而且要求设计者具有很高的脚本编写技巧。这种方法只能给设计带来很少的“增加值”,但却要消耗宝贵的人力和时间。
另一个策略是专注于寄存器传输级(RTL)设计,然后将RTL交由ASIC供应商来综合与实现。籍此,设计者可以避免与传统综合有关的麻烦。这种“RTL签字确认(signoff)”方法非常依赖于高质量的RTL以及芯片供应商愿意为设计结果承担风险的责任心。设计者可能会担心设计被交付给那些对设计及系统问题知之甚少而且不关心设计能否成功的公司。
从这些策略的本性来看,它们假定综合无法改进或者综合就是瓶颈。然而,综合是所有高级IC设计流程中一个根本的组成环节。无论由谁来执行综合,只要这种技术继续困扰芯片的实现,我们就会牺牲设计工作的生产效率和质量。因此,综合是一个必须解决的重要问题。
尽管半导体技术在其发展过程中曾遭遇种种难以克服的障碍,但正如高登·摩尔多年前所预言的那样,ASIC和FPGA的密度继续每隔18个月翻一番。
硅潜力的疾速释放是一件喜忧掺半的事。一方面,硅技术提供的功能与性能可以满足最具挑战性应用的需要;另一方面,当今设计工具的局限性令人沮丧,因为这使我们无法充分利用硅技术的全部潜力。随着设计规模和器件复杂性不断攀升,设计工作成为阻碍我们实现各类IC的制约因素。尽管电子设计自动化(EDA)行业近10年来一直致力于解决这个问题,但所谓的“生产力落差”仍在持续扩大。
设计综合面临的挑战
这种生产力落差在综合领域表现得最为明显。传统综合方法的处理能力有限,因而要求将设计分割成不超过20万门的子模块。对于容量达2千万门的芯片,设计者可能需要管理100个以上的不同子模块,以完成一个设计的综合。此外,大多数设计者更习惯基于功能或时序分割设计,相对而言,基于门数进行分割显得不够直观。当前综合流程的另一个缺陷是它们不能很好地优化分立的功能。这正是今天需要独立数据路径综合的原因之一。嵌入式FPGA将既需要专门的综合映射器,又需要在全芯片的背景下进行优化。
自十年前出现综合技术以来,设计复杂性取得了惊人的增长。因此,传统解决方案的效力正在衰退,这的确不足为奇。
设计复杂性还给综合技术带来许多其它问题。当一个综合应用必须有效地操作大量设计数据时,存储器利用率将变成一项真正的挑战。除了庞大的设计规模外,处理计算任务所需的设计管理开销也会使运行时间延长。随着高复杂度、高约束性的功能被分解到综合过程中,IP集成亦成为设计者必须面临的另一项挑战。为了不断优化时序或理顺子模块之间的相关性,设计反复的次数将会大大增加,从而显著延长设计时间。
在把综合技术应用于复杂设计时,所面临的另一个重要挑战是保持设计稳定性。当把优化后的子模块集成回整个设计中时,这可能带来意想不到的复杂问题。随着设计和硅技术变得越来越复杂,这些问题的复杂性将随之增加。
为了克服综合工具的上述缺点,设计者正在采用以下几种策略。一种是复杂的外围工作,如编写高级脚本。这种基于外围工作的解决方案虽然能够达到目的,但通常会过度牺牲结果的质量(QoR)和生产效率。为了使用传统方法成功地对一个大型ASIC设计进行综合,这常常需要扩展的人工脚本,但由人工编写脚本是极容易出错的,而且要求设计者具有很高的脚本编写技巧。这种方法只能给设计带来很少的“增加值”,但却要消耗宝贵的人力和时间。
另一个策略是专注于寄存器传输级(RTL)设计,然后将RTL交由ASIC供应商来综合与实现。籍此,设计者可以避免与传统综合有关的麻烦。这种“RTL签字确认(signoff)”方法非常依赖于高质量的RTL以及芯片供应商愿意为设计结果承担风险的责任心。设计者可能会担心设计被交付给那些对设计及系统问题知之甚少而且不关心设计能否成功的公司。
从这些策略的本性来看,它们假定综合无法改进或者综合就是瓶颈。然而,综合是所有高级IC设计流程中一个根本的组成环节。无论由谁来执行综合,只要这种技术继续困扰芯片的实现,我们就会牺牲设计工作的生产效率和质量。因此,综合是一个必须解决的重要问题。
举报