module是Verilog HDL基本概念,是以module開(kāi)始,以endmodule結(jié)束的一段程序,其代表的是硬件電路上的各類(lèi)邏輯實(shí)體晌区。module之間是并行運(yùn)行的,系統(tǒng)的設(shè)計(jì)按照三個(gè)步驟進(jìn)行:1.系統(tǒng)劃分為模塊;2.規(guī)劃模塊的接口朗若;3.實(shí)現(xiàn)模塊的功能并鏈接恼五。
基本語(yǔ)法:1.大小寫(xiě)問(wèn)題;
2.參數(shù)聲明parameter哭懈,在程序中多次出現(xiàn)數(shù)字常量唤冈,可以利用parameter進(jìn)行聲明,在整個(gè)仿真過(guò)程中不再改變银伟。
3.預(yù)處理命令你虹, ‘define和’undef,‘ifdef彤避、’else傅物、和‘endif,’include
著重點(diǎn)‘timescale琉预,用來(lái)定義時(shí)延單位和精度董饰,’timescale<時(shí)間單位>/<時(shí)間精度>。
4.變量的定義圆米,wire卒暂、reg和integer,wire代表元件之間的物理連線娄帖,缺省值為Z也祠,reg是無(wú)符號(hào)數(shù)寄存器reg[m:n] ?A; integer為有符號(hào)整數(shù)繼春?jiǎn)㈩?lèi)型定義。
5.阻塞賦值操作“=”和非阻塞賦值“<=”近速。
Verilog HDL建模方法:結(jié)構(gòu)建模诈嘿,數(shù)據(jù)流建模和行為建模。
結(jié)構(gòu)建模是對(duì)電路結(jié)構(gòu)的描述進(jìn)行建模削葱。
數(shù)據(jù)流建模奖亚,利用“assign”引導(dǎo)的一條連續(xù)賦值語(yǔ)句,賦值目標(biāo)只能是線網(wǎng),wire[m:n] a; assign a=1析砸;昔字。
行為建模,initial只執(zhí)行一次首繁,常利用begin-end進(jìn)行封裝作郭,always為敏感事件觸發(fā)執(zhí)行語(yǔ)句蛮瞄。
要點(diǎn):1.利用@定義always語(yǔ)句所坯,@為定義邊沿觸發(fā)事件谆扎,wait定義電平敏感事件挂捅;2.對(duì)組合邏輯的賦值要用阻塞賦值闲先,時(shí)序邏輯則用非阻塞賦值谤专。3.對(duì)于過(guò)程性賦值可以利用:assign和deassign置侍,force和release拦焚,區(qū)別在于assign賦值后蜡坊,將一直保存在寄存器中,force語(yǔ)句應(yīng)用于寄存器中赎败,將覆蓋當(dāng)前值秕衙,release之后恢復(fù)當(dāng)前值。
狀態(tài)機(jī):一般推薦三段式狀態(tài)機(jī)僵刮,1.第一個(gè)always實(shí)現(xiàn)同步狀態(tài)跳轉(zhuǎn)灾梦;2.第二個(gè)always實(shí)現(xiàn)組合邏輯;3.第三個(gè)always實(shí)現(xiàn)同步輸出妓笙。
硬件設(shè)計(jì)若河,時(shí)鐘電路,JTAG下載電路寞宫,電源供電電路萧福。
明日繼續(xù)總結(jié)。