基于IP核的FPGA 设计方法
时间:07-18
来源:互联网
点击:
图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模块的互连标准研究, 以使核的使用就象在印制板上使用集成电路块一样方便。一个片上系统的时代即将到来, 电子工程师应跟上这个时代发展的潮流,正如以前电子管系统向晶体管系统, 分离元件系统向集成电路系统发展一样。
集成电路 电路 总线 DSP PCB EDA 仿真 FPGA CPLD MCU VHDL PIC Xilinx LTE 电子 相关文章:
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA 重复配置和测试的实现(08-14)
- 适用于消费性市场的nano FPGA技术(09-27)
- 赛灵思“授之以渔”理论:危机中如何巧降成本(06-04)