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 自然科學和理工學科有什麼區別?理工學科包括 數學 物理學 化學 生物學 天文學 心理學 地球科學 農業科學 環境學 生態學 工程技術科學 建築學 理工學科是中國初中等教育模式的 稱呼 自然科學是目前世界上人類以宇宙為研究物件的稱呼,後者更自然,更主流....
虛擬儀器設計資料採集系統主要實現那些基本功能
顯示控制器是為了滿足壓力控制系統的需要而設計的,是為了適應電子工程設計課程發展而設計的教學裝置。它主要用於對電子工程設計訓練的第 二 三階段進行改進和擴充,使學生在進行電子工程設計時能有更多的選擇。本文主要論述了資料採集顯示控制器的設計過程,設計方法,以及在設計中所遇到的各種問題以及解決方法。資料採...