verilog HDL問題,verilog hdl 問題

2022-02-02 14:32:13 字數 2139 閱讀 2417

1樓:

warning裡面提示你if的結構用的不對,形成loop,並且要保證每一個if都要對應合理的else,你這個設計可能就是這方面沒有對應好,形成鎖存了吧,我把你的程式改了一下,用三元運算子?:代替if-else,程式如下:

module test(cp,set,reset,q);

input cp,set,reset;

output reg[4:0]q;

always@(posedge cp or negedge set or negedge reset)

if(reset==0)

q <= 5'd0;

else

q <= (set == 1'b0) ? q - 5'd1 : (q == 5'd23) ? 5'd0 : q + 5'd1;

endmodule

2樓:fpga_cpld_大神

or negedge set or negedge reset 你可以把這句去掉,做成同步復位的,然後你在編譯復位,這樣子應該可以了

3樓:匿名使用者

你是想在set下降沿的時候讓q自減1嗎?

verilog hdl 問題

4樓:雙宿雙棲

這裡and是內建門原語,相當於一個模組,c、d是輸入,o2是輸出,等價於assign o2=c&&d

5樓:匿名使用者

c與d進行邏輯與,結果送給o2

verilog hdl 的相關問題

6樓:匿名使用者

%是取模,就是餘數,/是算商數。

signed constant關鍵在於計算順序,和2補碼。舉例說第一個式子應該是

(-(4『d12))%3.= (-(4』b1100))%3= 4'b100%3=1

第二個4』sd12=-4,-4『sd12=-(-4)=4第三個'sd12=32'd12,不寫位數認為是32bit。

7樓:匿名使用者

module traffic_lights u1(.on( ),

.off( ),

.red_tics( ),

.amber_tics( ),

.green_tics( ),

.clock (),

.red( ),

.amber( ),

.green( ));

在程式中呼叫的話,以上這塊要放到呼叫該程式的程式當中,然後再括號中寫入wire型中間量(用來連線呼叫,被呼叫模組的,參考一下「例化」),u1是可以為被呼叫的模組起的工程名,當用多個被呼叫的模組時必須起工程名,可以隨意起。

這個被呼叫的模組的輸入就是其他程式要給你的訊號。輸出就是其他程式要用的這個程式輸出訊號。

有點說不清,看看書上的例化吧,很簡單的。

8樓:怪味瓜

程式有很多註釋掉很多不該註釋的東西(介面基本都被註釋了),最主要的是#100 clock=0;#100 clock=1;這種語句在quartus下是不能被綜合的的,只能在modelsim下才能編譯通過。

verilog hdl綜合時出現的問題

9樓:匿名使用者

module syn裡面呼叫了module ad9777_ctr 那你怎麼寫module syn在前面??? 應該寫在後面

10樓:匿名使用者

應該是順序問題,但向這種推薦還是將ad9777_ctr模組作為一個工程另存,這樣只要保證相互對應關係就不會出現順序上的問題,程式檔案還好管理。

11樓:禽獸n代

flag的判斷有問題,最外層的if判斷了flag==1,為什麼到內層了還要判斷flag呢?所以提示你muti-source啊

12樓:匿名使用者

應該是你在兩個不同的always塊中對flag賦值了

verilog hdl 語言開發環境問題

13樓:匿名使用者

fpga就相當於你用vc6.0的pc一樣,提供一個硬體環境

hdl就是你用的vc了

VER模型是什麼意思,手辦ver2什麼意思

ver模型 ecological value at risk 將生態服務價值的定量化與生態風險分析的數學模型相結合,可以進行基於生態服務價值的生態風險分析研究。手辦ver.2什麼意思 手辦 也有叫首辦或者手版 經常會被用作指人形.但其真正意義上的手辦都是表現原型師個性的garage kit 簡稱gk...

有關verilog HDL語言的

你這樣分析這個真值表 1 在q 0,即clr為低有效時,和clk的狀態無關 因為是clk是x 說明clr是非同步低有效,所以有always negedge clr 2 q其他情況有效時,都在clk是上升沿時,加上1 裡面的,最後是 always negedge clr or posedge clk ...

為什麼verilogHDL定義變數寬度時,有時寫

0 7 高位在右邊 7 0 高位在左邊 verilog裡面,變數wire 7,0 a 跟wire 8,1 a 第二個數字是什麼意思?是一樣的嗎?為什麼有這樣的表示?首先要指出的是wire 7,0 a和wire 8,1 a這樣的表達在verilog中是錯誤的,應該寫成wire 7 0 a和wire 8...