您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于IP核的FPGA计划要领

发布日期:2011-05-18

  几年前计划专用集成电路(ASIC) 还是少数集成电路计划工程师的事, 随着硅的集成度不绝进步,百万门的ASIC 已不难实现, 体系制造公司的计划职员正越来越多地采取ASIC 技能集成体系级成果(System L evel In tegrete - SL I) , 或称片上体系(System on a ch ip ) , 但ASIC 计划本领跟不上制造本领的抵牾也日益突出。

  如今计划职员已不必全部用逻辑门去计划ASIC, 雷同于用集成电路( IC) 芯片在印制板上的计划,ASIC 计划职员可以应用等效于印制板上IC 芯片的成果模块, 称为核(core)、或知识产权( IP) 宏单位举行体系计划, 这便是基于核的计划要领。

  CPU、存储器、总线控制器、接口电路、DSP 等都可成为核。但是ASIC 计划与印制板(PCB) 计划有很大区别,ASIC 必须用EDA 东西举行硬件计划, 重要题目都是通过谋略机仿真办理, 而不克不及象印制板计划那样通过实行调试办理, 别的ASIC 的制造还必要数量可观(一样平常数万美元) 的不可重复工程用度(NRE)。80年代后期出现的现场可编程门阵列(FPGA ) 和巨大可编程逻辑器件(CPLD) 是ASIC 的一种, 其好处是在制造厂家提供的FPGA 或CPLD 芯片上, 可由计划工程师对其举行现场编程完成ASIC 的末了计划, 而不需昂贵的NRE 费。如今FPGA 的范围已到达百万门, 如XILINX 公司的V irtex 系列, 完全可以实现片上体系,其计划要领将渐渐转向核基计划。

  1 核的分类和特点

  核是一种预定义的并颠末验证的巨大成果模块, 它可以集成到体系计划中。核基计划重要特点是可重复利用已有计划模块, 收缩计划时间, 淘汰计划危害, 通过高层的集成可望进步整个体系的性能。在FPGA 计划中的核分为三种, 如表1所示:

  表1 核的分类和特点

  硬核
  (hard core)
  预定义的已布局布线的模块 不克不及修改计划, 必须采指定实现技能 时序性能有包管

  固核
  (firm core) HDL 源码,与实现技能有关的网表 部分成果可以修改, 采取指定的实现技能 关键路径时序可控制

  软件
  (soft core)
举动级或RTL 级HDL源码 可修改计划,与详细实现技能无关 时序性能无包管, 由利用者确定

  硬核是针对特定的实现技能优化的, 它具有不克不及修改的结会商布局布线, 可作为库元件利用, 且时序性能稳固, 但硬核不克不及按计划必要修改和调解时序。

  固核由HDL 源码和与实现技能有关的网表构成, 利用者可按规定增减部分成果。固核的关键路径时序是牢固的, 但着实现技能不克不及变动, 即差别厂家FPGA 的固核不克不及互换利用。软核是可综合的硬件形貌语言(HDL ) 源码, 它与实现技能无关, 可按利用者必要修改, 具有最大的利用机动性, 但软核的关键路径时序性能无包管, 终极性能重要决定于利用者采取的综合、布局布线和实现技能。

  在FPGA 计划中, 由于差别厂家的详细实现技能差别较大, 完全与硬件实现技能无关的软核性能受到很大限定, 而硬核缺少利用的机动性, 因此作为软、硬核折衷的固核利用较多。以上是具有代表性的核的分类, 在实际利用中, 某种成果的核每每以种种情势出现, 由利用者按必要选用, 软核也不但只有HDL 源码, 还包括用于成果测试的举动模型和测试向量, 用于引导综合的束缚文件。

  2 核基FPGA 计划要领简介

  在核基计划中, 一个完备的计划重要由两部分构成, 一部分是核, 如图1中的MCU、RAM , 另一部分是用户本身定义的逻辑电路。按体系计划的请求将这些成果模块连接在一起就完成了芯片的计划,各个核或成果块的连接如今还没有同一的标准, 因差别的计划而定, 一样平常应餍足肯定的时序请求。作为核基计划的第一步是选择符合的核, 这重要从核的成果、性能可靠性和实现技能几方面来选择。

图1 核基计划芯片表示图

  一个核起重要有核的成果形貌文件, 用于阐明该核的成果、时序请求等, 如图2所示, 其次还要包括计划实现和计划验证两个方面的文件, 即不但要有实现核成果的寄存器传输级(RTL ) 源码或网表, 还要有效于核实现后验证逻辑成果精确性的仿真模型和测试向量。硬核的实现较大略, 雷同于PCB 计划中IC 芯片的利用, 软核的利用环境较为巨大, 实现后的性能与利用者的详细实现方法有关, 为包管软核的性能, 软核提供者一样平常还提供综合形貌文件, 用于引导软核的综合, 固核的利用介于上述二者之间。

图2 核由计划实现和计划验证构成

  很多核提供者都提供核的评价环境和演示、开辟板,便于用户相识核的成果和利用。
核基FPGA 计划流程如图3所示。计划输入部分包括:

  1) 用户计划逻辑、软核、固核或硬核仿真模型的输入,
  2) 成果仿真,
  3) 逻辑综合。此中仿真模型是一个举动级模型, 只用作成果仿真, 不举行综合。

