只要有数字
电路的基础,还是能较容易和快速地学会利用 CPLD/
FPGA 设计数字系统的。 数字系统的基本部件比较简单,它们是一些与门、或门、非门、触发器和多路选择器等,宏器件是一些加法器、乘法器等。 设计数字系统的 EDA 工具也比较容易免费得到,一些简单的 IP 核也可以在网上免费得到,利用 EDA 工具和CPLD/FPGA 芯片就可以设计数字电路或数字系统。 如果需要投片即制成真正的ASIC,也可以通过与集成电路制造厂家协商。 在投片制造之前,还可以用 FPGA来验证所设计的复杂数字系统的电路结构是否正确。
CPLD/FPGA 器件的设计一般分为设计输入、设计实现和编程三个主要设计步骤。 基本设计的工作流程见图 1.3.2,具体说明如下。
(1) 按照“自顶向下”的设计方法进行系统划分和设计分析。
(2) 设计输入:利用 VerilogHDL 或 VHDL 代码,或采用图形输入方式。
(3) 编译并进行代码级的功能
仿真,主要检验系统功能设计的正确性。 这一步骤适用大型设计,对于大型设计在综合前对源代码仿真,可以大大减少设计重复的次数和时间。 但一般情况下,这一仿真步骤可略去。
(4) 利用 EDA 工具综合器对 VerilogHDL 或 VHDL 源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对 ASIC 芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库支持下才能完成。
(5) 利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。 一般的设计,这一仿真步骤也可略去。
(6) 利用 EDA 工具适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。
(7) 在适配完成后,产生多项设计结果:
① 适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;
② 适配后的仿真模型;
③ 器件编程文件。
根据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确地预期未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改 VerilogHDL 或 VHDL 源代码或选择不同速度和品质的器件,直至满足设计要求。
(8) 将适配器产生的器件编程文件通过编程器或下载电缆下载到目标芯片FPGA 或 CPLD 中。 如果是大批量产品开发,则通过更换相应的厂家综合库,轻易地转由 ASIC 的方式实现。