比较器的澳门在线代码

在这个项目中,一个简单的2位 比较器 是在 澳门在线 高密度脂蛋白。给出了真值表,K-Map和比较器的最小化方程。比较器的澳门在线代码由ModelSim仿真,并给出了仿真波形。


比较器的澳门在线代码


2位比较器的规格如下:

  • 输入:2位A和B用于比较
  • 输出:
    • A_greater_B:如果A高> B else low
    • A_equal_B:如果A = B,则为高,否则为低
    • A_less_B:如果为A,则为高<B else low
比较器的真值表:


A1
A0
B1
B0
A_greater_B
A_equal_B
A_less_B
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
1
1
1
0
1
0

K-Map表和比较器的相应方程式:



A_greater_B
A1A0
00

01

11

10
B1B0
00
0
1
1
1
01
0
0
1
1
11
0
0
0
0
10
0
0
1
0

A_greater_B = B0 B1 A0 + B1 A1 + A1 A0 B0
= A0 B0 (B1 + A1)+ + B1 A1



A_equal_B
A1A0
00


01


11


10
B1B0
00
1
0
0
0
01
0
1
0
0
11
0
0
1
0
10
0
0
0
1

A_equal_B = (B1 A1+A1 B1) (B0 A0+A0 B0)



A_less_B
A1A0
00


01


11


10
B1B0
00
0
0
0
0
01
1
0
0
0
11
1
1
0
1
10
1
1
0
0

A_less_B = A0 A1 B0 + A1 B1 + B1 B0 A0

在获得比较器输出的最小化方程后,很容易为比较器编写澳门在线代码。

下面是比较器的澳门在线代码:

 // FPGA projects using 澳门在线/ VHDL  
 // hzgifts.cn : FPGA projects, 澳门在线 projects, VHDL projects
 // 2位比较器的澳门在线代码   
 module comparator(input [1:0] A,B, output A_less_B, A_equal_B, A_greater_B);  
 wire tmp1,tmp2,tmp3,tmp4,tmp5, tmp6, tmp7, tmp8;  
 // A = B output   
 xnor u1(tmp1,A[1],B[1]);  
 xnor u2(tmp2,A[0],B[0]);  
 and u3(A_equal_B,tmp1,tmp2);  
 // A less than B output   
 assign tmp3 = (~A[0])& (~A[1])& B[0];  
 assign tmp4 = (~A[1])& B[1];  
 assign tmp5 = (~A[0])& B[1]& B[0];  
 assign A_less_B = tmp3 | tmp4 | tmp5;  
 // A greater than B output   
 assign tmp6 = (~B[0])& (~B[1])& A[0];  
 assign tmp7 = (~B[1])& A[1];  
 assign tmp8 = (~B[0])& A[1]& A[0];  
 assign A_greater_B = tmp6 | tmp7 | tmp8;  
 endmodule   
 `timescale     10 ps/ 10 ps  
 // FPGA projects using 澳门在线/ VHDL  
 // hzgifts.cn  
 // 澳门在线 testbench code for 2-bit comparator   
 module tb_comparator;  
 reg [1:0] A, B;  
 wire A_less_B, A_equal_B, A_greater_B;  
 integer i;  
 // device under test  
 comparator dut(A,B,A_less_B, A_equal_B, A_greater_B);  
 initial begin  
      for (i=0;i<4;i=i+1)  
      begin   
           A = i;  
           B = i + 1;  
           #20;  
      end   
      for (i=0;i<4;i=i+1)  
      begin   
           A = i;  
           B = i;  
           #20;  
      end   
      for (i=0;i<4;i=i+1)  
      begin   
           A = i+1;  
           B = i;  
           #20;  
      end   
 end   
 endmodule   

最后,在ModelSim中仿真澳门在线代码和测试平台,并通过仿真波形验证比较器的运行。 

2位比较器的澳门在线代码

通过观察波形,比较器的澳门在线代码可以正常工作。 


推荐的 澳门在线 projects:
2. FIFO存储器的澳门在线代码
3. 用于16位单周期MIPS处理器的澳门在线代码
4. 澳门在线 HDL中的可编程数字延迟计时器
5. 用于数字电路中基本逻辑组件的澳门在线代码
6. 用于32位无符号除法器的澳门在线代码
7. 用于定点矩阵乘法的澳门在线代码
8. 澳门在线 HDL中的车牌许可证识别
9. 提前进位乘法器的澳门在线代码
10。 微处理器的澳门在线代码
11。 4x4乘法器的澳门在线代码
12 停车场系统的澳门在线代码
13 使用澳门在线 HDL在FPGA上进行图像处理
14。 如何使用澳门在线 HDL将文本文件加载到FPGA中
15 交通信号灯控制器的澳门在线代码
16。 FPGA上的闹钟的澳门在线代码
17。 比较器设计的澳门在线代码
18岁 D触发器的澳门在线代码
19 完整加法器的澳门在线代码
20 带testbench的计数器的澳门在线代码
21 16位RISC处理器的澳门在线代码
22 用于在FPGA上反跳按钮的澳门在线代码
23。 如何为双向/输入端口编写澳门在线 Testbench
28岁 解码器的澳门在线代码
29。 复用器的澳门在线代码
30岁  澳门在线中的N位加法器设计
31。 澳门在线和VHDL:通过示例解释
32。 FPGA上时钟分频器的澳门在线代码
33。  如何在澳门在线中生成时钟使能信号
34。 用于PWM发生器的澳门在线代码
35岁 澳门在线编码与软件编程
FPGA 澳门在线 VHDL课程

1条评论:

热门FPGA项目