實現74HC85的功能以及16位數值比較器

2021-10-11 17:07:46 字數 3621 閱讀 1869

——實現74hc85的功能以及16位數值比較器

一、實驗目的

二、實現74hc85的功能

三、用74hc85組成16位數值比較器

//檔名稱:_74hc85.v

//fuchaoxinhust12052020

module _74hc85(i_geq,i_leq,i_eq,a,b,f_geq,f_leq,f_eq);

input [3:0] a,b;

input i_geq,i_leq,i_eq;

output reg f_geq, f_leq, f_eq;

/*說明:

輸入端:i是用於級聯的輸入訊號,[3:0] a,b是輸入的待比較數字;

*/always @(*) begin

// 預設比較時a在前b在後

以串聯拓展為例:

//檔名稱:_74hc85.v

//檔名稱:compare_16.v

//fuchaoxinhust12052020

module _74hc85(i_geq,i_leq,i_eq,a,b,f_geq,f_leq,f_eq);

input [3:0] a,b;

input i_geq,i_leq,i_eq;

output reg f_geq, f_leq, f_eq;

/*說明:

輸入端:i是用於級聯的輸入訊號,[3:0] a,b是輸入的待比較數字;

*/always @(*) begin

// 預設比較時a在前b在後

if (a[3]>b[3]) begin

f_geq=1; f_leq=0; f_eq=0;

endelse if (a[3]b[2]) begin

f_geq=1; f_leq=0; f_eq=0;

endelse if (a[2]b[1]) begin

f_geq=1;

f_leq=0;

f_eq=0;

endelse if (a[1]b[1]) begin

f_geq=1; f_leq=0; f_eq=0;

endelse if (a[1]=0;i=i-1) assign a_0[i]=a[i], b_0[i]=b[i];

for(i=7;i>=4;i=i-1) assign a_1[i-4]=a[i], b_1[i-4]=b[i];

for(i=11;i>=8;i=i-1) assign a_2[i-8]=a[i], b_2[i-8]=b[i];

for(i=15;i>=12;i=i-1) assign a_3[i-12]=a[i], b_3[i-12]=b[i];

//先後執行四位數值比較

_74hc85 u0(i_geq,i_leq,i_eq,a_0,b_0,f_geq[0],f_leq[0],f_eq[0]);

_74hc85 u1(f_geq[0],f_leq[0],f_eq[0],a_1,b_1,f_geq[1],f_leq[1],f_eq[1]);

_74hc85 u2(f_geq[1],f_leq[1],f_eq[1],a_2,b_2,f_geq[2],f_leq[2],f_eq[2]);

_74hc85 u3(f_geq[2],f_leq[2],f_eq[2],a_3,b_3,f_geq[3],f_leq[3],f_eq[3]);

//輸出

assign f_geqq=f_geq[3];

assign f_leqq=f_leq[3];

assign f_eqq =f_eq [3];

endmodule

//檔名稱:test_compare_16.v

//fuchaoxinhust12052020

`timescale 10ns/1ns

module test_cd4532;

reg i_geq,i_leq,i_eq;

reg [15:0] a,b;

wire f_geqq,f_leqq,f_eqq;

compare_16 u0(i_geq,i_leq,i_eq,a,b,f_geqq,f_leqq,f_eqq);//例項化元件

initial

$monitor($time,":\t i_geq=%b, i_leq=%b, i_eq=%b, a=%b, b=%b, f_geqq=%b, f_leqq=%b, f_eqq=%b \n", i_geq,i_leq,i_eq,a,b,f_geqq,f_leqq,f_eqq);

//監視器的顯示內容

initial begin

//使能訊號為0時

i_geq=0; i_leq=0; i_eq=1; a=16'b0010_0000_0000_0000; b=16'b0010_0000_0000_0100;

#5i_geq=0; i_leq=0; i_eq=1; a=16'b1000_0000_0000_0000; b=16'b0100_0000_0000_0000;

#5i_geq=0; i_leq=0; i_eq=1; a=16'b0100_0000_0000_0000;b=16'b0100_0000_0000_0000;

#5//使能訊號為1時

i_geq=0; i_leq=0; i_eq=1; a=16'b0001_0000_0000_0000; b=16'b1000_0000_0000_0000;

#5i_geq=0; i_leq=0; i_eq=1; a=16'b0000_0000_0100_0000; b=16'b0100_0000_0000_0000;

#5i_geq=0; i_leq=0; i_eq=1; a=16'b0000_0000_0000_0001; b=16'b1000_0000_0000_0000;

#5$stop;//停止模擬**

74hc和74ls的區別

74hc和74ls的區別 一 74ls屬於ttl型別的積體電路,而74hc屬於cmos積體電路。ls hc 二者高電平低電平定義不同,hc高電平規定為0.7倍電源電壓,低電平規定為0.3倍電源電壓。ls規定高電平為2.0v,低電平為0.8v。帶負載特性不同。hc上拉下拉能力相同,ls上拉弱而下拉強。...

74HC595的中文資料

74hc595 具有三態輸出鎖存功能的8位序列輸入 序列 並行輸出移位暫存器 本文翻譯自nxp的74hc595的datasheet 74hc595和74hct595是帶有儲存暫存器和三態輸出的8位序列移位暫存器,移位暫存器和儲存暫存器有各自的時鐘。每當移位暫存器輸入時鐘shcp上公升沿來臨之時,資料...

除錯74HC165過程出現的問題

除錯過程很奇怪,記錄下來,作為紀念.1.電路 1 165接6路單刀雙擲開關,公共端接165晶元,常閉端接5v,常開端接地.最高位的2路 d7,d6 直接接地.165晶元5v供電.2 微控制器使用是stm32f103,i o管腳通過9012pnp型三極體,將3.3v轉為5v,控制165晶元的pl端和c...