寫在前面的小知識:
74hc160是應用最廣泛的時序邏輯器件,分為同步計數器和非同步計數器兩大類。計數器根據計數容量又可分為二進位制、十進位制和其它進製計數器,根據計數方式又可分加法、減法和加/減計數器三種型別。74hc160為常用的同步十進位制計數器
1.74hc160
module hc160
(clk,rd_n,ld_n,ep,et,d,q,co)
; input clk;
input rd_n,ld_n,ep,et;
input [3:
0] d;
output reg [3:
0] q;
output co;
assign co =
((q ==
4'b1001)
&et)
;// 進製邏輯
always @(posedge clk or negedge rd_n)
// 計數邏輯if(
!rd_n)
q <=
4'b0000;
elseif(
!ld_n)
q <= d;
else
if(ep & et)
if(q==
4'b1001)
q <=
4'b0000;
else
q <= q +
1'b1;
endmodule
2.74hc161
module hc161
(clk,rd_n,ld_n,ep,et,d,q,co)
; input clk;
input rd_n,ld_n,ep,et;
input [3:
0] d;
output reg [3:
0] q;
output co;
assign co =
((q ==
4'b1111)
& et)
;// 進製邏輯
always @(posedge clk or negedge rd_n)
// 計數邏輯 非同步復位if(
!rd_n)
q <=
4'b0000;
elseif(
!ld_n)
q <= d;
else
if(ep & et)
if(q==
4'b1111)
q <=
4'b0000;
else
q <= q +
1'b1;
endmodule
3.74hc162
module hc162
(clk,rd_n,ld_n,ep,et,d,q,co)
; input clk;
input rd_n,ld_n,ep,et;
input [3:
0] d;
output reg [3:
0] q;
output co;
assign co =
((q ==
4'b1001)
& et)
;// 進製邏輯
always @(posedge clk)
// 計數邏輯 同步復位if(
!rd_n)
q <=
4'b0000;
elseif(
!ld_n)
q <= d;
else
if(ep & et)
if(q==
4'b1001)
q <=
4'b0000;
else
q <= q +
1'b1;
endmodule
對於時序電路來說,**相比組合電路要苦難一些,先設定好使能端的電平,在設定clk,之後觀察輸出,當經過乙個clk時,加一,加滿後,c進製端輸出乙個高電平。
總結:74hc160/162為常用的同步十進位制計數器,74hc161/163為常用的同步十六進製制計數器。hc160/161和hc162/163管腳排列完全相同,所不同的是,74hc160/161為非同步復位,74hc162/163為同步復位。同步復位是需要時鐘脈衝的有效沿到來,才可進行復位操作,而非同步復位不需要時鐘脈衝,當復位訊號的有效沿來臨時直接進行復位,因此兩者在**的編寫上具有差異。
Verilog HDL實戰操作 組合電路設計
寫在前面的小知識 解碼器將 重新翻譯為高 低電平訊號。74hc138是3線 8線解碼器,用於將3位二進位製碼翻譯成8個高 低電平訊號,解碼器也可以採用行為描述 資料流描述和結構描述等多種方式進行描述。顯示解碼器cd4511是特殊的解碼器,用於將bcd翻譯成七段碼,以驅動數碼管顯示數字資訊。是bcd顯...
實戰 陣列操作
要求 定義乙個陣列操作類 array類 在這個類裡面可以進行整型陣列的操作 由外部類傳入陣列的大小,實現資料的儲存以及資料的輸出 在這個類派生出兩個子類 範例 基礎實現 執行結果 定義乙個排序陣列的子類 class sortarray extends array 因為父類中的getdata 方法不夠...
Oracle 實戰操作
在工作中經常會遇到一些情況,需要匯出或者備份你的資料庫,並且在需要的時候再進行匯入,或者建立乙個新的工作空間指定給乙個新的使用者。1.匯出使用者下的所有表結構exp 使用者名稱 密碼 資料庫ip 若沒有則可以省略 資料庫例項 file 檔案儲存路徑 full y dba許可權下需要寫。例子 exp ...