FPGA Verilog語法問題

2021-05-02 11:30:16 字數 1390 閱讀 4674

1樓:

在定義led_r時給個初值看看, led_r[3:0]=4'b0000; 若還不行說明硬體電路導致的上電次序有問題, 有擾動或其它;

always裡有同步復位,非同步復位,上升沿復位,下降沿復位. 如果rst_n沒有列在觸發例表裡, 你可以隨便用if(rst_n)或if(!rst_n),這是非同步復位.

但你寫了例表意味著同步復位,所以就得用always @(posedge rst_n), 監測到rst_n上升沿執行下面程式.

"監測到下降沿時,如果訊號為高", 這是永遠也不存在的邏輯狀態,所以有warning或error.

另外verilog應該有現成的移位運算子,包括邏輯左右移,算術左右移, 你查查,並確切掌握它.

2樓:匿名使用者

if(!rst_n) led_r <= 4'b0001;相當於led初始值賦值是1,不必糾結第一個時鐘他到底是從4『b0變成4』b1還是其他的。

第二個問題是,rst_n為高時為什麼led值還是1,這個要看else if中條件是否滿足了,如果還沒有滿足就相當於一個鎖存器期,posedge clk時 led《=led,所以led的值沒有變,當else if中條件滿足時led被賦新的值

問個關於在學習fpga/verilog語言中的問題

3樓:

怎麼掌握哪些是不可綜合語句

其實在語法書裡面就有說了,不過隨著技術發展,像過去不可綜合a*b,現在很多綜合器都會自己呼叫乘法器模組來進行(fpga綜合)。多想想自己寫的rtl**描述的是什麼電路,綜合出來是什麼樣子,就會明白了。

還有就是一開始學習時是不是多做些簡單器件的**模型 瞭解軟體常用功能 和完整設計流程嗎?

多做做實驗,從最簡單的跑馬燈開始到難的sdram控制等,多做實驗,上板子除錯,經驗自然就有了。

流程也必須重視。、

謝謝,有問題在聯絡

4樓:

並不是語句不可綜合,而是要看你寫的內容能不能被綜合軟體所轉換成邏輯閘.比如說initial 語句有的書上說是不可綜合的,但是你用來給暫存器賦初值是可以的.而比如說你一個暫存器使用了阻塞賦值<=之後,再使用非阻塞賦值=,那麼又不可綜合.

有的語句是用於測試的,那麼這樣的語句是不可綜合的,比如延時的語句# ,還有forever,等等,你可以去借本書過來看看.

講穿了verilog語言其實很簡單的,但是你會寫語言不代表你會設計,關鍵是在設計之前,你就要大致弄明白你所寫的語言綜合出來是個什麼東西.對數位電路一定要比較精通,對狀態機,組合邏輯,時序邏輯這些基本概念要弄清楚.

個人認為學習fpga關鍵還是要做實驗,行為級**不能說明問題,而且會把你帶入一個誤區,認為**做出來就行了,其實**離真正的能用還差了很遠.最好弄個開發板來做實驗,沒有的話做做時序**.

日語語法問題,日語語法問題 考

這句話本身就是要在 之後停頓一下啊,並不是一氣兒說完的。在書寫的時候可以直接加上逗號。豚肉 卵 親子 他人 豬肉和雞蛋並非親子關係,因為之間沒有關係 日語語法問題 考 考 是動詞bai 考 du 助動詞 zhi而構成使役動詞dao形式。意思為 回讓 我 考慮答 想一下 動詞 的具體形式為 動詞的 形...

日語語法問題簡單的日語語法問題

下班前最後答一題!第一句的順序是2413 意思是稍微思考一下的話,就能明白剛才的話是開玩笑的,但單純的他卻相信了。第二句的順序是1423 意思是這種植物生命力很強,只要不忘了澆水的話,就能茁壯成長。是否定的假定用法 表示如果不怎麼怎麼樣的話 是句型 表示只要怎麼怎麼樣的話 1.2431 稍微想想就知...

英語語法問題,英語語法問題,

可以bai理解為後置定語,people是集合du名詞,zhi一般作複數使用 dao,所以如果是一般回現在時,也可以理 答解為 who are invited to the party.如果是過去式,則為who were invited to the party.受邀參加聚會的人們。people in...