基于FPGA数字锁相环源程序代码(已验证运行-超值)(共5页).doc

上传人:飞****2 文档编号:13640208 上传时间:2022-04-30 格式:DOC 页数:5 大小:22KB
返回 下载 相关 举报
基于FPGA数字锁相环源程序代码(已验证运行-超值)(共5页).doc_第1页
第1页 / 共5页
基于FPGA数字锁相环源程序代码(已验证运行-超值)(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《基于FPGA数字锁相环源程序代码(已验证运行-超值)(共5页).doc》由会员分享,可在线阅读,更多相关《基于FPGA数字锁相环源程序代码(已验证运行-超值)(共5页).doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上基于FPGA数字锁相环源程序代码(已验证运行,超值)module dpll_top (fin,fout,clk,reset,Kmode);input fin,clk; /clk时钟100ns(10MHZ)input reset; /reset高电平复位,enable高电平有效input 2:0 Kmode; /滤波计数器的计数模值设定output fout; /fout是锁频锁相输出reg fout;reg 8:0 Ktop; reg 8:0Count;wire inc,dec;reg dnup;reg inc_new,dec_new,inc_pulse,dec_pu

2、lse;reg delayed,advanced,Tff;reg IDout;reg 14:0 count_N; reg 15:0 cnt; reg cnt_en;reg load;wire cnt_clr;/2.异或门鉴相器模块always (fin or fout)begin dnup=finfout;end /3.K模计数器模块always (Kmode) begin case(Kmode) 3b001:Ktop=7; 3b010:Ktop=15; 3b011:Ktop=31; 3b100:Ktop=63; 3b101:Ktop=127; 3b110:Ktop=255; 3b111:Kt

3、op=511; default:Ktop=15; endcase end /根据鉴相器输出的加减控制信号dnup进行可逆计数器的加减运算always (posedge clk or posedge reset)begin if(reset) Count=0; else if(!dnup) begin if(Count=Ktop) Count=0; else Count=Count+1; end else begin if(Count=0) Count=Ktop; else Count=Count-1; end end /输出进位脉冲carry和借位脉冲borrowassign inc=!dnu

4、p&(Count=Ktop);assign dec=dnup&(Count=0);/4.脉冲增减模块always (posedge clk)begin if(!inc) begin inc_new=1; inc_pulse=0; end else if (inc_pulse) begin inc_new=0; inc_pulse=0; end else if (inc&inc_new) begin inc_pulse=1; inc_new=0; end else begin inc_pulse=0; inc_new=0; endend always (posedge clk)begin if(

5、!dec) begin dec_new=1; dec_pulse=0; end else if (dec_pulse) begin dec_new=0; dec_pulse=0; end else if (dec&dec_new) begin dec_pulse=1; dec_new=0; end else begin dec_pulse=0; dec_new=0; endend always(posedge clk)begin if (reset) begin Tff=0; delayed=1;advanced=1; end else begin if (inc_pulse) begin a

6、dvanced=1;Tff=!Tff; end else if(dec_pulse) begin delayed=1; Tff=!Tff; end else if (Tff=0) begin if(!advanced) Tff=!Tff; else if(advanced) begin Tff=Tff; advanced=0; end end else begin if (!delayed) Tff=!Tff; else if(delayed) begin Tff=Tff;delayed=(count_N/2)-1) begin fout=fout;count=0;end else count=count+1; endendmodule专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com