FPGA学习系列:13. 任意分频器设计

FPGA学习交流 2018-06-13 11:21 次阅读

设计背景:

    分频在fpga的设计中一直都担任着很重要的角色,而说到分频,我相信很多人都已经想到了利用计算器来计算达到想要的时钟频率,但问题是仅仅利用计数器来分频,只可以实现偶数分频,而如果我需要三分频,五分频,七分频等等奇数类分频,那究竟怎么办呢?在这里,让我介绍一个可以实现任意整数分频的方法,这个办法也是同样利用了计数器来计算,当是跟偶数分频不一样的地方是任意整数分频利用了两个计数器来实现。

 

设计原理: 

    本次设计主要是设计一个可调的分频器,我可以设置其参数,可以调节其输出的占空比,占空比的意思就是高电平所占周期的多少。我们通知计算高电平的时间和低电平的时间来实现,其实就是我们用两个计数器来控制的。

 

设计架构图:

image.png

状态转移图

image.png

    通过对两个计数器的计数,一个计算到了跳转下一个状态,等下一计数器计数到了又调回第一个状态,从而完成任意分频器的设计。

 

设计代码:

设计模块

 

0 module fenpinqi(clk,rst_n,clk0);

1  input clk;

2  input rst_n;

3 

4  output reg clk0;

5 

6  parameter HW = 7 ;     //分一个高位7

7  parameter LW = 3 ;  //低电平为3  也就是5M的时钟

8 

9  localparam s0 = 1'b0;    //定义两个状态

10 localparam s1 = 1'b1;

11

12 reg state;

13 reg [2:0] count;

14

15 always @(posedge clk or negedge rst_n)

16  if(!rst_n)

17   begin

18    state <= 1'b0;

19    count <= 3'b0;

20    clk0 <= 1'b0;

21   end

22  else

23   begin

24    case (state)

25     s0:begin

26      

27      if(HW + 1 > 1)  //判断是否HW0

28       if(count < HW -1 )  //计数器计数高电平

29        begin

30         clk0 <= 1'b1;  //产生高电平

31         count <= count + 1'b1;

32        end

33       else

34        begin

35         count <= 1'b0;

36         state <= 1;

37        end

38      end

39     s1:begin

40      if(LW + 1 > 1)  //判断是否LWW0

41       if(count < LW -1)  //计数器计数低电平

42        begin

43         clk0 <= 1'b0;    //产生低电平

44         count <= count + 1'b1;

45        end

46       else

47        begin

48         count <= 1'b0;

49         state <= 0;

50        end

51      end

52     default:state <= 0;

53    endcase

54   end

55 endmodule 

 

测试模块

