当前位置: 首页 > 编程日记 > 正文

CPLD的分频语言

分频器在FPGA/CPLD设计中是不可缺少的一部分,这就包括分频系数是奇数和偶数的(我们称为奇分频和偶分频),而对于偶分频来说还有不同的分频方法,下面将给出具体的方法:

1、占空比不为50%的偶分频

占空比:指在一个周期内高低电平持续的时间不等。

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all; --定义库文件
entity ofp is         --定义实体名为ofp
port(
     clk:in std_logic;
     clk_fp:out std_logic);
end entity;
architecture miao of ofp is
signal n:integer range 0 to 3;--4分频 注意:要想得到别的偶数分频

                             --可以将3替换为 fp_num-1 (fp_num为分频系数)
begin
process(clk)
begin
if clk'event and clk='1' then    --时钟上升沿触发
   if n<3 then             --当计数器n<3时进行+1运算,当n=3时n返回0
      n<=n+1;clk_fp<='0';
   else
   n<=0;clk_fp<='1';
   end if;
end if;
end process;
end miao;

2、占空比为50%的偶分频

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;--定义库文件
entity ofp1 is --定义实体名为ofp1
port(
     clk:in std_logic;
     clk_fp:out std_logic);
end entity;
architecture miao of ofp1 is
signal n:integer range 0 to 1;--注意:同样是四分频,这里n只是0-1

-- 注意:要想得到别的偶数分频

--可以将1替换为 fp_num/2 -1 (fp_num为分频系数)

signal cp:std_logic;   --定义一个中间变量,因为port内的输出信号不能放在-                      ---赋值号的右边
begin
process(clk)
begin
if clk'event and clk='1'then --思想:当计数器n计数到1的时候就将信号

                             --cp进行翻转
   if n<1 then
      n<=n+1;
   else
   n<=0;cp<=not cp;
   end if;
end if;
end process;
clk_fp<=cp;
end miao;

3、占空比不为50%的奇分频

    下面这个程序是3分频的程序,要是大家想改为别的,就尝试一下吧,我就不明说了,要是真的不知道,可以留言

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;
entity thirdfreq is
port(
   clkin : in STD_LOGIC;
   rst : in STD_LOGIC;
   thirdfreq : out STD_LOGIC;    -- three freq output, 50%
   threecountp : out STD_LOGIC_VECTOR(1 downto 0); --not 50%
   threecountn : out STD_LOGIC_VECTOR(1 downto 0) --not 50%
      );
end thirdfreq;
architecture thirdfreq of thirdfreq is
signal threecntp   : std_logic_vector(1 downto 0);
signal threecntn   : std_logic_vector(1 downto 0);
signal thirdfreq_p : std_logic;
signal thirdfreq_n : std_logic;
begin
thirdfreq <= thirdfreq_p and thirdfreq_n;
u0: process(clkin,rst)
begin
if rst = '0' then
   threecntp <= "00";
else
   if clkin'event and clkin = '1' then
    if threecntp = "10" then
     threecntp <= "00";
    else
     threecntp <= threecntp + '1';
    end if;
   end if;
end if;
end process u0;  
threecountp <= threecntp;

u1: process(clkin,rst)
begin
if rst = '0' then
   threecntn <= "00";
else
   if clkin'event and clkin = '0' then
    if threecntn = "10" then
     threecntn <= "00";
    else
     threecntn <= threecntn + '1';
    end if;
   end if;
end if;
end process u1;
threecountn <= threecntn;

u2: process(clkin,rst)
begin
if rst = '0' then
   thirdfreq_p <= '0';
else
   if clkin'event and clkin = '1' then
    if threecntp < "01" then
     thirdfreq_p <= '0';
    else
     thirdfreq_p <= '1';
    end if;
   end if;
end if;
end process u2;  

u3: process(clkin,rst)
begin
if rst = '0' then
   thirdfreq_n <= '0';
