【開(kāi)源騷客】FPGA超詳細(xì)入門(mén)視頻教程—FPGA就業(yè)培訓(xùn)超值視頻

知者不言,言者不知。
學(xué)習(xí):現(xiàn)實(shí)操作<-->抽象理論(勾通)
現(xiàn)實(shí)操作,就是指quartus、modelsim里的操作,抽象理論就是指普通教科書(shū)上的內(nèi)容,這些東西大多十分抽象,沒(méi)有結(jié)合軟件操作來(lái)講,經(jīng)常讓人云里霧里,不能將書(shū)上的理論和現(xiàn)實(shí)的操作聯(lián)系起來(lái)。
————————————————————
我學(xué)過(guò)verilog語(yǔ)言,但不系統(tǒng),這個(gè)視頻很基礎(chǔ),所以我只是學(xué)并記錄一些自己不熟悉不知道的東西。
————P3————
輸入端口只有wire型,無(wú)reg型
————P4————
時(shí)間單位/時(shí)間精度(類(lèi)比直尺的1cm、1mm)
Ctrl+A:全選
Ctrl + G:智能分組
————P5————
1.條件運(yùn)算符的嵌套:
assign data_c = (sel_a==0) ? ( (sel_b==0)?data_a:0 ) : ( (sel_b==1)?data_b:0 )
2.always @(sel_a or sel_b or data_a or data_b) begin …… end
注意敏感信號(hào)列表
3.tb文件最好要把測(cè)試信號(hào)的所有情況考慮在內(nèi)
————P6————
restart。
c語(yǔ)言常識(shí):if…else…配對(duì)遵循就近原則。如果刪改if…else…語(yǔ)句,可能會(huì)對(duì)原代碼含義造成極大破壞。
——加上begin…end…可以保持各語(yǔ)句的獨(dú)立性,推薦使用?!?/p>
pi:port in;po:port out
o:八進(jìn)制;h:十六進(jìn)制
————P7————
時(shí)延語(yǔ)句一般不可綜合,也就是無(wú)法在非仿真文件里使用。
sys_rst_n:system_reset_negedge
不指定位寬:默認(rèn)位寬為32bit
————P8————
產(chǎn)生源源不斷的時(shí)鐘:always #5 clk = ~clk;
localparam本地參數(shù),這種常量表示應(yīng)該大寫(xiě)。
quit -sim:退出當(dāng)前的仿真

f沒(méi)有值或?yàn)椴淮_定態(tài)x:因?yàn)閐、e先前沒(méi)有值或者為不確定態(tài)x

阻塞賦值:語(yǔ)句的賦值立即執(zhí)行,無(wú)延時(shí)
非阻塞賦值:語(yǔ)句賦值的執(zhí)行有延時(shí),最快也是當(dāng)前時(shí)刻結(jié)束前的最后一刻。

這種賦值方式要注意一下。
非阻塞賦值是為了帶時(shí)鐘沿always塊里寄存器的并行賦值,適合于時(shí)序邏輯,因?yàn)闀r(shí)序邏輯電路擁有存儲(chǔ)電路。
————P9————
流水燈(跑馬燈)
- 移位式:assign led <= {led[2:0], led[3]};
- 選擇式:case語(yǔ)句;if…else…語(yǔ)句

把這部分管腳分配代碼復(fù)制到新的文件中。

————P10————
“流水燈”升級(jí),基于FPGA的呼吸燈設(shè)計(jì) (dengkanwen.com)
呼吸燈——使用PWM(Pulse Width Modulation脈沖寬度調(diào)制)波實(shí)現(xiàn)
2s
頻率50Mhz<->周期20ns

2us的0-99指的是時(shí)鐘的0-99。

2s分成1000個(gè)2ms,這1000個(gè)2ms中Led亮的時(shí)間依次遞增
————P11————
畫(huà)波形圖十分重要,有助于代碼直觀化。
寫(xiě)if…else…語(yǔ)句時(shí),要善于區(qū)別大條件和小條件。
————P12————
用flag_2s和&&邏輯與,實(shí)現(xiàn)分情況討論

————P13————
按鍵消抖的講解。抖動(dòng)時(shí)間一般小于10ms
按鍵+抖動(dòng)-->>高電平

————P14————
友情提示:跨時(shí)鐘域處理可參考知乎文章,必應(yīng)搜索即可
關(guān)鍵:在仿真時(shí)產(chǎn)生按鍵輸入信號(hào)
————P15————
TOP-DOWN設(shè)計(jì)思想:分模塊設(shè)計(jì)——簡(jiǎn)潔、易于開(kāi)發(fā)
使用visio畫(huà)圖直觀化設(shè)計(jì)。
————P16————
- analysis分析:對(duì)語(yǔ)法錯(cuò)誤進(jìn)行檢查。
- synthesis綜合:將verilog代碼綜合映射成FPGA資源內(nèi)部的邏輯門(mén),生成網(wǎng)表文件。
- 前仿真/功能仿真functional simulation:不考慮布局布線
- fitter電路適配器(place&route):布局布線
- classic timing analyzer經(jīng)典時(shí)序分析器

- 后仿真timing simulation/TimeQuest Timing Analysis靜態(tài)時(shí)序分析:考慮布局布線
- 上板驗(yàn)證/板級(jí)調(diào)試
