利用VHDL实现一定系数范围内的信号分频电路

实验要求:
采用 3 个开关以二进制形式设定分频系数(0-7),实现对已知信号的分频。

实现代码(VHDL):

library ieee ;
use ieee.std_logic_1164.all ;
use ieee.numeric_std.all ;
use ieee.std_logic_unsigned.all ;entity Division isport(sw : in std_logic_vector(2 downto 0) ;clk : in std_logic ;ld : buffer std_logic) ;
end Division ;architecture Delay of Division issignal num : integer := 0 ;		-- the times of rising edge ;signal num1 : integer := 0 ;	-- the times of falling edge ;signal result : std_logic := '0' ;		-- when clk is rising ;signal result1 : std_logic := '0' ;		-- when clk is falling ;
beginprocess(sw, clk)variable n : integer := 0 ;variable n1 : integer := 0 ;beginif rising_edge(clk) thennum <= num + 1 ;if (sw = "011" or sw = "101" or sw = "111") thenif (sw = "011") thenn := 3 ;elsif (sw = "101") thenn := 5 ;elsif (sw = "111") thenn := 7 ;end if ;if (n = 3 and (num = 2 or ((num-2) rem n = 0)) ) thenresult <= Not result ;elsif (n = 5 and (num = 3 or ((num-3) rem n = 0)) ) thenresult <= Not result ;elsif (n = 7 and (num = 4 or ((num-4) rem n = 0)) ) thenresult <= Not result ;end if ;end if ;elsif falling_edge(clk) thennum1 <= num1 + 1 ;if (sw = "010" or sw = "100" or sw = "110") thenif (sw = "010") thenn1 := 2 ;elsif (sw = "100") thenn1 := 4 ;elsif (sw = "110") thenn1 := 6 ;end if ;if (num1 = (n1/2) or ((num1 - (n1/2)) rem n1 = 0)) thenresult1 <= Not result1 ;elsif (num1 rem n1 = 0) thenresult1 <= Not result1 ;end if ;elsif (sw = "011" or sw = "101" or sw = "111") thenif (sw = "011") thenn1 := 3 ;elsif (sw = "101") thenn1 := 5 ;elsif (sw = "111") thenn1 := 7 ;end if ;if (num1 rem n1 = 0) thenresult1 <= Not result1 ;end if ;end if ;end if ;ld <= result xor result1 ;end process ;
end Delay ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ANN人工神经网络:从基础认知到现实理解

什么是神经网络&#xff1f; 神经网络的再认知 前面我们了解过&#xff0c;人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;是人类为了模仿人大脑的神经网络结构创建出来的一种计算机系统结构。但如果仔细深入到神经网络当中&#xff0c;会慢…

排序算法基本原理及实现1

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 &#x1f4d1;插入排序 &#x1f4…

JAVAEE---多线程线程安全

根本原因&#xff1a;随机调度&#xff0c;抢占式执行 多个线程同时修改同一个变量 修改操作不是原子的 内存可见性 指令重排序 上面这段代码可以正常打印出hello&#xff0c;按照我们前面所学&#xff0c;第一次加锁之后&#xff0c;第二次加锁应该有所冲突啊。这里是因为…

c++ day2

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #ifndef RECT_H …

23.解释不同方式的自动装配,spring 自动装配 bean 有哪些方式?

解释不同方式的自动装配&#xff0c;spring 自动装配 bean 有哪些方式&#xff1f; 在spring中&#xff0c;对象无需自己查找或创建与其关联的其他对象&#xff0c;由容器负责把需要相互协作的对象引用赋予各个对象&#xff0c;使用autowire来配置自动装载模式。 在Spring框架…

量子力学应用:探索科技前沿的奇幻之旅

量子力学应用:探索科技前沿的奇幻之旅 引言 量子力学,这门探讨微观世界规律的学科,自其诞生以来就充满了神秘与奇幻。随着科学技术的不断进步,量子力学已经从纯理论研究走向了实际应用领域,为我们打开了一个全新的科技世界。在本文中,我们将深入探讨量子力学的应用方面,…

JS 绘制半径不一致的环形图进度条

