数控分频verilog.doc
上传人:yy****24 上传时间:2024-09-09 格式:DOC 页数:4 大小:77KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

数控分频verilog.doc

数控分频verilog.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

EDA实验报告数控分频器实验目的掌握数控分频器的工作原理并能够用virlog语言编写代码,熟悉EDA6000实验箱的使用方法。进一步熟悉quartusII建立程序编译、仿真及下载的操作流程并学会数控分频器的Verilog硬件设计实验步骤新建Verilog工程,编写代码并保存至与模块名对应的文件夹。注意:项目应存为系统盘以外的盘内,路径中不含中文字符。编译程序,编译无误后,在【tools】里面选择RTL视,观察电路结构。新建波形文件进行仿真。保存时要和源程序存放在同一目录下。设置好输入波形参数后,开始仿真。在仿真后输入输出波形中观察逻辑关系是否正确。将实验箱和PC合理连接起来。打开EDA6000软件,设置好芯片类型为ACEX1K(EP1K30TC144-3),载入模式9.根据EDA6000界面内管脚对应芯片的实际管脚在QUARTUSII里面设定管脚号并检查无误。将程序下载至FPGA内,并在EDA6000软件界面内进行验证测试。程序代码1/////偶数分频占空比50%,奇数分频没做要求//////////moduledivider(clk,data,fout);//数控分频器inputclk;//时钟输入input[7:0]data;//预置数控分频数(对应的十进制数)outputfout;//分频输出reg[7:0]m;regcout1;always@(posedgeclk)beginif(m==data-1)beginm<=0;cout1=~cout1;endelsem<=m+1;if(m==(data-1)/2)begincout1=~cout1;endelsebegincout1<=cout1;endendassignfout=cout1;endmodule程序代码2/////奇数分频占空比50%//////////////////////////////////////////////moduledivider1(clk,data,fout,cout1,cout2);//数控分频器inputclk;//时钟输入input[7:0]data;//预置分频数outputfout,cout1,cout2;//分频输出reg[7:0]m,n;regcout1,cout2;wirefout;assignfout=cout1|cout2;always@(posedgeclk)beginif(m==data-1)beginm<=0;cout1=~cout1;endelsem<=m+1;if(m==(data-1)/2)begincout1=~cout1;endelsebegincout1<=cout1;endendalways@(negedgeclk)beginif(n==data-1)beginn<=0;cout2=~cout2;endelsen<=n+1;if(n==(data-1)/2)begincout2=~cout2;endelsebegincout2<=cout2;endendendmodule编译结果1编译结果2