在數(shù)字 IC 設(shè)計(jì)中,總是需要對(duì)一些數(shù)據(jù)進(jìn)行 大小的比較 ,例如比較兩個(gè)或者三個(gè)以上的數(shù)據(jù)的大小,接著進(jìn)行排序,最終輸出等等。于是, 比較器 (Comparator)的數(shù)字邏輯電路就應(yīng)運(yùn)而生。
基于 8 位的數(shù)值比較器的 Verilog 代碼和 RTL 電路
module Comparator(
input wire [7:0] a , // 比較數(shù)
input wire [7:0] b , // 比較數(shù)
output reg result, // 比較結(jié)果
output reg equal // 比較結(jié)果
);
// 行為描述
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
// 數(shù)據(jù)流描述
// assign equal = (a == b) ? 1 : 0;
// assign result = (a > b) ? 1 : 0;
endmodule
代碼詳解
對(duì)兩個(gè)**** 8 比特二進(jìn)制輸入信號(hào)的大小進(jìn)行判斷:如果 a 比較大,則 out 輸出高電平;如果 b 比較大,則 out 輸出低電平;如果 a 和 b 大小相等,那么,則 equal 輸出高電平,否則 equal 輸出低電平。
對(duì)于比較器的應(yīng)用呢,其實(shí),比較器在現(xiàn)實(shí)生活中也可以作為過濾器來使用。比如我們?cè)诮y(tǒng)計(jì)成績(jī)的時(shí)候,要把不及格的學(xué)生過濾掉,那么我們就可以利用比較器,過濾掉成績(jī)不及格的學(xué)生。當(dāng)輸入的成績(jī)小于 60 分的時(shí)候就不輸出顯示出來,那么最后統(tǒng)計(jì)出來的都是成績(jī)合格的學(xué)生。
-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
37文章
1287瀏覽量
103434 -
比較器
+關(guān)注
關(guān)注
14文章
1614瀏覽量
106831 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
761瀏覽量
41475 -
過濾器
+關(guān)注
關(guān)注
1文章
419瀏覽量
19381 -
數(shù)字邏輯電路
+關(guān)注
關(guān)注
0文章
100瀏覽量
15743
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論