图3 核基FPGA 计划流程

  计划的输入一样平常是采取HDL 语言, 如VHDL、V erilog 等, 输入完计划和仿真模型后就可举行成果仿真, 当成果仿真完成后, 就可举行逻辑电路的综合。

  用户逻辑和软核的综合应加公道的时序束缚, 以餍足计划的请求, 束缚条件可由综合文件(Synthesis Script ) 给出。完成计划输入掉队入计划实现阶段,在此阶段固核的网表和计划束缚文件, 用户综合出的网表和计划束缚文件一起输入给FPGA 布局布线东西, 完成FPGA 的末了实现, 并孕育产生时序文件用于时序仿真和成果验证。

  最掉队入计划验证阶段,用静态时序阐发鉴定计划是否到达性能请求, 比拟成果仿真结果和时序仿真结果, 验证计划的时序和成果是否精确。若计划的性能不克不及到达请求, 需找出影响性能的关键路径, 并返回延时信息, 修改束缚文件, 对计划举行重新综合和布局布线, 云云重复多次直到餍足计划请求为止。若重复多次还不克不及到达计划请求, 则需修改计划或采取别的实现技能。

  3 软核的计划及利用

  由于FPGA 的硬件技能敏捷生长, 硬件资源越来越丰富, 速率越来越快, 使软核资源利用率不高、事变速率较低等不敷得到很大的补充, 软核在核基计划中作用越来越大。

  其重要好处是成果与实现技能无关, 利用机动。如许我们可以很方便地在差别的实现技能下利用软核。如用X IL INX FPGA 实现的软核, 不需窜改计划, 重新综合后就可以用ACTEL FPGA 实现, 计划实现的机动性大为进步。但软核的性能受实现技能影响还是很大, 怎样包管软核到达预想的性能是如今必要办理的困难。

  外洋比年提出了与实现技能无关的可综合软核的头脑, 盼望通过对方式软核的HDL 源码的某种限定, 并连合综合东西的时序束缚成果, 到达部分控制软核性能的目标。如限定软核只能采取严格的同步逻辑计划, 没有反馈环路、多时钟路径、三态逻辑、锁存器和异步置位复位触发器, 只利用D 触发器和逻辑门。

  如许借助于综合东西, 可有效地控制软核关键路径的延时,并预测详细实现技能中软核的性能。固然这因此捐躯肯定的FPGA 逻辑资源为价格的, 但随着硅技能的生长, 硬件资源非常丰富, 用肯定的硬件资源浪费去调换计划机动性进步是值得的, 正如在PC 机软件计划中, 如今已很少有人过多思量步伐占用的存储空间一样。

  本文作者根据上述软核计划头脑, 采取全同步逻辑计划, 只利用D 触发器和逻辑门, 实现了与PIC16C57兼容的8位微控制器的计划。顶层布局如图4, 采取哈佛布局, 取指和指令实行并行事变, 除少数几条步伐跳转指令外, 全部为单时钟周期指令。步伐存储器ROM 一样平常放在FPGA 外, 若ROM 中指令较少, 也可放在FPGA 内。数据总线采取多路选择器情势, 以适应差别的实现技能。指令寄存器和特别成果寄存器, 包括IO 端口寄存器、状态寄存器、步伐计数器等, 都由D 触发器构成, 通用寄存器采取了FPGA 的RAM 模块, 指令译码和算数逻辑单位由组合逻辑门构成。

图4 8位微控制器顶层布局图

  实现的重要成果:
  (1) 指令与P IC16C57兼容。
  (2) 三个8位双向IO 口。
  (3) 步伐存储器2K X 12 B IT。
  (4) 内部RAM 共32个, 7个为特别寄存器。
  (5) 二级子步伐堆栈。
  (6) 未实现指令: POT ION、SLEEP、CLRWDT。
  (7) 单相时钟。

  该软核用VHDL 语言完成计划的输入, 用EXPRESS 综合东西举行综合, 采取Xilinx 4000系列FPGA 实现, 不包括ROM 约需2500逻辑门, 时钟频率5MHz, 即运行一条指令200ns。

  上述软核在综合、布局布线时, 只赐与了大略的时序束缚, 当必要改用别的FPGA 实现时, 可用综合东西重新综合、布局布线, 一样平常不需变化时序束缚文件就能到达上述性能, 因此当时钟频率不太高时,软核的利用还是较为方便的。但当时钟频率较高时,固然采取了与实现技能无关的可综合软核的头脑,软核的性能还是与利用者及其采取的实现技能精密相干, 要真正做到与实现技能无关是很困难的。此时软核的利用者必须明白其利用的巨大性, 最好能得到软核提供者的技能支持, 很多软核提供者都提供这方面的办事。

  4 总结

  随着硅技能的生长, 集成电路芯片的硬件生产本领敏捷进步, 几年前FPGA、CPLD 的范围还在万门左右, 如今ALTERA 公司已宣布将推出250万门的CPLD。云云快的生长速率, 使集成电路计划本领紧张不敷, 只靠增长计划职员, 不从计划要领上改造, 进步计划的服从, 是不大概办理题目的。

  因此基于核的计划、计划厚利用等技能, 比年来在外洋生长很快, 并创建了相应的标准化构造, 如VSIA (Virtual Socket Interface Alliance) , 专门从事核或称IP模块的互连标准研究, 以使核的利用就象在印制板上利用集成电路块一样方便。一个片上体系的期间即将到来, 电子工程师应跟上这个期间生长的潮流,正如过去电子管体系向晶体管体系, 疏散元件体系向集成电路体系生长一样。