數(shù)字IC手撕代碼-XX公司筆試真題(數(shù)據(jù)流最大值)
題目描述
????????已知一段數(shù)據(jù)流 data 輸入,在 datain_ena 為高時有效時,請將這段數(shù)據(jù)流的最大次大值 選出,在一段 datain_ena 結(jié)束之后給出相應(yīng)的結(jié)果 max,submax 和結(jié)果使能 dataout_ena。
解題思路
????????這道題比較簡單,比較大小,要注意的就兩個點:
? ? ? ? ① 當(dāng)輸入的datain不超過兩個時,dataout_ena不能拉高,只有輸入至少兩個數(shù)時,才有max和submax均有意義。
? ? ? ? ② 考慮所有可能情況,輸入的數(shù)據(jù)比max大時,將max替換為datain,submax替換為max即可;當(dāng)輸入數(shù)據(jù)等于max時,將submax數(shù)據(jù)替換為datain,這樣有max=submax(看題意理解,可以可以不這么做);當(dāng)輸入數(shù)據(jù)小于max但大于等于submax時,將submax替換為datain;當(dāng)輸入數(shù)據(jù)小于submax時,什么都不做。
代碼
testbench
波形

?從波形可以看到,輸入兩個datain之后dataout_ena才會拉高。滿足所有考慮的情況。
標(biāo)簽: