目录

  • 环境
  • 关键逻辑
    • 偶数分频
    • 奇数分频
  • Code
  • 总结
  • 参考文档

环境

软件:ISE 14.7

关键逻辑

偶数分频

分频系数scaler为偶数,采用上升沿(或下降沿)触发计数到scaler/2时反转状态,实现占空比50%的偶数分频信号。

signal clk_div:bit:='0';
signal count:integer:=0;constant scaler:integer :=2;
constant scaler_half:integer := scaler/2;process(clk)
beginif(clk'event and clk = '1') then count <= count+1;if(count <= scaler_half-1) thenclk_div <= '1';elsif(count < scaler-1) thenclk_div <= '0';elsecount <= 0;clk_div <= '0';end if;end if;
end process;

二分频仿真结果:

奇数分频

分别采用上升沿触发和下降沿触发的方式,可以得到相隔半个clk周期的两个信号,对结果进行与运算,实现占空比50%的奇数分频信号。

三分频仿真结果:

Code

  • clk:原始时钟信号
  • scaler:分频系数(8-bits integer)
  • clk_div:分频时钟信号
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;entity cycle_divider isPort ( clk : in  bit;scaler : in integer range 0 to 64;clk_div : out  bit);
end cycle_divider;architecture Behavioral of cycle_divider issignal p_clk_div:bit:='0';
signal n_clk_div:bit:='0';
signal p_count:integer range 0 to 64:=0;
signal n_count:integer range 0 to 64:=0;signal even:integer range 0 to 1:=0;
signal hcount:integer range 0 to 32:=0;begineven <= scaler rem 2;hcount <= (scaler - even) / 2 -1;with (even * scaler) selectclk_div <= p_clk_div when 0,clk when 1,p_clk_div or n_clk_div when others;process(clk,scaler)beginif(scaler > 0) thenif(clk'event and clk = '1') then p_count <= p_count+1;if(p_count <= hcount) thenp_clk_div <= '1';elsif(p_count < scaler-1) thenp_clk_div <= '0';elsep_count <= 0;p_clk_div <= '0';end if;elsif(clk'event and clk = '0') then n_count <= n_count+1;if(n_count <= hcount) thenn_clk_div <= '1';elsif(n_count < scaler-1) thenn_clk_div <= '0';elsen_count <= 0;n_clk_div <= '0';end if;end if;end if;end process;
end Behavioral;

总结

对于硬件来说,时钟是一个重要的信号。一般分频通过硬件的分频电路来实现,本次实验通过软件来实现任意频率的分频也是一个不错的练习。

参考文档

FPGA利用待分频时钟实现任意分频

一起来学FPGA(vhdl)三:分频器实验相关推荐

  1. 零基础学FPGA(三):国产芯片短板—FPGA(为什么选择FPGA)

    文章目录 前言 一.FPGA简介 二.FPGA的用途 三.FPGA比较 1.FPGA与单片机比较 2.FPGA与CPU比较 四.为什么选择FPGA 总结 前言 在正点原子的技术文档里面看到一个小故事, ...

  2. 小数分频器vhdl实现_基于FPGA的小数分频器的设计与实现.doc

    基于FPGA的小数分频器的设计与实现.doc 基于FPGA的小数分频器的设计与实现 [摘要]本文首先分析了现有小数分频器的优缺点,在此基础上提出了一种改进型小数分频器的设计方法.同时结合VHDL文本输 ...

  3. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

    目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...

  4. 三叔学FPGA系列之二:Cyclone V中的POR、配置、初始化,以及复位

    对于FPGA内部的复位,之前一直比较迷,这两天仔细研究官方数据手册,解开了心中的诸多疑惑,感觉自己又进步了呢..... 原创不易,转载请转原文,注明出处,谢谢.   一.关于POR(Power-On ...

  5. 中国地质大学北京信息管理与信息系统——Java程序设计第一次上机前三个实验

    第一个实验: package Sw; import java.util.Scanner; public class shangjiwork_1 {public static void main(Str ...

  6. B-ICE-EDA/SOPC FPGA创新电子教学实验平台

    简介:北京革新创展科技有限公司B-ICE IEELS系列创新教学实验平台目前主推Intel Cyclone IV/V系列,标准配置如下:主机B-ICE-EDA/SOPC,核心板可选GX-SOPC-EP ...

  7. (05)VHDL实现分频器

    (05)VHDL实现分频器 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL实现分频器 5)结语 1.2 FPGA简介 FPGA(Field Programmable Gate ...

  8. (43)FPGA状态机三段式

    (43)FPGA状态机三段式 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA状态机三段式 5)结语 1.2 FPGA简介 FPGA(Field Programm ...

  9. 我的网络安全第三次实验汇报

    网络安全第三次实验汇报 一.SQL 注入(SQL Injection) 演示 SQL 注入 简单了解WEB项目 SQL 注入的原理(3个SQL语句) 从代码看 SQL 注入原理 何为预处理语句? 为什 ...

  10. 桂 林 理 工 大 学实 验 报 告实验五 数组

    桂 林 理 工 大 学 实  验  报  告 班级 计算机类20 学号32020520 姓名  实验名称实验五 数组 日期 2020年 11月28日 一.实验目的: 熟悉掌握一维数组和二维数组的定义和 ...

最新文章

  1. C#判断Textbox是否为数字
  2. python界面-图形界面
  3. 程序员面试金典——2.4链表分割
  4. 一个很可爱的二次元风格的个人技术博客
  5. 黑客入侵电脑网络四大步骤全面曝光
  6. java控制html弹出框,Selenium+java - 弹出框处理
  7. win环境sftp软件_Windows环境下使用bitvise架构sftp服务器
  8. express文件上传中间件Multer详解
  9. 如何入门嵌入式?ARM嵌入式开发板学习方法步骤
  10. 【K站神器】百度SEO尊诺发包程序
  11. 个人独立开发的一款天气app
  12. 自助建站工具 搭建出来的网站真的适合SEO吗?
  13. 微信小程序不能使用本地图片当背景图片的解决方法
  14. 全球及中国IC卡水表行业销售策略及竞争趋势预测报告(2022-2027)
  15. 设备电容老化危害大,出厂测试可别轻视它!
  16. QMI8658 - 姿态传感器学习笔记 - Ⅲ
  17. Unity学习笔记 关于TextMeshPro(TMP) 字体大小FontSize单位说明
  18. 前端H5开发的基础知识点
  19. python制作一个网易音乐下载器
  20. Linux——详解进程控制之等待

热门文章

  1. 【Windows】安装显卡驱动+cuda+cudnn
  2. 网站seo优化一定要注意这几件事
  3. 安装mosek并配置到matlab
  4. 【解决方案 六】---在VS2015里使用ILDasm
  5. RINEX广播星历文件读取(N文件)
  6. GNSS-RINEX3.04格式
  7. ct扫描方式有哪些_日联科技x-ray:工业CT是怎么进行X射线的断层扫描的
  8. java万年历程序代码_JAVA万年历程序代码
  9. 网络新手ip隐藏器 v1.10 官方
  10. asp与ACCESS数据库的连接及基本操作