张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

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系列视频

 正点原子推出的“开拓者“、”新起点”两款FPGA开发板功能强大,配有教科书级的文档教程;配套的视频分为工具篇
发表于 01-25 00:00 1449次 阅读
正点原子手把手教你学FPGA系列视频

数据延迟时钟的原因可能是什么?如何减少它?

我正在进行的设计使用了一个引脚的时钟,该引脚并非初始用作时钟源,因为电路板是固定的,所以我现在无法更改它。 时钟从该引脚...
发表于 03-25 14:59 11次 阅读
数据延迟时钟的原因可能是什么?如何减少它?

FPGA学习中的代码阅读浅析

不管是学FPGA还是C语言,任何一种代码的学习都离不开大量的代码阅读,也就是多看,多学习别人的代码。....
发表于 03-25 14:59 16次 阅读
FPGA学习中的代码阅读浅析

FPGA与DSP之间的优势浅析

两者的优势不一样。在硬件层面,DSP是ASIC,如同CPU GPU一样,适宜于量产降低成本,缺点是(....
发表于 03-25 14:56 29次 阅读
FPGA与DSP之间的优势浅析

浅析zynq的优势

zynq并不能说是一个嵌入arm核的FPGA。从它的启动过程就可以发现,绝对是arm主导的,所以称它....
发表于 03-25 14:48 17次 阅读
浅析zynq的优势

FPGA开发全攻略(全,分为上下2部)

FPGA开发全攻略(全,分为上下2部)
发表于 03-25 14:44 140次 阅读
FPGA开发全攻略(全,分为上下2部)

请问这段verilog代码什么意思,调用了什么核

[code] fm_100k_st        fm_100k_st_inst(            &...
发表于 03-25 13:47 86次 阅读
请问这段verilog代码什么意思,调用了什么核

FPGA设计指南器件、工具和流程PDF版电子书免费下载

该书介绍了什么是FPGA、FPGA如何工作、如何对FPGA编程以及FPGA设计中遇到的各种概念、器件....
发表于 03-25 08:00 10次 阅读
FPGA设计指南器件、工具和流程PDF版电子书免费下载

Cyclone II FPGA的设备手册资料免费下载

继非常成功的第一代Cyclone®设备系列之后,Altera®Cyclone II FPGA将低成本....
发表于 03-25 08:00 11次 阅读
Cyclone II FPGA的设备手册资料免费下载

Cyclone II FPGA入门开发套件用户指南资料免费下载

本用户指南说明怎样开始使用 Altera Cyclone II FPGA 入门开发套件,包括打开套件....
发表于 03-25 08:00 10次 阅读
Cyclone II FPGA入门开发套件用户指南资料免费下载

Cyclone II器件系列的简介中英文资料合集免费下载

在非常成功的第一代Cyclone器件系列之后,Altera的Cyclone II FPGA系列扩大低....
发表于 03-25 08:00 10次 阅读
Cyclone II器件系列的简介中英文资料合集免费下载

MMCM中动态相移接口的使用尚不清楚

你好, 在ug472中,它说“每个CLKOUT和CLKFBOUT分频器可以单独选择进行相移。属性CLKOUT [0:6] _USE_F...
发表于 03-25 07:33 9次 阅读
MMCM中动态相移接口的使用尚不清楚

TI的IC研发工程师Maxwell的光影故事

曾奔跑在苏格兰的广袤高地,也穿行在英格兰的恬静庄园,他攀爬过白雪皑皑的高峰,也曾漫步在郁郁葱葱的草地,这位年轻的摄影发烧...
发表于 03-25 06:45 35次 阅读
TI的IC研发工程师Maxwell的光影故事

在FPGA中SAR回波模拟中回波信号多普勒相位的两种实现方法

作为雷达与目标相对运动的直观反映,多普勒相位是SAR回波模拟的原理依据,同样也是回波模拟精度的重要影....
发表于 03-24 09:26 39次 阅读
在FPGA中SAR回波模拟中回波信号多普勒相位的两种实现方法

基于XAPP1052参考设计的PCIe总线实现方法

目前通过 FPGA 实现 PCIe 接口是一种比较常用的方式,具有硬件成本低、可靠性高、灵活性大、易....
发表于 03-24 09:21 50次 阅读
基于XAPP1052参考设计的PCIe总线实现方法

FPGA大公司面试笔试数电部分试题,你能答到第几题?

1、什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 答案应该与上...
发表于 03-24 06:00 192次 阅读
FPGA大公司面试笔试数电部分试题,你能答到第几题?

cRIO电流输出板卡9266,输出时返回错误码 65543是什么意思,如何解决?

NI cRIO-9035 系统,LabVIEW语言环境,用电流输出卡9266输出,用采集卡9219的电流接法采集,运行FPGA程序,发现92...
发表于 03-23 21:50 22次 阅读
cRIO电流输出板卡9266,输出时返回错误码 65543是什么意思,如何解决?

AD9510关于PLL锁定频率的寄存器配置?

  最近在使用AD9510这款芯片配置时钟,目前程序已经能够将输入频率直接分频输出,但是PLL锁相环这部分始终没能够...
发表于 03-23 15:04 85次 阅读
AD9510关于PLL锁定频率的寄存器配置?

FPGA和CPLD最好的入门教程的电子书免费下载

本文档的主要内容详细介绍的是FPGA和CPLD最好的入门教程的电子书免费下载包括了:1.FPGA/C....
发表于 03-22 17:04 67次 阅读
FPGA和CPLD最好的入门教程的电子书免费下载

FPGA视频教程之FPGA设计中如何避免冒险竞争

本文档的主要内容详细介绍的是FPGA视频教程之FPGA设计中如何避免冒险竞争。
发表于 03-22 17:04 30次 阅读
FPGA视频教程之FPGA设计中如何避免冒险竞争

基于ARM-Linux平台的FPGA程序加载模式浅析

在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,从外部专用的 读入程序....
发表于 03-22 16:20 67次 阅读
基于ARM-Linux平台的FPGA程序加载模式浅析

盘点全球最贵的5颗电子芯片

对于外太空和空间应用的芯片而言,除了要具有高速计算能力,还要具有抗辐射等特殊性能。因为宇宙空间环境极....
的头像 玩转单片机 发表于 03-22 14:59 217次 阅读
盘点全球最贵的5颗电子芯片

FPGA的底板尺寸意味着什么

嗨, 在5月的研究文章中,提到FPGA的底板假定为64 * 64 ..有些假设为80 * 120。 那它究竟意味着什么呢? 这是否意味着CL...
发表于 03-22 14:52 24次 阅读
FPGA的底板尺寸意味着什么

FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明....
发表于 03-22 14:00 23次 阅读
FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明

FPGA视频教程之如何设计复杂的数字系统详细资料和硬件描述语言概述

1.选用合适的EDA仿真工具,2.选用合适电路图输入和HDI编辑工具,3.逐个编写可综合HDL模块,....
发表于 03-22 13:59 22次 阅读
FPGA视频教程之如何设计复杂的数字系统详细资料和硬件描述语言概述

FPGA视频教程之NIOS II开发流程的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之NIOS II开发流程的详细资料说明主要目的是:1.完....
发表于 03-22 13:59 13次 阅读
FPGA视频教程之NIOS II开发流程的详细资料说明

FPGA视频教程之Verilog HDL有什么用处详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog HDL有什么用处详细资料说明免费下载。....
发表于 03-22 13:57 22次 阅读
FPGA视频教程之Verilog HDL有什么用处详细资料说明

FPGA视频教程之NiosII IDE简介的详细资料说明

本文档主要内容详细介绍的是FPGA视频教程之NiosII IDE简介的详细资料说明主要目是:1.介绍....
发表于 03-22 11:38 18次 阅读
FPGA视频教程之NiosII IDE简介的详细资料说明

FPGA视频教程之NIOSII调试入门的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之NIOSII调试入门的详细资料说明。目的:1.Nios....
发表于 03-22 11:38 19次 阅读
FPGA视频教程之NIOSII调试入门的详细资料说明

基于FPGA的超声波测距系统设计详解

超声波测距是一种非接触式测量技术,具有定向性好以及对色彩、光照度、外界光线和电磁场不敏感的优点,当被....
发表于 03-22 08:42 78次 阅读
基于FPGA的超声波测距系统设计详解

怎么通过FPGA实现微控制器?

亲爱的朋友们, 我听说我们甚至可以通过FPGA实现微控制器。 例如,我们可以用FPGA实现AVR micro。 我的问题是:我...
发表于 03-22 07:32 16次 阅读
怎么通过FPGA实现微控制器?

FPGA视频教程之Quartus II的基础知识免费下载

本文档的主要内容详细介绍的是FPGA视频教程之Quartus II的基础知识免费下载内容包括了:1.....
发表于 03-21 16:54 22次 阅读
FPGA视频教程之Quartus II的基础知识免费下载

FPGA视频教程之QuartusII使用简介的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之QuartusII使用简介的详细资料说明主要目的是:1....
发表于 03-21 16:54 29次 阅读
FPGA视频教程之QuartusII使用简介的详细资料说明

FPGA视频教程之SOPC builder的详细基础知识说明

本文档的主要内容详细介绍的是FPGA视频教程之SOPC builder的详细基础知识说明。主要目的是....
发表于 03-21 16:54 25次 阅读
FPGA视频教程之SOPC builder的详细基础知识说明

FPGA比ASIC有更短的设计周期和灵活性 非常适合需要推向市场的产品

随着技术发展和新产品新应用的出现,数码相机、手机、PDA等产品也在成为新兴的消费类电子产品。从二十世....
发表于 03-21 16:43 303次 阅读
FPGA比ASIC有更短的设计周期和灵活性 非常适合需要推向市场的产品

FPGA视频教程之SignalTap II逻辑分析仪使用指南资料免费下载

本文档的主要内容详细介绍的是FPGA视频教程之SignalTap II逻辑分析仪使用指南资料免费下载....
发表于 03-21 15:43 15次 阅读
FPGA视频教程之SignalTap II逻辑分析仪使用指南资料免费下载

FPGA视频教程之NIOSII开发工具的详细资料简介

本文档的主要内容详细介绍的是FPGA视频教程之NIOSII开发工具的详细资料简介资料免费下载。 ....
发表于 03-21 15:43 20次 阅读
FPGA视频教程之NIOSII开发工具的详细资料简介

FPGA视频教程之Verilog基础的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog基础的详细资料说明包括了:1.Veril....
发表于 03-21 15:02 24次 阅读
FPGA视频教程之Verilog基础的详细资料说明

FPGA在人工智能时代的独特优势的全面分析

基于这些特点,我们在FPGA这项技术上押下重注,并且将其广泛的部署到了微软的云数据中心里。与此同时,....
的头像 电子发烧友网工程师 发表于 03-21 09:34 1307次 阅读
FPGA在人工智能时代的独特优势的全面分析

FPGA进行图像处理的前景广阔 应用将会越来越大

用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一....
发表于 03-20 16:28 98次 阅读
FPGA进行图像处理的前景广阔 应用将会越来越大

学习FPGA的小建议与总结分享

语法层面搞懂阻塞和非阻塞语句,以及Verilog语言的时序描述方法,把自己想象成编译器,尝试去编译自....
发表于 03-20 16:13 108次 阅读
学习FPGA的小建议与总结分享

FPGA视频教程之怎样开始一个简单的FPGA设计

本文档的主要内容详细介绍的是FPGA视频教程之怎样开始一个简单的FPGA设计。
发表于 03-20 14:35 34次 阅读
FPGA视频教程之怎样开始一个简单的FPGA设计

FPGA视频教程之原理图输入方式的资料简介

图形(原理图)设计输入 使用Quartus 模块编辑器全功能原理图设计能力建立原理图设计的步骤 ....
发表于 03-20 14:35 33次 阅读
FPGA视频教程之原理图输入方式的资料简介

FPGA视频教程之如何使用NIOS II处理器

本文档的主要内容详细介绍的是FPGA视频教程之如何使用NIOS II处理器详细资料免费下载。
发表于 03-20 14:35 18次 阅读
FPGA视频教程之如何使用NIOS II处理器

FPGA视频教程之仿真基础的详细资料免费下载

本文档的主要内容详细介绍的是FPGA视频教程之仿真基础的详细资料免费下载包括了: 支持的仿真方法和特....
发表于 03-20 14:35 18次 阅读
FPGA视频教程之仿真基础的详细资料免费下载

FPGA视频教程之FPGA和CPLD与VHDL基础知识的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之FPGA和CPLD与VHDL基础知识的详细资料说明。主....
发表于 03-20 14:35 26次 阅读
FPGA视频教程之FPGA和CPLD与VHDL基础知识的详细资料说明

FPGA教程之通向FPGA之路七天玩转Altera之基础篇的电子书免费下载

网上关于Altera的教程很多,可谓浩如烟海。大体来说有两类:一是,stepby step的指导如何....
发表于 03-20 13:40 17次 阅读
FPGA教程之通向FPGA之路七天玩转Altera之基础篇的电子书免费下载

探讨下工程师的能力与职场来讲述下我们工程师群体的五味杂陈的故事

相信大家都有时间观念,但是真正能执行到位的可能并没有那么多。互联网是一个快速发展的行业,RD的研发效....
的头像 电子工程技术 发表于 03-20 10:58 203次 阅读
探讨下工程师的能力与职场来讲述下我们工程师群体的五味杂陈的故事

一种基于FPGA的相关测速系统设计浅析

尽管相关测速的运算量非常巨大,但是随着EDA技术的高速发展,大规模可编程逻辑器件CPLD/FPGA的....
发表于 03-19 08:45 58次 阅读
一种基于FPGA的相关测速系统设计浅析

CPCI6U-2DSP-C6678信号处理板的说明书免费下载

CPCI6U-2DSP-C6678 信号处理板基于 6U CPCI 规范,并且具有一个基于FMC 规....
发表于 03-19 08:00 27次 阅读
CPCI6U-2DSP-C6678信号处理板的说明书免费下载

英特尔谈如何与Nvidia争夺AI芯片市场

Nvidia不太可能很快放弃目前在AI培训处理器市场上的领先优势,特别是考虑到它也在该领域投入巨资。....
的头像 章鹰 发表于 03-18 21:07 1462次 阅读
英特尔谈如何与Nvidia争夺AI芯片市场

在人工智能时代 FPGA必将在更多应用领域得到更加广泛的使用

微软在数据中心里大规模部署和应用FPGA的最初实践,来自于他的“Catapult项目”。这个项目的主....
发表于 03-18 11:17 160次 阅读
在人工智能时代 FPGA必将在更多应用领域得到更加广泛的使用

微软中的FPGA发展历程盘点

"2014年,微软在计算机架构领域的顶会ISCA上发表了一篇名为“A Reconfigurable ....
发表于 03-18 11:12 115次 阅读
微软中的FPGA发展历程盘点

采用ARM和单片机的CPLD/FPGA高速数据处理系统

传统的数据采集系统一般采用单片机,系统大多通过PCI总线完成数据的传输。其缺点是数学运算能力差;受限....
发表于 03-16 09:00 131次 阅读
采用ARM和单片机的CPLD/FPGA高速数据处理系统

基于电路分割技术的查表法实现根升余弦脉冲成形滤波器FPGA设计

数字通信系统中,基带信号的频谱一般较宽,因此传递前需对信号进行成形处理,以改善其频谱特性,使得在消除....
发表于 03-15 14:15 114次 阅读
基于电路分割技术的查表法实现根升余弦脉冲成形滤波器FPGA设计

AI时代的摩尔定律的百度选择FPGA来部署的原因

会上,百度主任构架师欧阳剑提到,不同的应用场景,芯片需求也不尽相同。为此,去年百度发布了人工智能芯片....
发表于 03-15 14:02 88次 阅读
AI时代的摩尔定律的百度选择FPGA来部署的原因

安路科技连续翻倍增长,国产FPGA凭何发力?

我们知道FPGA市场长期被赛灵思、英特尔(收购Altera)、莱迪思等厂商把持。FPGA研发的技术含....
发表于 03-15 09:49 421次 阅读
安路科技连续翻倍增长,国产FPGA凭何发力?

如何使用XILINX FPGA进行片上嵌入式系统的用户IP开发

随着FPGA技术的发展,在FPGA上实现片上系统在技术上已经可能。基于FPGA片上系统开发已成为目前....
发表于 03-14 17:38 63次 阅读
如何使用XILINX FPGA进行片上嵌入式系统的用户IP开发

基于System Generator中实现算法的FPGA设计方案详解

由于数字调制信号越来越多地应用于通信信号处理领域,因此对数字信号调制识别的研究也越来越多。传统的调制....
发表于 03-14 10:32 110次 阅读
基于System Generator中实现算法的FPGA设计方案详解

基于FPGA的烟支检测系统设计方案浅析

烟支在生产过程中,由于多种因素的影响,可能会使成品烟的烟丝填充不均匀,烟支的某节烟丝过少或过多,从而....
发表于 03-14 10:18 112次 阅读
基于FPGA的烟支检测系统设计方案浅析

基于TDI-CCD的利用FPGA实现CCD图像数据整合功能的硬件系统设计

CCD是一种广泛应用于成像系统中的光学传感器,TDI-CCD利用延时积分的方法,通过对同一物体多次曝....
发表于 03-13 09:29 88次 阅读
基于TDI-CCD的利用FPGA实现CCD图像数据整合功能的硬件系统设计

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 29次 阅读
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 33次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器