前 言
几年前设计专用集成电路(ASIC) 还是少数集成电路设计工程师的事, 随着硅的集成度不断提高,百万门的ASIC 已不难实现, 系统制造公司的设计人员正越来越多地采用ASIC 技术集成系统级功能(System L evel In tegrete - SL I) , 或称片上系统(System on a ch ip ) , 但ASIC 设计能力跟不上制造能力的矛盾也日益突出。现在设计人员已不必全部用逻辑门去设计ASIC, 类似于用集成电路( IC) 芯片在印制板上的设计,ASIC 设计人员可以应用等效于印制板上IC 芯片的功能模块, 称为核(core)、或知识产权( IP) 宏单元进
《基于IP核的FPGA设计方法》
随着集成电路技术的飞速发展,系统级集成(System Level Integration, SLI)或片上系统(System on a Chip, SoC)已成为现代电子设计的主流趋势。然而,传统的ASIC设计方法面临设计复杂度与制造能力之间的矛盾,设计人员不再需要从逻辑门级别开始构建ASIC。此时,IP核(Intellectual Property Core)的概念应运而生,它如同印刷电路板上的集成电路芯片,是预先设计和验证过的复杂功能模块,可以被重用以加速系统设计。
IP核分为三类:硬核、固核和软核。硬核是针对特定实现技术优化的,具有预定义的布局布线,无法修改,但其时序性能稳定。固核由HDL源码和与实现技术相关的网表组成,允许部分功能的修改,但关键路径的时序固定。软核则是以HDL源码形式存在,可按需修改,但其时序性能依赖于使用者的综合和实现技术,灵活性最高,但性能最不稳定。
在FPGA设计中,由于不同厂商的实现技术差异,软核可能受限,而硬核又缺乏灵活性。因此,固核作为折中方案,因其部分可定制性及相对稳定的时序性能,成为广泛应用的选择。实际使用中,核可能以多种形式提供,包括HDL源码、行为模型、测试向量以及约束文件等。
基于IP核的FPGA设计方法简化了设计流程,设计人员只需选取合适的IP核,结合自定义逻辑电路,按照系统需求将各个模块连接起来。选择IP核时,需要考虑其功能、性能可靠性以及兼容的实现技术。每个核通常会提供功能描述文件、接口规范和使用指南,帮助设计师理解和集成。
在FPGA设计中,核间的连接需要满足一定的时序要求,这通常涉及到复杂的时钟管理和数据同步。此外,为了确保设计的正确性,通常需要进行仿真验证,包括功能仿真和时序仿真,以确保所有模块在实际运行时能够协同工作。
FPGA的可编程特性使得基于IP核的设计更具灵活性,可以根据项目需求快速迭代和调整。随着FPGA规模的扩大,如Xilinx的Virtex系列,它们能够承载更复杂的系统设计,进一步推动了IP核在FPGA设计中的应用。
基于IP核的FPGA设计方法通过重用验证过的IP模块,大大减少了设计时间和风险,提高了设计效率。随着技术的进步,这一方法将继续在电子设计领域发挥重要作用,为实现更加高效、复杂的系统级集成提供可能。