永发信息网

用VerilogHDL设计一个FPGA定时器!

答案:4  悬赏:10  手机版
解决时间 2021-02-28 15:33
  • 提问者网友:我是女神我骄傲
  • 2021-02-27 17:39
大概要求:输入时钟为66.67MHz的正弦波,采用运放整形后得到100MHz送入FPGA 的全局时钟输入管脚。定时器将整形后的100MHz时钟在FPGA内8分频后得到12.5MHz作为其工作时钟,分频采用PLL内部的分频器。再由12.5MHz二分频和十六分频得到延时序列组合的工作时钟。为了保证FPGA内部时钟的质量,将输入的100MHz时钟进行FPGA片内的PLL对时钟占空比进行调节,使时钟的占空比精确到50%。
只能说这么多其他的就自行设计吧。
最佳答案
  • 五星知识达人网友:长青诗
  • 2021-02-27 17:59
首先说明:这很容易。
前面说了那么多正弦波整形、PLL什么的,和HDL代码无关啊~
这个设计无非就是个分频器。
从100M的时钟得到其8,16,128分频,占空比50%,用计数器实现即可。

你不会还要给你写好代码吧~没那么多时间~
全部回答
  • 1楼网友:空山清雨
  • 2021-02-27 20:36
哥们,你这个太模糊了,功能没说清楚,但是就你的大致说明来看,很容易可以完成。
  • 2楼网友:渊鱼
  • 2021-02-27 19:26
首先PLL应用就不用说明了,这个直接调用内部软核来实现,没有涉及到代码。就分频代码我简单写个8分频的代码,其他的大同小异。 module div_8(clk_100M,rst,clk_125M); input clk_100M,rst; output reg clk_125M;//8分频输出12.5M reg[3:0] temp; always@(posedge clk_100M or negedge rst) begin if(!rst) begin temp<=4'b0000; clk_125M<=1'b0; end else if(temp==4'd3) begin clk_125M<=~clk_125M; temp<=4'b0000; end else temp<=temp+1'b1; end endmodule 这个只是8分频代码,其他的16分频可参考这个来写,原理是一样的。
  • 3楼网友:十年萤火照君眠
  • 2021-02-27 19:01
建议多使用PLL,为了得到更稳定精确的时钟。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