找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2898|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

FPGA學(xué)習(xí)總結(jié)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-26 21:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
       第一次從寫Verilog HDL 到仿真,感覺(jué)Quartus ii有點(diǎn)難用,挺麻煩的,關(guān)于那些亂七八糟的設(shè)置也是不懂。

       第一次寫的是老師布置的有限狀態(tài)機(jī)實(shí)現(xiàn)序列檢測(cè)器。參考了好多Verilog HDL其它模塊的程序才把整個(gè)程序?qū)懗鰜?lái),因?yàn)閷?duì)基本語(yǔ)法還是很不適應(yīng),雖然和C很像,但有很多不同,特別是并發(fā),搞得自己在具體程序中很難轉(zhuǎn)變概念。

       寫出來(lái)的程序仿真不對(duì),在序列末的前一位就輸出值了,這肯定是不正常的,到程序里看感覺(jué)是最后一個(gè)狀態(tài)的處理出了問(wèn)題

       always@(current_state or SeqIn)

       begin

              case(current_state)

              S3:   if(SeqIn==67) //'C'

                     begin

                            Detected=1'b1;

                     end



              default:   

                     begin

                            Detected=1'b0;

                     end

              endcase

       end

但是怎么檢查都發(fā)現(xiàn)不了問(wèn)題。更改了條件語(yǔ)句的值發(fā)現(xiàn)還是有問(wèn)題,證明IF語(yǔ)句根本就沒(méi)執(zhí)行,可是Detected卻被賦值了,想了半天可能是沒(méi)羅列所有情況的原因,于是加入一句

                     else

                     begin

                            Detected=1'b0;

                     end

問(wèn)題解決了。應(yīng)該就是老師總說(shuō)的防止觸發(fā)器的產(chǎn)生,但具體怎么造成錯(cuò)誤的還是沒(méi)搞懂,以后得好好研究下。

       另外一個(gè)感覺(jué),這個(gè)EDA編譯、仿真太慢了。這個(gè)程序出來(lái)也才用14個(gè)LE,和其他很少的資源,編譯也需要好一會(huì)兒,尤其是調(diào)試極不方便,改一個(gè)值就要編譯等上好一會(huì)兒。

       在功能仿真的時(shí)候,老是提示沒(méi)產(chǎn)生功能仿真網(wǎng)表,然后要打開仿真工具產(chǎn)生,也不知道為什么。

       開始學(xué)習(xí)的時(shí)候覺(jué)得應(yīng)該不是很難,現(xiàn)在的情況讓我很是憂慮啊。得好好努力了。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表