使用FPGA实现比较器

介绍

比较器就是通过比较输入的大小,然后输出给出判断。

在这个比较器中,有两个输入,三个输出。根据输出就可以判断出哪个输入值大了。


设计文件

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity comparator is
    generic(n : integer := 7);
    port( inp1,inp2 : in signed (n downto 0);
            outp1,outp2,outp3 : out std_logic);
end entity;
architecture behavior of comparator is
begin 
    outp1 <= '1' when inp1 > inp2 else '0';
    outp2 <= '1' when inp1 = inp2 else '0';
    outp3 <= '1' when inp1 < inp2 else '0';
end architecture;


测试文件

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity tb_comparator is
    generic(n : integer := 7);
    
end entity;
architecture behavior of tb_comparator is
    component comparator is
        port( inp1,inp2 : signed (n downto 0);
                outp1,outp2,outp3 : out std_logic);
    end component;
    signal inp1,inp2 : signed (n downto 0);
    signal outp1,outp2,outp3 : std_logic;
begin
    dut : comparator
    port map(inp1,inp2,outp1,outp2,outp3);
    process
    begin
        inp1 <= "01101100";
        inp2 <= "10110000";
        wait for 10ns;
        inp1 <= "11101100";
        inp2 <= "11101100";
        wait for 10ns;
        inp1 <= "01101100";
        inp2 <= "01110000";
        wait for 10ns;
    end process;
end architecture;


仿真结果


结语

实现这个比较器是很容易的,要注意使用无符号数和有符号数必须要声明std_logic_arith这个包集。上面给出了有符号数进行比较的方法,对于无符号数,只需要更改输入数据的数据类型就可以了。

有什么问题欢迎大家指出。

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

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

相关文章

UE5 android package

1. plug 里删除所有IOS插件&#xff1b; 2.jdk11必须&#xff1b; 3.setting -windows-compiler Version 设置成你的版本&#xff1b; 4.andorid 变绿&#xff1b; 5.target SDK version :34&#xff1b; 6.package game date inside apk? check 7.allow large OBB files c…

【大语言模型LLM】-使用大语言模型搭建点餐机器人

关于作者 行业&#xff1a;人工智能训练师/LLM 学者/LLM微调乙方PM发展&#xff1a;大模型微调/增强检索RAG分享国内大模型前沿动态&#xff0c;共同成长&#xff0c;欢迎关注交流… 大语言模型LLM基础-系列文章 【大语言模型LLM】-大语言模型如何编写Prompt?【大语言模型LL…

zabbix监控华为网络设备路由器eNSP(3)

如果有没搭建zabbix的网友可以先看我上一个搭建文档&#xff0c;把监控系统搭建上https://blog.csdn.net/weixin_72819498/article/details/137751059 拓扑图&#xff1a; 绑定和服务器同地址的网卡 1.监控端配置 (1)SNMP服务安装 [rootzbx-server ~]# yum -y install net-…

Qt——Qt网络编程之TCP通信服务器端的实现(使用QTcpServer、QTcpSocket实现一个TCP服务器端例程)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》

数据仓库、数据中台、大数据平台的关系?

一、数据中台 数据中台是一个数据运营的概念&#xff0c;主要功能是将跨领域的数据集中聚合和治理&#xff0c;将其抽象为服务&#xff0c;提供具有业务价值的逻辑概念。 相较于传统的大数据平台&#xff0c;数据中台是升级版的概念&#xff0c;并不再简单地将各个功能混在一起…

编译一个基于debian/ubuntu,centos,arhlinux第三方系统的问题解答

如果是开机卡boot注意看前面几行会有错误提示&#xff0c;一般会比较好找&#xff0c;下面是过了kernel内核加载后出现的问题 目录 上一篇文章 第一个问题 错误原因 解决办法 第二个问题 注意 第三个问题 上一篇文章 编译一个基于debian/ubuntu,centos,arhlinux第三方系…

CloudCompare 二次开发(28)——最小二乘拟合空间直线

目录 一、概述二、代码集成三、结果展示一、概述 使用CloudCompare与PCL实现的最小二乘拟合直线。具体计算原理见:PCL 最小二乘拟合空间直线。 二、代码集成 1、mainwindow.h文件public中添加: void doActionPCLLeastSquareFit3DLine(); // 最小二乘拟合空间直线2、mainw…

什么是0-day漏洞,怎么防护0-day漏洞攻击

