使用使用VHDL语言设计语言设计FPGA的几个常见问题的探讨的几个常见问题的探讨
搞要:搞要:详细讨论了在MAX plusⅡ开发平台下使用VHDL硬件描述语言设计现场可编程门阵列(FP-GA)时常见的三个问题:等占
空比分频电路、延时任意量的延时电路、双向电路。
关键词:关键词:FPGA;VHDL;分频电路;延时电路;双向电路
1 引言引言
随着EDA技术的发展,使用硬件语言设计可编程逻辑器件(PLD)/现场可编程门阵列(FPGA)成为一种趋势。FPGA是一种将
门阵列的通用结构与PLD的现场可编程特性结合为一体的新型器件,具有集成度高、通用性好、设计灵活、编程方便、产品上
市快等诸多优点。美国Xilinx公司于1985年领先推出了FPGA。目前市场上应用较广泛的FPGA产品当数Xilinx公司的Spartan和
Virtex系列及Al-tera公司的ACEX和APEX系列。
目前最主要的硬件描述语言是VHDL和Ver-ilog HDL。VHDL发展的较早,语法严格,而VerilogHDL是在C语言的基础上发展
起来的硬件描述语言,语法较自由。在工程应用尤其是在有关控制电路的设计中,用VHDL硬件描述语言设计FPGA经常会遇
到以下三个问题:实现等占空比、非等占空比整数分频的分频电路;在时钟控制下对同步脉冲信号任意时间量的延迟;使用
VHDL语言进行双向电路的设计。
2 常见问题常见问题
2.1 分频电路分频电路
分频电路是数字系统设计中的基本电路。在硬件电路设计中,时钟信号是最重要的信号之一,经常需要对较高频率的时钟
进行分频操作,得到较低频率的时钟信号。分频电路一般分为三种:
第一种是任意占空比的偶数分频及非等占空比的奇数分频,通常由计数器或计数器的级联来完成。
第二种是等占空比的奇数分频电路。要实现占空比为50%的M=2N+1分频电路,本文采用计数器和1个或门来实现。
利用时钟的上升沿计数,设计一个模M的计数器:下降沿时判断计数器的值并产生占空比为1:2N的M分频器C1;上升沿时
判断计数器的值并产生占空比为N:N+1的M分频器CO。两个分频器的输出端相或既可实现等占空比的M分频器。程序附下。
图1为等占空比5分频电路的仿真波形。
architecture Behavioral of div is