基于CPLD/FPGA的多功能分频器的设计与实现
采用VHDL语言可以实现计数器的下降沿触发翻转,并且CPLD/FPGA具有可并行执行的特性,可以保证两种不同的触发翻转以及分频时钟输出保持同步,所以上述分频方法可以基于CPLD/FPGA予以实现。
本设计使用第三方EDA开发工具Protel DXP。该开发工具支持层次原理图及VHDL语言混合设计并能进行编译、时序和功能仿真,支持Xilinx、Altera、Lattice等公司的系列CPLD/FPGA器件,并且具有设计直观、层次性好等优点。在设计中采用两级原理图和底层VHDL语言三级结构来实现,使整个的设计以功能模块化,便于程序修改、功能升级和分频系数的设定。对于分频值的设定采取了软件设定的方法,即只需在VHDL语言程序中按照自己的需求对相应的参数作修改、设定,而且设定值的取值灵活。顶层原理图、次级原理图分别如图5、6。
本次设计CK延时3ns后设值为111,即功能模块全部选中工作;偶数倍分频模块中模N计数器N设置为2,实现四分频;奇数倍分频模块中模2N+1计数器 N设置为1实现三分频,占空比X设置为1即分频系数为1/3,模M计数器M值设置为2实现2M*(2N+1)=12分频;N-0.5倍分频模块中N设置为 3,实现2.5分频。从方针波形中可以看出,实现了通用多功能分频器。若要得到其他值,只需修改相应功能模块的VHDL语言中的相关的参数,再进行编译、综合适配、下载即可。
分频器相关文章:分频器原理
评论