一位比较器,数值比较器的作用和原理是什么?
一、数值比较器的定义及功能
在数字系统中,特别是在计算机中都具有运算功能,一种简单的运算就是比较两个数A和B的大小。数值比较器就是对两数A、B进行比较,以判断其大小的逻辑电路。比较结果有A>B、A<B以及A=B三种情况。
1.一位数值比较器
1位数值比较器是多位比较器的基础。当A和B都是1位数时,它们只能取0或1两种值,由此可写出1位数值比较器的真值表:
由真值表得到如下逻辑表达式:
由以上逻辑表达式可画出如下图所示的逻辑电路。实际应用中,可根据具体情况选用逻辑门。
下面是实现的代码
1、门级描述
module compare_test;
wire AgtB, AeqB, AltB;
reg A, B;
initial
begin
A=0;B=0;
#10 A=0;B=1;
#10 A=1;B=0;
#10 A=1;B=1;
#10 $stop;
end
compare compare_test (AgtB, AeqB, AltB, A, B);
endmodule文章来源:https://www.toymoban.com/news/detail-448688.html
2、数据流级描述
module compare_df(
input A,B,
output wire AgtB, AeqB, AltB);
assign AgtB=(A*~B);
assign AeqB=(A*B)|(AB);
assign AltB=(~AB);
endmodule
3、行为级描述
module Comparator(
input wire [7:0] a, // ⽐较数
input wire [7:0] b, // ⽐较数
output reg result, // ⽐较结果
output reg equal // ⽐较结果
);
// ⾏为描述
always @(a or b) begin
if(a > b)
{equal,result} <= 2’b01; // a ⽐ b ⼤
else begin
if(a < b)
{equal,result} <= 2’b00; // a ⽐ b ⼩
else
{equal,result} <= 2’b10; // 相等
end
end
endmodule
之后用Quartus和modelsim仿真,仿真结果如下。
文章来源地址https://www.toymoban.com/news/detail-448688.html
到了这里,关于一位比较器【模电实验】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!