用Verilog HDL實現計數器 7進位制,遞增計數,非同步清零,同步計數使能和可預置數

2022-02-08 05:11:09 字數 3459 閱讀 4541

1樓:匿名使用者

else if(q1<9) q1<=q1+1;

---->else if(q1<7) q1<=q1+1;......

if(q1==4』h9) cout=1』b1;

---->if(q1==4』h7) cout=1』b1;......

即可!另:當然,原檔案是4-bit的,然而7只要3-bit即可,你可以砍掉一位。4'h,4'b改成3'h,3'b之類的!

dout, q1統統改成3-bit定義與宣告。

bye !

2樓:匿名使用者

modulecnt10 (clk, rst, en,load, cout,dout,data);

input clk,en,rst,load;

input [3:0] data;

output wire [3:0] dout;

output wire cout;

reg[3:0] q1;

always @(posedge clk or negedge rst)

begin

if (!rst)

q1<=0;

else if(en)

begin

if(!load)

q1<=data;

else if(q1<6)

q1<=q1+1;

else

q1<=4』b0000;

endelse

q1 <= q1;

endassign q1 = (q1==4』h6) ? 1『h1 : 1'h0;

assign dout=q1;

endmodule

verilog hdl 設計一個30進位制的減計數器,同步計數,非同步清零,置數,有借位

3樓:匿名使用者

module count(

input clk,

input rst_n,

input clr,

input [9:0]data_set,input set_en,

output reg[9:0] cnt_out);reg [5:0]cnt;

always@(posedge clk or negedge rst_n)begin

if(!rst_n)

cnt_out<=10'd1023;

else if(clr) //同步清零cnt_out<=10'b0;

else if(set_en) //同步置位cnt_out<=data_set;

else if(cnt==29) //30進位制cnt_out<= cnt_out-10'b1;

endalways@(posedge clk or negedge rst_n)begin

if(!rst_n)

cnt<=0;

else if(cnt==29)

cnt<=0;

else

cnt<=cnt+1;

end這就是一個完全符合你的要求的30進位制減計數器

新手求助,verilog hdl要設計一個帶非同步清零和非同步預置的8 位二進位制加法計數器,麻煩看看**哪兒錯了。。

4樓:地下河泳士

8』b11111111,那個 8與b之間的符號打錯了,應該是單引號『 ,你改下在試試,而且你的**是同步復位和置位的,不是非同步的,要想實現非同步需要將always @ (posedge clk)

改成always @ (posedge clk or posedge reset or posedge load)

例外建議在時序的邏輯內部qout=0; cout=1;這些等式都寫成qout<=0; cout<=1;

用verilog程式設計一個具有非同步清零和同步置數功能的十進位制可逆計數器

5樓:love楓葉林

module m10_counter(output reg[3:0]q,

input ce,cp,cr);

always @(posedge cp,negedge cr)if(~cr)q=4'b0000; //????

else if(ce) //ce=1,begin

if(q>=4'b1001)

q<=4'b0000;

else q<=q+1'b1;

endelse q<=q; //??????

endmodule

求大神幫忙寫個verilog hdl** 設計一個具有非同步清零功能的同步計數器

6樓:一系列的門

module(clk, aclr,cunt);

output reg [3:0] cunt;

input clk;

input aclr;

initial begin cunt<= 4'hc; end; //初始狀態設為12

always@(posedge clk or posedge aclr)//把清零訊號rst列在這裡面就代表非同步清零

if(rst) cunt<= 4'hc;

else begin

if(cunt==4'hc) cunt<= 1;

else cunt<= cunt+ 1; endendmodule

7樓:匿名使用者

`timescale 1ns / 1ps

module top(

input clk,

input rst_n,

output reg [3:0] cnt

always@(posedge clk or negedge rst_n)

begin

if(!rst_n)

cnt<=0;

else  if(cnt==0)

cnt<=12;

else if(cnt>=12)

cnt<=1;

else

cnt<=cnt+1;

endendmodule

8樓:等待嫁給

module(clk, aclr,cnt);

output [3:0] cnt;

input clk;

input aclr;

reg [3:0] cnt;

always@(posedge clk or posedge aclr)

begin

if(aclr)

cnt[3:0] <= 4'hc;

else

begin

if(cnt[3:0] == 4'hc)

cnt[3:0] <= 4'h1;

else

cnt[3:0] <= cnt[3:0]+ 1'b1;

endend

endmodule

在用Verilog HDL對計數器進行建模時,非同步置位和同

非同步置位 always posedge sys clk or negedge set begin if set begin end 這裡set必須取反 else begin endend 同步置位 always posedge sys clk begin if set 這裡set可以不用取反 el...

用科學計數法表示

1 10 5 2 10 5 5.67 10 7 自然科學和理工學科有什麼區別?理工學科包括 數學 物理學 化學 生物學 天文學 心理學 地球科學 農業科學 環境學 生態學 工程技術科學 建築學 理工學科是中國初中等教育模式的 稱呼 自然科學是目前世界上人類以宇宙為研究物件的稱呼,後者更自然,更主流....

虛擬儀器設計資料採集系統主要實現那些基本功能

顯示控制器是為了滿足壓力控制系統的需要而設計的,是為了適應電子工程設計課程發展而設計的教學裝置。它主要用於對電子工程設計訓練的第 二 三階段進行改進和擴充,使學生在進行電子工程設計時能有更多的選擇。本文主要論述了資料採集顯示控制器的設計過程,設計方法,以及在設計中所遇到的各種問題以及解決方法。資料採...