0 `timescale 1ns/1ps

1  module fenpinqi_tb();

2 

3   reg clk;

4   reg rst_n;

5 

6   wire clk0;       //定义输出为wire

7 

8   parameter HW = 5;

9   parameter LW = 1;

10

11  initial begin

12   clk = 1'b1;

13   rst_n = 1'b0;

14

15   #200.1 rst_n = 1'b1;

16   #2000 $stop;

17  end

18   always #10 clk = ~clk;    //产生50M时钟

19

20  fenpinqi #(.HW(HW),.LW(LW))   //例化,我们可以在这里改变占空比, 和频率

21   fenpinqi_dut(

22    .clk(clk),

23    .rst_n(rst_n),

24    .clk0(clk0)

25    );

26 endmodule 

 

仿真图:

image.png

    图中我们通过数上升沿的个数可以看到输出clk0的输出为高7,低3,符合我们的设计。

收藏 人收藏
分享:

评论

相关推荐

如何使用FPGA设计一种通用微处理器的资料概述

本文详细介绍了一种借助VHDL 硬件描述性语言实现基于FPGA 硬件平台的通用微处理器设计的完整方案....

发表于 12-13 18:00 13次 阅读
如何使用FPGA设计一种通用微处理器的资料概述

如何使用FPGA实现一种图像预处理结构及典型算法

图像滤波和边缘检测等预处理算法是视觉导航系统中道路检测和车辆检测等复杂视觉处理的前提,其性能和处理时....

发表于 12-13 17:56 12次 阅读
如何使用FPGA实现一种图像预处理结构及典型算法

如何使用FPGA设计与实现一种全数字BPSK解调器

介绍一种全数字BPSK 解调器的设计及FPGA 实现。该解调器采用前向开环的结构实现载波同步,与传统....

发表于 12-13 17:56 10次 阅读
如何使用FPGA设计与实现一种全数字BPSK解调器

如何使用FPGA设计和实现OFDM系统和OFDM中的FFT模块设计及其FPGA实现

建立了一个基于FPGA的可实现流水化运行的OFDM系统的硬件平台,包括模拟前端、基于FPGA的OFD....

发表于 12-13 16:45 14次 阅读
如何使用FPGA设计和实现OFDM系统和OFDM中的FFT模块设计及其FPGA实现

我们要学好FPGA必须掌握以下知识

四个字母Field(现场) Programmable(可编程) Gate(逻辑门) Array(阵列....

发表于 12-13 15:59 28次 阅读
我们要学好FPGA必须掌握以下知识

Efinix® 推出Trion™ T20 FPGA样品 支持主要客户和市场的需求

香港– 2018年12月13日 – 可编程产品平台和技术创新企业Efinix®今天宣布提供Trion....

发表于 12-13 15:50 35次 阅读
Efinix® 推出Trion™ T20 FPGA样品 支持主要客户和市场的需求

请问可以通过virtex-5用纯Verilog配置9361完成基本的收发吗

我想通过virtex5配置9361,是不是只要用Verilog通过spi配置寄存器就可以使9361工作?...

发表于 12-13 15:08 61次 阅读
请问可以通过virtex-5用纯Verilog配置9361完成基本的收发吗

Xilinx FPGA设计专家必备宝典(基础教程+串口设计+开发秘籍)

现场可编程门阵列(FPGA)是一种集成电路,可由客户或设计人员在制造后配置,因此“现场可编程”。FPGA配置通常使用硬件描...

发表于 12-13 14:39 100次 阅读
Xilinx FPGA设计专家必备宝典(基础教程+串口设计+开发秘籍)

黑金FPGA,microblaze软核编译生成system.bit文件时出错

发表于 12-13 13:57 44次 阅读
黑金FPGA,microblaze软核编译生成system.bit文件时出错

一个关于QUARTUS自带乘法核的问题

我在使用quartus自带的乘法核时遇到了问题,得到的电路文件没有输出端口,然后我直接用VHDL例化,仿真也没有结果,说明也是没...

发表于 12-12 15:20 60次 阅读
一个关于QUARTUS自带乘法核的问题

FPGA测试结果示范

仿真程序产生的视频图像数据如图 7-18 所示。开始的“aa bb cc dd ee ff”是无效数据,“ff 00 20”表示场同步信号。 经过 F...

发表于 12-12 14:17 30次 阅读
FPGA测试结果示范

FPGA测试程序代码示范

由于整个 FPGA 程序包括 3 部分:处于 TOP 的主体程序,控制其他各个部分程序的运行;视频图像数据采集程序,从 SAA71...

发表于 12-12 14:11 29次 阅读
FPGA测试程序代码示范

基于FPGA的双口RAM与PCI9O52接口设计

引言 IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PC...

发表于 12-12 10:27 91次 阅读
基于FPGA的双口RAM与PCI9O52接口设计

请问AD9220在用FPGA控制时是不是可以直接用PLL产生的10M时钟就可以?

AD9220在用FPGA控制时是不是可以直接用PLL产生的10M时钟就可以?我使用内部参考2.5V,将输入端与地短接时,输出的数据...

发表于 12-12 09:10 37次 阅读
请问AD9220在用FPGA控制时是不是可以直接用PLL产生的10M时钟就可以?

FPGA企业与大学生交流,产教结合助推人才培养

导读:人才是集成电路发展的根本,除了学校教育以外,企业的参与可以帮助学生快速理解市场需求,近日在南京....

的头像 李弯弯 发表于 12-11 18:04 788次 阅读
FPGA企业与大学生交流,产教结合助推人才培养

AD9211输出波形问题

AD9211接FPGA抓波形,AD9211的输入V+和V-悬空,默认寄存器配置,正常情况输出应无波形,但抓取到的输出波形如下图所示...

发表于 12-11 18:01 18次 阅读
AD9211输出波形问题

多功能智能小车系统设计的毕业设计论文免费下载

本设计的多功能智能小车系统是以Altera公司Cyclone系列的EP1C3T144为主控芯片的小车....

发表于 12-11 16:44 66次 阅读
多功能智能小车系统设计的毕业设计论文免费下载

AD9211接FPGA输出波形问题

AD9211接FPGA抓波形,AD9211的输入V+和V-悬空,默认寄存器配置,正常情况输出应无波形,但抓取到的输出波形如下图所示...

发表于 12-11 12:34 159次 阅读
AD9211接FPGA输出波形问题

Achronix推出其第四代嵌入式FPGA产品

Achronix半导体公司推出其第四代嵌入式FPGA产品Speedcore Gen4 eFPGA I....

发表于 12-10 17:28 73次 阅读
Achronix推出其第四代嵌入式FPGA产品

如何使用FPGA设计高速实时数据采集存储系统的资料概述

设计了以FPGA器件XCSVIXS0为核心处理芯片的高速数据采集存储系统。在XCSVLXS0内部实现....

发表于 12-10 16:47 44次 阅读
如何使用FPGA设计高速实时数据采集存储系统的资料概述

怎么监控FPGA内部的温度和电压变化情况

打开例程工程后,我们可以查看工程源代码和仿真TestBench来学习,对工程进行更详细的研究和IP核....

的头像 FPGA2嵌入式 发表于 12-10 11:33 255次 阅读
怎么监控FPGA内部的温度和电压变化情况

基于AXI总线的未知信号频率测量

这一节我们实现一个稍微复杂一点的功能——测量未知信号的频率,PS和PL通过AXI总线交互数据,实现我....

发表于 12-08 11:00 87次 阅读
基于AXI总线的未知信号频率测量

EDA实验之在FPGA上设计一个DDS模块

在FPGA上设计一个DDS模块,在DE0 开发板上运行,在FPGA芯片内部合成出数字波形即可。

发表于 12-08 09:18 101次 阅读
EDA实验之在FPGA上设计一个DDS模块

采用LED光通信技术实现温度实时显示系统的设计

LED光通信,就是用LED光来实现无线通信,主要是靠发光二极管(LED)发出的高速亮灭闪烁信号来传输....

发表于 12-08 08:21 110次 阅读
采用LED光通信技术实现温度实时显示系统的设计

从一个FPGA厂商转变为一个提供系统设计的厂商 赛灵思转型成功

如今随着芯片工艺的演进,一方面我们看到芯片尺寸越来越小,性能越来越提升,另一方面集成度也在不断提高。....

发表于 12-07 17:02 206次 阅读
从一个FPGA厂商转变为一个提供系统设计的厂商 赛灵思转型成功

如何使用USB2.0和DDR2进行数据采集系统设计与FPGA实现资料概述

采用DDR2 SDRAM作为被采集数据的缓存技术, 给出了USB2.0与DDR2相结合的实时、高速数....

发表于 12-07 16:12 50次 阅读
如何使用USB2.0和DDR2进行数据采集系统设计与FPGA实现资料概述

如果能在SoC中嵌入一个FPGA核心 那么芯片将具备出色的机器学习能力

人工智能是当下最火爆的话题。据说,与人工智能相关的市场规模十分巨大,是继PC市场、移动互联网市场之后....

发表于 12-07 13:36 137次 阅读
如果能在SoC中嵌入一个FPGA核心 那么芯片将具备出色的机器学习能力

Microsemi Corporation推出了新型SoC FPGA架构扩展其Mi-V生态系统

2018年12月5日—— 在5G、机器学习和物联网(IoT)联合推动的新计算时代,嵌入式开发人员需要....

发表于 12-06 16:27 163次 阅读
Microsemi Corporation推出了新型SoC FPGA架构扩展其Mi-V生态系统

Xilinx推出可扩展处理平台架构 设计人员可同时拥有串行并行处理能力

无论是汽车驾驶辅助、智能视频监控、工业自动化、航天与国防或是无线通信等终端应用,功能的日益复杂使得嵌....

发表于 12-06 16:24 85次 阅读
Xilinx推出可扩展处理平台架构 设计人员可同时拥有串行并行处理能力

AI芯片如果有罗马大道 必定归功可重构计算

在芯片架构设计领域中,可重构计算技术并非一项新的存在。20世纪60年代末,加利福尼亚大学的Gerai....

的头像 电子发烧友网工程师 发表于 12-06 08:44 786次 阅读
AI芯片如果有罗马大道 必定归功可重构计算

FPGA如何实现30倍的高性能计算

FPGA(Field Programmable Gate Array)现场可编程门阵列,作为AS....

的头像 电子发烧友网工程师 发表于 12-06 08:36 295次 阅读
FPGA如何实现30倍的高性能计算

如何使用MicroBlaze软核进行FPGA片上系统设计

Xilinx公司的MicroBlaze 32位软处理器核是支持CoreConnect总线的标准外设集....

发表于 12-05 17:18 34次 阅读
如何使用MicroBlaze软核进行FPGA片上系统设计

站在FPGA的肩膀上 AI可重构芯片诞生

在芯片架构设计领域中,可重构计算技术并非一项新的存在。20世纪60年代末,加利福尼亚大学的Gerai....

发表于 12-03 10:09 559次 阅读
站在FPGA的肩膀上 AI可重构芯片诞生

基于闪存FPGA的门阵列为设计带来更多灵活性

另一方面,在基于闪存的FPGA中,配置模式保存在芯片上的非易失性存储器单元,甚至电源被移除时,闪存单....

发表于 12-02 10:24 609次 阅读
基于闪存FPGA的门阵列为设计带来更多灵活性

赛灵思推出全新系列的产品类型ACAP 媲美CPU、GPU的新一代FPGA架构

当博通收购高通案遭到美国总统特朗普的阻止后,下一个被华尔街分析师看准的“目标”便锁定在圣何塞芯片厂商....

发表于 12-01 10:47 565次 阅读
赛灵思推出全新系列的产品类型ACAP 媲美CPU、GPU的新一代FPGA架构

xilinx FPGA bit 文件加密

当你的项目终于做完了,到了发布的关键节点,为了防止自己的心血被别人利用,最好对产品进行bit加密。 ....

的头像 电子发烧友网工程师 发表于 12-01 09:33 264次 阅读
xilinx FPGA bit 文件加密

赛灵思官方博客本周主打:云端时序收敛,高效可靠

Plunify Cloud 云平台为 FPGA 工程师极大地简化了使用云服务器的技术与安全要求。

的头像 电子发烧友网工程师 发表于 12-01 08:52 289次 阅读
赛灵思官方博客本周主打:云端时序收敛,高效可靠

FPGA的几点重要总结

FPGA编程语言为何叫硬件描述语言? 硬件即FPGA硬件,硬件描述语言,也就自然地告诉....

的头像 电子发烧友网工程师 发表于 12-01 08:30 353次 阅读
FPGA的几点重要总结

Achronix半导体全面对接Speedcore eFPGA技术

该组项目将使研究机构和公司能够使用Achronix高性能Speedcore eFPGA技术快速构建低....

的头像 电子发烧友网工程师 发表于 12-01 08:25 348次 阅读
Achronix半导体全面对接Speedcore eFPGA技术

如何使用FPGA和DSP进行精度数字频率计的设计

本设计根据等精度的多周期同步测频原理,采用Altera 公司的FLEX10K10 系列FPGA 和T....

发表于 11-30 15:41 69次 阅读
如何使用FPGA和DSP进行精度数字频率计的设计

如何使用FPGA实现交换机中的HEC模块

本文在研究了三层以太网交换技术后,设计了一种采用 FPGA 来实现以太口和ATM口之间的数据通道上H....

发表于 11-30 15:41 36次 阅读
如何使用FPGA实现交换机中的HEC模块

如何使用FPGA实现Volterra级数间接学习型的预失真器

在宽带无线通信系统中,高功率放大器HPA 因其非线性和记忆特性,将会导致频谱再生和邻道干扰。本文论述....

发表于 11-30 15:41 42次 阅读
如何使用FPGA实现Volterra级数间接学习型的预失真器

紫光国微参股科技创新型企业

11月27日,紫光国微在互动平台表示,科创板是科技型创新企业对接资本市场的良好渠道,公司也在关注具体....

的头像 半导体投资联盟 发表于 11-30 15:36 510次 阅读
紫光国微参股科技创新型企业

多模式数字控制,性能大升级

英特尔® Enpirion® 数字 PowerSoC 经过精心的定义、设计和验证,可满足 FPGA、....

的头像 电子发烧友网工程师 发表于 11-29 14:44 268次 阅读
多模式数字控制,性能大升级

Altium Designer的介绍和使用教程等资料概述

Altium Designer 基于一个软件集成平台,把为电子产品开发提供完整环境所需的工具全部整合....

发表于 11-29 08:00 72次 阅读
Altium Designer的介绍和使用教程等资料概述

华为携手赛灵思 展示400G以太网线卡原型

北京时间3月21日下午消息,一场由网络供应商华为和芯片制造商赛灵思(Xilinx)上周进行的展示,标....

发表于 11-28 16:13 297次 阅读
华为携手赛灵思 展示400G以太网线卡原型

ARM崛起和后Altera时代 赛灵思的未来之路任重而道远

英特尔和Altera传出收购消息以后,分分合合好几次。导致我买的股票上涨了5美元,我奖励自己吃了一顿....

发表于 11-28 16:05 739次 阅读
ARM崛起和后Altera时代 赛灵思的未来之路任重而道远

正弦信号发生器的系统设计软硬件调试和仿真的详细资料合集免费下载

在现代电子测量技术的研究及应用领域中,常常需要高精度且频率可调的信号源。而随着大规模可编程逻辑器件F....

发表于 11-28 15:56 45次 阅读
正弦信号发生器的系统设计软硬件调试和仿真的详细资料合集免费下载

基本型组态工业串口屏数据手册V4.0详细资料免费下载

系统在无指令接收的状态下,ARM 基本处于空闲状态,所有大负荷的数据读取和显示刷新工作全部由 FPG....

发表于 11-28 08:00 39次 阅读
基本型组态工业串口屏数据手册V4.0详细资料免费下载

如何使用VHDL设计一个简易出租车计费器的资料合集免费下载

本文介绍了一种采用单片FPGA芯片进行出租车计费器的设计方法,主要阐述如何使用EDA器件取代传统的电....

发表于 11-28 08:00 55次 阅读
如何使用VHDL设计一个简易出租车计费器的资料合集免费下载

LTE标准下如何进行Turbo码的研究及FPGA实现

信息传输的可靠性和有效性一直是通信系统中研究的热点问题,而信道编码技术则是很好解决这一矛盾的有效技术....

发表于 11-27 16:37 47次 阅读
LTE标准下如何进行Turbo码的研究及FPGA实现

GPU跃升为领头羊 以FPGA为主的英特尔也加紧脚步部署

人工智能(AI)热潮持续攀升,AI晶片的竞争也日趋激烈,而GPU近年来可说是跃升为AI晶片领头羊。为....

发表于 11-27 16:37 125次 阅读
GPU跃升为领头羊 以FPGA为主的英特尔也加紧脚步部署

浅谈运动控制卡的功能及使用

关于运动控制卡,其实现基于PC的界面,强大的PC功能,两者相互结合,从而使得于东控制器的能力达到了顶....

的头像 如意 发表于 11-27 14:30 474次 阅读
浅谈运动控制卡的功能及使用

Micron和Achronix提供下一代FPGA 并支持机器学习应用

2018年11月-MicronTechnology,Inc.(纳斯达克交易代码:MU)日前宣布推出其....

发表于 11-26 17:32 211次 阅读
Micron和Achronix提供下一代FPGA 并支持机器学习应用

蜂鸟FPGA开发板及蜂鸟JTAG下载器讲解说明

perips目录主要用于存放各种外设(Peripherals)模块的Verilog RTL代码,譬如....

的头像 硅农亚历山大 发表于 11-26 17:23 416次 阅读
蜂鸟FPGA开发板及蜂鸟JTAG下载器讲解说明

选择合适的连接器 有以下这些方法

要让40个管脚的小脚丫FPGA核心板能够像孙猴子一样神通广大,那就得扩展啊,不仅要支持目前市场上主流....

发表于 11-26 16:54 176次 阅读
选择合适的连接器 有以下这些方法

赛灵思FPGA成为设计人员构建卷积神经网络的首选

人工智能正在经历一场变革,这要得益于机器学习的快速进步。在机器学习领域,人们正对一类名为“深度学习”....

发表于 11-26 14:08 140次 阅读
赛灵思FPGA成为设计人员构建卷积神经网络的首选

摩尔定律将要谢幕 未来将是FPGA的天下

整整50年来,计算机的底层元件都遵从着“摩尔定律”:在价格不变的情况下,集成在芯片上的晶体管数量每隔....

发表于 11-25 11:31 424次 阅读
摩尔定律将要谢幕 未来将是FPGA的天下

中美严峻局势下 国产FPGA迎来历史性发展机遇

2018年8月23日,在今天举行的南京国际集成电路技术达摩论坛上,深圳市紫光同创电子有限公司常务副总....

发表于 11-25 11:26 253次 阅读
中美严峻局势下 国产FPGA迎来历史性发展机遇

赛灵思FPGA的创新赋能:全球首个无人机5G基站

在日前上海举行的首届中国国际进口博览会(进博会)上,电子发烧友在赛灵思展台上看到了全球首款无人机5G....

发表于 11-23 18:08 763次 阅读
赛灵思FPGA的创新赋能:全球首个无人机5G基站

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...

发表于 09-19 16:35 8次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...

发表于 09-18 16:05 8次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器