常量:
整數(shù):<位寬 num'><進制 b|o|d|h><數(shù)字>,例如 4'b1010
x值(不定值)和z值(高阻值,也可用?代替)
x和z可以標(biāo)識某一位或者某一個數(shù)字
4'b10x0,4'bx,4'b101z,4'bz,4'b?
負(fù)數(shù):整數(shù)最前面加-
下劃線:分割數(shù)字部分,更加易讀(8'b1000_1000)
參數(shù):parameter
parameter 參數(shù)名=表達(dá)式;
表達(dá)式只能是數(shù)字或者定義過的參數(shù)
變量:
wire型:wire [n-1:0] 數(shù)據(jù)名;
wire表示信號,常用來表示assign關(guān)鍵字指定的組合邏輯信號
wire型信號可以用作輸入,輸出
reg型:reg [n-1:0] 數(shù)據(jù)名;
對存儲單元的抽象
常用來表示always模塊內(nèi)的指定信號,常代表觸發(fā)器
always塊內(nèi)被賦值的每一個信號都必須定義為reg型
memory型:reg [n-1:0] 存儲器名[m-1:0];
reg [n-1:0]表示基本存儲單元的大小
存儲器名[m-1:0]表示基本存儲單元的個數(shù),存儲空間的容量
對存儲器進行地址索引的表達(dá)式必須是常數(shù)表達(dá)式
一個n位寄存器可以在一條賦值語句里進行賦值,而一個完整的存儲器不行
運算符及表達(dá)式:
基本運算符:+ - * / %
位運算符:~ & | ^ ^~
邏輯運算符:&& || !
關(guān)系運算符:< > <= >=
等式運算符:== != (不管x、z,結(jié)果可能是不定值)
=== !==(對參數(shù)的x、z都進行比較)
移位運算符:<< >>
位拼接運算符:{ },將幾個信號拼接起來,例如{a,b[3:0],w,3'b100}
縮減運算符:C =&B;C =|B;C =^B;
優(yōu)先級別:和c語言差不多,加括號
賦值語句:
1)非阻塞賦值方式(b <= a)
a.塊結(jié)束才完成賦值
b.b的值不是立刻就改變的
c.在可綜合的模塊中常用
2)阻塞賦值方式(b = a)
a.賦值語句執(zhí)行完成后,塊才結(jié)束
b.b的值在賦值語句執(zhí)行后立刻改變
c.可能會產(chǎn)生意想不到的結(jié)果
簡單理解:
非阻塞賦值用了多個觸發(fā)器,每次時鐘到達(dá),所有觸發(fā)器都觸發(fā)一次
阻塞賦值連到同一個觸發(fā)器上,時鐘到達(dá),導(dǎo)致所有寄存器被賦值
原文標(biāo)題: 常量 變量
文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
Verilog
+關(guān)注
關(guān)注
29文章
1366瀏覽量
111900
原文標(biāo)題:verilog數(shù)據(jù)類型 常量 變量
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
IEC101協(xié)議可以傳輸什么類型的數(shù)據(jù)
請問ADS1299使用Test Signals ,獲取到的數(shù)據(jù)類型是什么?
Verilog 測試平臺設(shè)計方法 Verilog FPGA開發(fā)指南
Verilog與VHDL的比較 Verilog HDL編程技巧
西門子博途新數(shù)據(jù)類型之:SINT(8位整數(shù))

FPGA編程語言的入門教程
AIC23采集到的數(shù)據(jù)是應(yīng)該用什么數(shù)據(jù)類型來接收?int還是unsigned int?
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型元組類型
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型布爾類型
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型Unit與Nothing類型
labview數(shù)據(jù)類型的取值范圍是多少
常見的遙感數(shù)據(jù)類型有哪些
人體紅外傳感器的數(shù)據(jù)類型及工作原理
技術(shù)干貨驛站 ▏深入理解C語言:基本數(shù)據(jù)類型和變量

評論