標(biāo)題:
8位Johnson計(jì)數(shù)器的Verilog建模
[打印本頁]
作者:
bibi
時(shí)間:
2015-4-19 01:34
標(biāo)題:
8位Johnson計(jì)數(shù)器的Verilog建模
約翰遜(Johnson)計(jì)數(shù)器又稱扭環(huán)計(jì)數(shù)器,是一種用n位觸發(fā)器來表示2n個(gè)狀態(tài)的計(jì)數(shù)器。它與環(huán)形計(jì)數(shù)器不同,后者用n位觸發(fā)器僅可表示n個(gè)狀態(tài)。2~n進(jìn)制計(jì)數(shù)器(n為觸發(fā)器的個(gè)數(shù))有2~n個(gè)狀態(tài)。若以四位二進(jìn)制計(jì)數(shù)器為例,它可表示16個(gè)狀態(tài)。但由于8421碼每組代碼之間可能有二位或二位以上的二進(jìn)制代碼發(fā)生改變,這在計(jì)數(shù)器中特別是異步計(jì)數(shù)器中就有可能產(chǎn)生錯(cuò)誤的譯碼信號(hào),從而造成永久性的錯(cuò)誤。而約翰遜計(jì)數(shù)器的狀態(tài)表中,相鄰兩組代碼只可能有一位二進(jìn)制代碼不同,故在計(jì)數(shù)過程中不會(huì)產(chǎn)生錯(cuò)誤的譯碼信號(hào)。鑒于上述優(yōu)點(diǎn),約翰遜計(jì)數(shù)器在同步計(jì)數(shù)器中應(yīng)用比較廣泛。
8位Johnson計(jì)數(shù)器的Verilog建模:
module count(rst_n,clk,out); input rst_n,clk; output out;
reg [7:0] out;
always @(posedge clk) begin
if(!rst_n)
out <= 8'b0;
else
begin
out[0] <= ~out[7];
out[7:1] <= out[6:0]; end
end
endmodule
激勵(lì)
module sti;
reg clk,rst_n;
wire [7:0] out;count test(rst_n,clk,out);
initial
clk = 8'b0;
always
#10 clk = ~clk;
initial
begin
rst_n = 1;
#50 rst_n<=0;
end
endmodule
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1