首页 热点资讯 义务教育 高等教育 出国留学 考研考公

如何在fpga上实现将50M晶振频率分频为1HZ的信号?

发布网友 发布时间:2022-04-24 17:50

我来回答

4个回答

热心网友 时间:2023-10-28 09:45

1:话说50M到200M应该叫倍频。

2:打开工程---tools--下拉选中MagaWizard Plug-In Manger--选中第一项新建一个定制IP-next-选择IO项目--ALTPLL。输入生成语言,支持器件系列和输出目录

next----设置输入时钟50M--

NEXT--设置一些使能引脚或者复位引脚,不做调整(也可以勾去默认的复位和锁定信号)

----next---使能c0,设置输出倍频系数--4:1-

-next---不用c1(如果你不需要的话),可以不设置--一路next--直到finish。

热心网友 时间:2023-10-28 09:45

前面的你就自己写了 我就写关键的地方
reg [25:0] cnt; //cnt为计数寄存器
always @(posedge clk or negedge rst_n) //这里的clk为50M时钟输入
if(!rst_n) cnt<=26'd0;
else if(cnt==26'd50000000) cnt<=26'd0;
else cnt<=cnt+1'b1;
对verilog 我也不是很熟 我想的话 应该是这样写的 如果有错 还请指教 谢谢

热心网友 时间:2023-10-28 09:46

楼上代码可以使用,需要说明的是,楼主需要的1Hz信号是cnt[25]的输出。另外,在fpga上使用专用时钟输入管脚输入50MHz时钟信号可以获得更好的信号质量,fpga内部用pll模块最好。

热心网友 时间:2023-10-28 09:46

我以前用CPLD做的,就是不断地用计数器进行分频,多级计数器分频比乘积为50M就行了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com