FPGA - 4位数值比较器电路

4位数值比较器电路

描述

某4位数值比较器的功能表如下。

请用Verilog语言采用门级描述方式,实现此4位数值比较器

输入描述:

    input        [3:0]           A       ,
    input        [3:0]           B       

输出描述:

    output   wire            Y2    , //A>B
    output   wire            Y1    , //A=B
    output   wire            Y0      //A<B

分析:

这里要注意题目的“门级描述方式”,所以我们只能使用基本门电路:&,|,!,^,^~。

门级描述,无非就是将<,>,==三个符号用门级电路来表示,然后根据行为级描述进行替换。

        a == b  --> ~(a^b)

        a > b --> (a^b)&a

        a < b --> (a^b)&b

行为级描述就是从最高位依次比较。

对于Y1; A = B

A[3] = B[3], A[2] = B[2], A[1] = B[1], A[0] = B[0],

如何描述呢?(^异或,相同为0,不同为1

即 :

assign Y1 = ~(A[0]^B[0]) & ~(A[1]^B[1]) & ~(A[2]^B[2]) & ~(A[3]^B[3]);

所以这道题的解题代码为:

`timescale 1ns/1ns

module comparator_4(
	input	[3:0]        A   	,
	input	[3:0]		 B   	,
 
 	output	 wire		 Y2     , //A>B
	output   wire        Y1     , //A=B
    output   wire        Y0       //A<B
);
	assign Y1 = ~(A[0]^B[0]) & ~(A[1]^B[1]) 
				& ~(A[2]^B[2]) & ~(A[3]^B[3]);
	assign Y2 = ((A[3]^B[3])&A[3]) 
				| ~(A[3]^B[3]) & ((A[2]^B[2])&A[2])
				| ~(A[3]^B[3]) & ~(A[2]^B[2]) & ((A[1]^B[1])&A[1])
				| ~(A[3]^B[3]) & ~(A[2]^B[2]) & ~(A[1]^B[1] )& ((A[0]^B[0])&A[0]);
	assign Y0 = ((A[3]^B[3])&B[3]) 
				| ~(A[3]^B[3]) & ((A[2]^B[2])&B[2])
				| ~(A[3]^B[3]) &  ~(A[2]^B[2]) & ((A[1]^B[1])&B[1])
				| ~(A[3]^B[3]) &  ~(A[2]^B[2]) & ~(A[1]^B[1] )& ((A[0]^B[0])&B[0]); 
endmodule

相关推荐

  1. FPGA】篮球比赛计分

    2024-06-09 08:36:01       51 阅读

最近更新

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

    2024-06-09 08:36:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-09 08:36:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-09 08:36:01       82 阅读
  4. Python语言-面向对象

    2024-06-09 08:36:01       91 阅读

热门阅读

  1. DevOps的原理及应用详解(七)

    2024-06-09 08:36:01       26 阅读
  2. 03-3.4.1~2队列的应用

    2024-06-09 08:36:01       36 阅读
  3. UI与前端:揭秘两者的微妙差异

    2024-06-09 08:36:01       29 阅读
  4. 设计模式及其在软件开发中的应用

    2024-06-09 08:36:01       30 阅读
  5. 《数据库原理与应用》

    2024-06-09 08:36:01       30 阅读
  6. AI革命下的下一代硬件设备展望

    2024-06-09 08:36:01       33 阅读
  7. 速盾:重生之我在做高防cdn

    2024-06-09 08:36:01       29 阅读
  8. 微信小程序:实现按钮跳转到非tabbar页面

    2024-06-09 08:36:01       26 阅读
  9. Sass前端变量:深度探索与高效运用

    2024-06-09 08:36:01       30 阅读
  10. 前端面试题日常练-day59 【面试题】

    2024-06-09 08:36:01       30 阅读