[問題] verilog基本簡單的updown counter

看板Programming作者 (章魚)時間13年前 (2012/08/05 17:40), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
module Counter(clk,rst,slect,out); input [1:0]slect; input clk,rst; output [9:0]out; reg [9:0]out; always@(slect) begin if(slect==2'd0) always@(posedge clk) begin if(rst) begin out=10'd0; end else if(out==10'd1023) begin out=10'd0; end else begin out=out+1'd1; end end if(slect==2'd1) always@(posedge clk) begin if(rst) begin out=10'd1023; end else if(out==10'd0) begin out=10'd1023; end else begin out=out-1'd1; end end if(slect==2'd3) always@(posedge clk) begin if(rst) begin out<=10'd0; end else if(out!=10'd1023) out<=out+1'd1; end else(out!=10'd0) out<=out-1'd1; end end end end module 條件我假設是可以讓他 1.往上數到1023 2.往下數到0 3.0~1023~0這樣數 可是compile不過 我是新手一直苦無解答QQ 不知道有沒有人能幫幫我 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.131.177

08/05 18:36, , 1F
錯誤訊息是甚麼?
08/05 18:36, 1F

08/05 18:48, , 2F
我把end module改成endmodule
08/05 18:48, 2F

08/05 18:48, , 3F
就可以了耶XD
08/05 18:48, 3F

08/09 17:53, , 4F
08/09 17:53, 4F

08/09 17:53, , 5F
always裡面放always應該是不行的吧
08/09 17:53, 5F
文章代碼(AID): #1G7Zzqvc (Programming)
文章代碼(AID): #1G7Zzqvc (Programming)