¢一暫存器,當正向時脈(clock)來的時候,
reset 訊號為1 ,暫存器值則清為 0
enable 訊號為0,暫存器值維持不變
enable 訊號為1,c_ld訊號為1,暫存器值則 +1
enable 訊號為1, c_ld訊號為0,暫存器值會載入新值
// 請依以下 輸出輸入 為主,再加入功能
reset 訊號為1 ,暫存器值則清為 0
enable 訊號為0,暫存器值維持不變
enable 訊號為1,c_ld訊號為1,暫存器值則 +1
enable 訊號為1, c_ld訊號為0,暫存器值會載入新值
reset |
enable |
c/ld |
Q |
1 |
x |
x |
0 |
0 |
0 |
x |
Q |
0 |
1 |
1 |
Q+1 |
0 |
1 |
0 |
D |
// 請依以下 輸出輸入 為主,再加入功能
module SpecReg(Q, clock, reset, c_ld, enable, D)
output [7:0] Q;
input clock, reset, c_ld , enable;
input [7:0] D;
Verilog HDL Code :
module Verilog1(Q, clock, reset, c_ld, enable, D);
output [7:0] Q;
input clock, reset, c_ld , enable;
input [7:0] D;
reg [7:0] Q;
always @(posedge clock)
if(reset)
Q<=0;
else
begin
if(enable)
begin
if(c_ld)
Q<=Q+1;
else
Q<=D;
end
end
endmodule
模擬圖:
source code : download
文章標籤
全站熱搜