看板 Electronics 關於我們 聯絡資訊
※ 引述《potatojerry (智)》之銘言: : 請問一下Verilog的case語法,如果選擇的是一個範圍時,要怎麼寫呢? : EX. : always@(sel) : begin : case(sel) : 0: xx : 1: xx : ..... : 100: : endcase : end 排版請好好排 : 若 0~20, 20~50, 50~100三個要選擇的範圍都一樣 : 這樣 : case(sel) : <20: xx : 20<, <50: oo : 50<=, <100: xxx : endcase : 請問可以這樣寫嗎? 還是該怎麼寫呢? : 感謝~ //合成一個....不知道什麼東西的邏輯電路XDDD //它不受clk控制,輸出因輸入改變馬上反應 assign xEn = (sel<20)? 2'b01 : (sel<50)? 2'b10 : 2'b11 ; always@(posedge clk) //合成一個2bit的多工器(再加正反器做時序控制) begin if(xEn == 00) xxx; else if(xEn == 01) oxox; else if(xEn == 10) xoxo; else oo; end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.224.25
sasako:這種寫法會有priority 假如想parallel 還是得換寫法 06/16 08:36
sasako:不過結果會是相同的 06/16 08:36
sasako:要加上clk還是加上reset比較好 不然用nLint檢查語法 會叫錯 06/16 08:40