else
   if clkin'event and clkin = '0' then
    if threecntn < "01" then
     thirdfreq_n <= '0';
    else
     thirdfreq_n <= '1';
    end if;
   end if;
end if;
end process u3;
end thirdfreq;

转自:http://www.3mdianzi.cn/web/viewarticle.asp?userid=893633&lanmuid=6048701&contentID=1526842

转载于:https://www.cnblogs.com/itxiaocaiyidie/archive/2012/03/30/2424856.html

相关文章:

彻底解决web开发中遇到的路径问题(上)

注&#xff1a;本文部分引用了网络上的文章&#xff0c;以及动力节点老师的讲解内容&#xff0c;感谢老师&#xff0c;嘻嘻。 为了举例方便&#xff0c;我新建了pathTest项目&#xff1a; 关于tomcat的配置&#xff0c;eclipse访问项目的路径一般是localhost:8080/projectName,…

关于Page翻页效果--Page View Controller

Page View Controllers你使用一个page view controller用page by page的方式来展示内容。一个page view controller管理一个self-contained视图架构。这个架构的父视图由page View controller管理&#xff0c;并且子视图由你提供的view Controllers管理。一&#xff0c;解析Pag…

linux平台下QtCreator中集成Valgrind系列工具

linux平台下QtCreator中集成Valgrind系列工具 ###1、valgrind 安装 valgrind 安装 2、打开QtCreator >> Analyze 你就会发现 这里已经有valgrind的相关选项了 如果没有的话&#xff0c; 在help >> about plugin >> C 中勾选 如图: 点击则可以直接运行…

python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解

本文实例讲述了Python基于Tensor FLow的图像处理操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;在对图像进行深度学习时&#xff0c;有时可能图片的数量不足&#xff0c;或者希望网络进行更多的学习&#xff0c;这时可以对现有的图片数据进行处理使其变成一张新的…

CSS层叠样式

为了让网页元素的样式更加丰富&#xff0c;也为了让网页的内容和样式能拆分开&#xff0c;CSS由此思想而诞生&#xff0c;CSS是 Cascading Style Sheets 的首字母缩写&#xff0c;意思是层叠样式表。有了CSS&#xff0c;html中大部分表现样式的标签就废弃不用了&#xff0c;htm…

windows下 Source Monitor代码度量工具的使用

windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 SourceMonitor是一款免费的软件&#xff0c;运行在Windows平台下。它可对多种语言写就的代码进行度量&#xff0c;包括C、C、C#、Java、VB、Delphi和HT…

MVVM 数据绑定

一、在 XAML 中创建绑定 定义源对象。 C# public class Dog {public string DogName { get; set; } }在 XAML 中创建对源对象的命名空间的引用。 XAML <UserControl x:Class"BindingXAML.Page" xmlns"http://schemas.microsoft.com/winfx/2006/xaml/pres…

linux配置文件怎么把某行后几个字符替换_vim(Linux运维)

一、vim使用介绍 介绍在linux系统中&#xff0c;大部分配置文件都是ASCII的纯文本形式存放的&#xff0c;所以我们在修改系统设置的时候使用简单的文本编辑软件就可以实现了&#xff0c;如果你使用过windows当中的word的话&#xff0c;那么你可能会感觉linux字符界面的文本编辑…

Debian 6.0 安装过程 及中文乱码

2019独角兽企业重金招聘Python工程师标准>>> Debian 6.0 安装过程 Debian 6.0 安装过程 转(一个别人自录的安装过程录相) http://v.youku.com/v_show/id_XMjUyMzY1OTIw.html 转(别人写的一个过程) http://hi.baidu.com/ljx_freebsd/blog/item/88d60c09da379da22edd…

git 提交丢失Warning, you are leaving 2 commits behind,