随着信息技术的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中0day漏洞攻击作为一种高级威胁手段&#xff0c;给企业和个人用户带来了极大的风险。下面德迅云安全就对0day漏洞攻击进行简单讲解下&#xff0c;并分享相应的一些安全措施&#xff0c;以期提高网络安全…

第15届蓝桥杯题解

A题 结果&#xff1a;2429042904288 思路很简单 前20个数分别是 20 24 40 48 60 72 80 96 100 120 140 144 160 168 180 192 200 216 220 240 第2 4 6 8 12 ...n个数分别是24的 1倍 2倍 3倍 4倍 6倍 n/2倍 所以第202420242024 个数就是 24的 101210121012倍 B题 答案&am…

二维前缀和与差分

前言 延续前面所讲的一维前缀和以及差分&#xff0c;现在来写写二维前缀和与差分 主要这个画图就比前面的一维前缀和与差分复杂一点&#xff0c;不过大体思路是一样的 一维和二维的主要思路在于一维是只针对对一行一列&#xff0c;而二维是针对与一个矩阵的 好吧&#xff0…

flutter组件 ThemeData

这里只讲组件的定义&#xff0c;需要各位自己去尝试。 ThemeData({// 常规配置Iterable<Adaptation<Object>>? adaptations, // 定义主题自适应方案的列表。bool? applyElevationOverlayColor, // 是否应用海拔叠加颜色。NoDefaultCupertinoThemeData? cuperti…

从零开始精通RTSP之深入理解RTP协议

概述 RTP&#xff0c;即实时传输协议&#xff0c;英文全称为Real-Time Transport Protocol&#xff0c;是一种用于在互联网上传输视频、音频等实时数据的网络协议。RTP本身不提供任何服务质量保证&#xff0c;而是依赖于底层传输协议&#xff08;比如&#xff1a;UDP&#xff0…

ACE框架学习2

目录 ACE Service Configurator框架 ACE_Server_Object类 ACE_Server_Repository类 ACE_Server_Config类 ACE Task框架 ACE_Message_Queue类 ACE_TASK类 在开始之前&#xff0c;首先介绍一下模板类的实例化和使用。给出以下代码 //ACCEPTOR代表模板的方法 template <…

VSCode插件开发学习

一、环境准备 0、参考文档&#xff1a;VS Code插件创作中文开发文档 1、大于18版本的nodejs 2、安装Yeoman和VS Code Extension Generator&#xff1a; npm install -g yo generator-code 3、生成脚手架 yo code 选择内容&#xff1a; ? What type of extension do yo…

DASCTF X GFCTF 2024|四月开启第一局

前言 题目都比较简单&#xff0c;&#xff0c;&#xff0c;没啥好说的&#xff0c;很久没做题了&#xff0c;简单记录一下 dynamic_but_static 仅仅开了 NX 保护栈溢出 先泄漏 libc 地址&#xff0c;然后栈溢出打 ret2libc&#xff0c;开了沙箱得 orw from pwn import * c…

Vue3+TS版本Uniapp:项目前置操作

作者&#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 环境&#xff1a;使用vscode进行开发 如果一开始是使用的HbuilderX&#xff0c;请看hbuilderX创建的uniapp项目转移到vscode 为什么选择vscode&#xff1f;有更好…

Docker容器的原理及应用详解(三)

本系列文章简介&#xff1a; Docker是一种开源的容器化技术&#xff0c;它将应用程序及其依赖项打包为一个容器&#xff0c;以便在任何环境下运行。与传统的虚拟机相比&#xff0c;Docker容器更加轻量级且快速&#xff0c;可以在几秒钟内启动和停止。Docker的原理和应用非常广泛…

Windows进入黑屏,操作CMD提示命令提示符已被系统管理员停用

背景 由于安装或者卸载某些服务导致主机无法正常显示桌面&#xff0c;从控制台进入打开操作执行命令提示禁用。 操作步骤 注意务必做好快照备份后再操作。 打开注册表中将其重新启用&#xff1a; 依次打开“运行”命令&#xff0c;然后在打开的“运行”对话框中输入 “regedit…

一个简单的记工tkinter窗口

代码分享: 导入datetime模块&#xff0c;用于获取当前日期 import datetime as da 导入csv模块&#xff0c;用于读写csv文件 import csv 导入tkinter模块&#xff0c;用于创建窗口和按钮 from tkinter import * 创建主窗口 appTk() 设置窗口大小为1048x2048&#xff0…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#x…