HTML部分: <canvas id"mycanvas" width"100" height"100"></canvas>JS部分&#xff1a; const option {element: "mycanvas", // 元素count: 26, // 高亮数据totalCount: 129, // 总数据progressColor: #3266FB, // 进…

一文详解Python中常用数据类型

文章目录 Python 中常用的数据类型包括&#xff1a;Python 中布尔类型(bool)Python 中的数字类型概述Pyhon中的字符串概述Python 中的List概述Python 中的元组类型(tuple)Python中的字典&#xff08;Dictionary&#xff09;Python中的集合&#xff08;Set&#xff09;Python中的…

入门 PyTorch

要入门 PyTorch&#xff0c;可以按照以下步骤&#xff1a; 安装 PyTorch&#xff1a;在 PyTorch 的官方网站 PyTorch 上可以找到对应的安装方式和教程&#xff0c;选择适合自己的版本进行安装。 学习 PyTorch 基础知识&#xff1a;可以从官方文档中的入门教程开始学习&#xf…

SpringBoot自动装配和自动配置

1. 自动装配 Spring Boot 的自动装配机制允许自动配置第三方组件&#xff0c;这是通过以下几个关键步骤实现的&#xff1a; EnableAutoConfiguration 注解: Spring Boot 应用程序通常在其主类上使用 SpringBootApplication 注解&#xff0c;该注解包含 EnableAutoConfiguratio…

你了解vue的diff算法吗?

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue中的diff算法 目录 一、是什么 二、比较方式 三、原理分析 小结 一、是什么 diff 算法是一…

【蓝桥杯选拔赛真题69】Scratch洗牌发牌 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析

目录 scratch洗牌发牌 一、题目要求 编程实现 二、案例分析 1、角色分析

(C++)字符串相乘

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 题目链接如下&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名…

【c语言:常用字符串函数与内存函数的使用与实现】

文章目录 1. strlen函数1.1使用1.2模拟实现 2.strcmp函数2.1使用2.2模拟实现 3.strncmp函数3.1使用3.2模拟实现 4.strcpy函数4.1 使用4.2模拟实现 5.strcncpy5.1使用5.2模拟实现 6.strcat函数6.1使用6.2模拟实现 7.strncat函数7.1使用7.2模拟实现 8.strstr函数8.1使用8.2模拟实…

1 NLP分类之:FastText

0 数据 https://download.csdn.net/download/qq_28611929/88580520?spm1001.2014.3001.5503 数据集合&#xff1a;0 NLP: 数据获取与EDA-CSDN博客 词嵌入向量文件&#xff1a; embedding_SougouNews.npz 词典文件&#xff1a;vocab.pkl 1 模型 基于fastText做词向量嵌入…

vue3+vite+ts项目打包时出错

项目中引入了element-plus国家化的配置&#xff0c;然后进行项目打包&#xff0c;报下面的错误 解决方法&#xff1a; 在main.ts中添加 // ts-ignore

AKConv:具有任意采样形状和任意数目参数的卷积核

文章目录 摘要1、引言2、相关工作3、方法3.1、定义初始采样位置3.2、可变卷积操作3.3、扩展AKConv4、实验4.1、在COCO2017上的目标检测实验4.2、在VOC 7+12上的目标检测实验4.3、在VisDrone-DET2021上的目标检测实验4.4、比较实验4.5、探索初始采样形状5、分析讨论6、结论摘要 …

【存储】blotdb的原理及实现(2)

【存储】etcd的存储是如何实现的(3)-blotdb 在etcd系列中&#xff0c;我们对作为etcd底层kv存储的boltdb进行了比较全面的介绍。但是还有两个点没有涉及。 第一点是boltdb如何和磁盘文件交互。 持久化存储和我们一般业务应用程序的最大区别就是其强依赖磁盘文件。一方面文件数…

Linux系统之一次性计划任务at命令的基本使用

Linux系统之一次性计划任务at命令的基本使用 一、at命令介绍二、at命令的使用帮助2.1 at命令的help帮助信息2.2 at命令的语法解释 三、at命令的日常使用3.1 立即执行一次性任务3.2 指定时间执行一次性任务3.3 查询计划任务3.4 其他指定时间用法3.5 删除已经设置的计划任务3.6 显…

深度学习毕设项目 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model 1 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&am…