早上在自己的一个版本代码上编辑&#xff0c;提交commint&#xff0c;但是checkout到其他分支再checkout回来发现该的东西不见了&#xff0c; 幸好terminal还没有关掉&#xff0c;回看日志&#xff1a; Warning: you are leaving 2 commits behind, not connected toany of you…

一台支持vlan管理的交换机_关于交换机的VLAN技术你了解多少?

VLAN&#xff08;虚拟局域网&#xff09;是对连接到的第二层交换机端口的网络用户的逻辑分段&#xff0c;不受网络用户的物理位置限制而根据用户需求进行网络分段。一个VLAN可以在一个交换机或者跨交换机实现。VLAN可以根据网络用户的位置、作用、部门或者根据网络用户所使用的…

需要反射时使用dynamic

//使用dynamic的写法 dynamic fileExplorerData _currentFolder.FileExplorerData; var data fileExplorerData.InsertFromPath(newPath);//使用反射的写法 MethodInfo InsertMethod _currentFolder.FileExplorerData.GetType().GetMethod("InsertFromPath"); var…

Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy

Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy 原文连接: https://blog.csdn.net/wsj18808050/article/details/79824619 内容&#xff1a; QtCreator在前几天发布了4.6.0的版本&#xff0c;增加了两个非常棒的新功能&#xff0c;分别是Clang-Tidy和Clazy 官方…

JAVA swing初级教程(四)

附加的swing小部件(下) JOptionPane JOptionPane 是在 Swing 中类似“快捷方式”的东西。通常&#xff0c;作为 UI 开发人员&#xff0c;您需要向用户呈现快速信息&#xff0c;让用户了解错误和信息。甚至可能想得到一些快速数据&#xff0c;例如名称或数字。在 Swing 中&#…

Akka源码分析-Remote-发消息

上一篇博客我们介绍了remote模式下Actor的创建&#xff0c;其实与local的创建并没有太大区别&#xff0c;一般情况下还是使用LocalActorRef创建了Actor。那么发消息是否意味着也是相同的呢&#xff1f; 既然actorOf还是委托给了LocalActorRef&#xff0c;那么在本地创建的Actor…

用sed 给文本文件加行号

看例子&#xff1a; [rootlocalhost tmp]# sed test.txt 1 tsttst tsttsttst 2 west gao 3 west abces [rootlocalhost tmp]# sed test.txt | sed N;s/\n/\t/ 1 tsttst tsttsttst 2 west gao 3 west abces [rootlocalhost tmp]# N的解释&#xff1a; N&am…

Qt 编译一直死循环问题

Qt 编译一直死循环问题 有时候Qt编译项目时&#xff0c; 一直编不过&#xff0c;查看一下编译窗口&#xff0c;发现一直在循环 输出如下: C:\soft\Qt5.11\5.11.1\mingw53_32\bin\qmake.exe -o Makefile ..\..\..\..\PalmQtLib\PalmQtLib\PalmQtLib.pro -spec win32-g "…

路由器运行python脚本_写个Python脚本来登录小米路由器

这个脚本写起来难度并不是很大&#xff0c;博主还是一步步的分析下&#xff0c;这样思路会比较清晰&#xff0c;下次遇到类似系统脚本写起来也更快速。好了&#xff0c;一起来分析分析。首先看下小米路由器的登录界面可以看到只需要输入密码即可登录&#xff0c;博主这里为了演…

PHP定时执行任务的实现

2019独角兽企业重金招聘Python工程师标准>>> ignore_user_abort();//关掉浏览器&#xff0c;PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去 $interval60*30;// 每隔半小时运行 do{//这里是你要执行的代码 sleep($i…

Spring事务管理 与 SpringAOP

1&#xff0c;Spring事务的核心接口 Spring事务管理的实现有许多细节&#xff0c;如果对整个接口框架有个大体了解会非常有利于我们理解事务&#xff0c;下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。   Spring事务管理涉及的接口的联系如下&#xff1a; 1.…

iso镜像文件烧写到U盘

