使用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这个包集。上面给出了有符号数进行比较的方法,对于无符号数,只需要更改输入数据的数据类型就可以了。

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

相关推荐

  1. FPGA】篮球比赛计分

    2024-04-22 12:14:06       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 12:14:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 12:14:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 12:14:06       82 阅读
  4. Python语言-面向对象

    2024-04-22 12:14:06       91 阅读

热门阅读

  1. python scrapy 爬取豆瓣电影top250教程2

    2024-04-22 12:14:06       32 阅读
  2. 流量控制和差错控制

    2024-04-22 12:14:06       35 阅读
  3. 动规之377. 组合总和 Ⅳ

    2024-04-22 12:14:06       29 阅读
  4. 买卖股票的最佳时机

    2024-04-22 12:14:06       29 阅读
  5. docker入门

    2024-04-22 12:14:06       31 阅读
  6. UTC和RTC 以及本机时间

    2024-04-22 12:14:06       30 阅读
  7. 探索PyTorch与深度学习:从入门到应用

    2024-04-22 12:14:06       33 阅读
  8. ES Master 和data节点分别的职责

    2024-04-22 12:14:06       34 阅读