iso镜像文件烧写到U盘 windows rufus-3.1.exe 百度云盘链接&#xff1a;https://pan.baidu.com/s/16p1O4lXMVTUltTvCm0DnHA 提取码&#xff1a;inzj 文件格式一般选择默认的就行,如果起不来,就换一个, linux 1、dd命令 2、系统自带 usb-creator-gtk工具 命令行输入&#x…

webgl 游戏_30个令人惊叹的WebGL示例和演示

WebGl仍在增长&#xff0c;尽管大多数现代浏览器都支持它&#xff0c;但它也可能需要在旧的浏览器上工作。在本文中&#xff0c;我遇到了很多WebGL的示例和演示&#xff0c;它们可以增进您对这项新技术的理解。因此&#xff0c;请坐下来放松身心&#xff0c;使用最新的浏览器&a…

IE8下的VML显示问题解决方案

最近在维护一个使用VML画曲线的网站&#xff0c;在不同的IE下浏览效果不一样&#xff0c;特别是在IE8下&#xff0c;出现莫名其妙的样式显示问题&#xff1a; 1.曲线不可见&#xff01;在IE9或IE7下&#xff0c;曲线正常绘制&#xff0c;但是在IE8下&#xff0c;不见坐标轴和曲…

创新工场有哪些失败项目?不要只看着成功

创新工场有哪些失败项目&#xff1f;不要只看着成功 李开复 &#xff0c;创新工场CEO回答&#xff1a;失败或碰到挑战的项目也不少。这里不点名&#xff0c;不谈细节&#xff0c;但是谈谈碰到什么挑战&#xff08;有些已经失败&#xff0c;有些还在努力&#xff09;&#xff1a…

彻底解决Linux索引节点(inode)占用率高的告警

今天邮箱里发现有一封某服务器inode使用率发生告警的邮件 登录到服务器上df -i查看&#xff0c;发现/路径下91%&#xff0c;磁盘使用率却不高&#xff0c;猜测可能是某个目录下的小文件过多&#xff0c;进而造成inode占用率过高&#xff0c;但不清楚根路径下各文件夹里的文件数…

镜像打包工具clonezilla

镜像打包工具clonezilla clonezilla 百度云盘链接&#xff1a;https://pan.baidu.com/s/1LOEPqNE9O0Z4QJmNExlgeA 提取码&#xff1a;zlso 使用方法&#xff1a; 1、将镜像直接烧入U盘 2、U盘启动

python数据分析设置_Python 数据分析系列之如何安装和设置 Python

由于人们用 Python 所做的事情不同&#xff0c;所以没有一个普适的 Python 及其插件包的安装方案&#xff0c;接下来我将详细介绍各个操作系统上 Python 科学计算环境部署。我推荐免费的 Anaconda 安装包&#xff0c;Anaconda 提供 Python 2.7 和 3.6 两个版本&#xff0c;以后…

javamail gmail

http://www.programfan.com/club/showpost.asp?id27614转载于:https://www.cnblogs.com/yqskj/archive/2013/01/11/2855715.html

robots.txt文件的解析及过滤

什么是robots.txt文件? robots.txt&#xff08;统一小写&#xff09;是一种存放于网站根目录下的ASCII编码的文本文件&#xff0c;它通常告诉网络搜索引擎的漫游器&#xff08;又称网络蜘蛛&#xff09;&#xff0c;此网站中的哪些内容是不能被搜索引擎的漫游器获取的&#xf…

CF949C Data Center Maintenance(建图+强联通分量)

题意 有 n 个信息中心&#xff0c;第 i 个信息中心要在第 ti 个小时维护&#xff0c;维护期间信息不能被获得。 每个用户的数据都有两份备份&#xff0c;第 i 个用户的数据放在信息中心 c(i,1) 和 c(i,2)。 现在要挑选一个尽量小的信息中心集合&#xff0c;使得将这个集合的维护…