一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RTL表達(dá)式和運(yùn)算符

OpenFPGA ? 來(lái)源:OpenFPGA ? 作者:OpenFPGA ? 2022-11-03 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字硬件建模SystemVerilog-循環(huán)語(yǔ)句

經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式和運(yùn)算符。

馬上HDLBits-SystemVerilog版本也開始準(zhǔn)備了,基本這一部分完成后就開始更新~

069cd34e-5b14-11ed-a3b6-dac502259ad0.png

循環(huán)語(yǔ)句允許多次執(zhí)行編程語(yǔ)句或begin-end語(yǔ)句組。SystemVerilog中的循環(huán)語(yǔ)句有:for、repeat、while、do..while、foreach和forever。其中,所有綜合編譯器只支持for和repeat循環(huán)。其他類型的循環(huán)可能由一些綜合編譯器支持,但這些限制限制了這些循環(huán)的用途。本系列重點(diǎn)介紹所有綜合編譯器都支持的for和repeat循環(huán)。

for循環(huán)語(yǔ)句

for循環(huán)的一般語(yǔ)法是:

06b7e620-5b14-11ed-a3b6-dac502259ad0.png

循環(huán)開始時(shí),initial_assignment只執(zhí)行一次。

end_expression在循環(huán)第一次通過(guò)之前進(jìn)行計(jì)算。如果表達(dá)式為true,則執(zhí)行語(yǔ)句或語(yǔ)句組。如果表達(dá)式為false,則循環(huán)退出。

在每次循環(huán)結(jié)束時(shí)執(zhí)行step_assignment。再次計(jì)算end_expression。如果為真,則循環(huán)重復(fù),否則退出循環(huán)。

下面的代碼片段演示了使用for循環(huán)的一個(gè)簡(jiǎn)單示例,該示例使用b_bus中的反向位位置對(duì)a_bus的每個(gè)位進(jìn)行異或。對(duì)于4位總線,a_bus[0]與b_bus[3]進(jìn)行異或,a_bus[1]與b_bus[2]進(jìn)行異或,以此類推。

06cd07e4-5b14-11ed-a3b6-dac502259ad0.png

綜合編譯器“展開”循環(huán)體來(lái)實(shí)現(xiàn)循環(huán),這意味著循環(huán)中的語(yǔ)句或begin…end語(yǔ)句組被復(fù)制到循環(huán)迭代的次數(shù)。在上面的代碼片段中,賦值語(yǔ)句被復(fù)制了四次,因?yàn)檠h(huán)從0迭代到3。綜合時(shí)展開循環(huán)后看到的代碼是:

06d9bbf6-5b14-11ed-a3b6-dac502259ad0.png

循環(huán)將執(zhí)行的迭代次數(shù)必須是固定的次數(shù),以便綜合器進(jìn)行循環(huán)展開。迭代次數(shù)固定的循環(huán)稱為靜態(tài)循環(huán)。

循環(huán)的優(yōu)勢(shì)在迭代次數(shù)越多時(shí)越明顯,如果a和b在上面的for循環(huán)片段中是64位總線,則需要64行代碼來(lái)手動(dòng)異或兩條64位總線,對(duì)于for循環(huán),無(wú)論總線的向量大小如何,只需要兩行代碼。

示例6-7展示了上述代碼片段的完整參數(shù)化模型,圖6-7顯示了綜合該模型的結(jié)果。

示例6-7:使用for循環(huán)對(duì)向量位進(jìn)行操作

//`begin_keywords"1800-2012"http://useSystemVerilog-2012keywords
modulebus_xor
#(parameterN=4)//bussize
(inputlogic[N-1:0]a,b,//scalableinputsize
outputlogic[N-1:0]y//scalableoutputsize
);
timeunit1ns;timeprecision1ns;

always_combbegin
for(inti=0;i
06efcaa4-5b14-11ed-a3b6-dac502259ad0.png 圖6-7:示例6-7的綜合結(jié)果:循環(huán)對(duì)向量位進(jìn)行操作

在圖6-7中可以看到,for循環(huán)的四次迭代是如何展開的,以及如何成為異或操作的四個(gè)實(shí)例。

靜態(tài)循環(huán)與依賴數(shù)據(jù)的循環(huán) (Static loops versus data-dependent loops)

靜態(tài)循環(huán),也稱為數(shù)據(jù)獨(dú)立循環(huán),在這種循環(huán)中,可以確定迭代次數(shù),而不必知道任何變量網(wǎng)絡(luò)的值。for (int i=0;i <= 3;i++)是一個(gè)靜態(tài)循環(huán)??梢源_定循環(huán)將迭代4次(i=0 ?到i = 3),這種不依賴于其他信號(hào),就能確定循環(huán)迭代次數(shù)的循環(huán)就是靜態(tài)循環(huán)。

依賴數(shù)據(jù)的循環(huán)(data-dependent loop)是一種非靜態(tài)循環(huán),需要評(píng)估網(wǎng)絡(luò)或變量的值,以確定循環(huán)將執(zhí)行多少次。for (int i=0; i<=count; i++)依賴于count具體的數(shù)值,因?yàn)樵诓恢纁ount值的情況下,無(wú)法確定循環(huán)將迭代多少次。

零延遲和定時(shí)循環(huán)(Zero-delay and timed loops)

零延遲循環(huán)不包含任何形式的時(shí)序。零延遲循環(huán)代表組合邏輯。在仿真中,零延遲循環(huán)會(huì)立即執(zhí)行。在由綜合器生成的門級(jí)電路實(shí)現(xiàn)中,零延遲循環(huán)在單個(gè)時(shí)鐘周期內(nèi)執(zhí)行。前例6-7中所示的for循環(huán)是零延遲靜態(tài)循環(huán)。

定時(shí)循環(huán)是需要消耗時(shí)間來(lái)執(zhí)行循環(huán)的每個(gè)過(guò)程。定時(shí)循環(huán)并不代表組合邏輯的行為,因?yàn)檠h(huán)的執(zhí)行可能需要超過(guò)一個(gè)時(shí)鐘周期才能完成。

最佳實(shí)踐指南6-3
for循環(huán)是靜態(tài)的、零延遲的循環(huán),迭代次數(shù)固定。

為了展開循環(huán),綜合編譯器需要能夠靜態(tài)地確定循環(huán)迭代次數(shù)。雖然有些for循環(huán)代碼寫的是靜態(tài)循環(huán),并且仿真也是正確的,但是可能是不可綜合的。這方面的一個(gè)例子是:

07007728-5b14-11ed-a3b6-dac502259ad0.png

代碼片段的目的是遍歷數(shù)據(jù)向量,以找到為1的最低編號(hào)位。循環(huán)從數(shù)據(jù)的最低有效位0開始,并向上迭代,直到數(shù)據(jù)中的一位為l。通過(guò)修改end_count(循環(huán)結(jié)束條件)的值,找到第一個(gè)為l的位后,循環(huán)立即終止。雖然在循環(huán)開始之前結(jié)束計(jì)數(shù)被初始化為32,但它的值可以隨著循環(huán)的執(zhí)行而改變。

綜合編譯器在這個(gè)代碼片段中遇到的問題是,不可能靜態(tài)地確定循環(huán)將迭代多少次,因?yàn)檠h(huán)的結(jié)束條件可能會(huì)根據(jù)輸入的數(shù)據(jù)值(data值)發(fā)生變化而變化。為了展開循環(huán),綜合需要循環(huán)執(zhí)行固定的次數(shù)。

無(wú)需依賴數(shù)據(jù)即可退出循環(huán)的可綜合方式。示例6-8顯示了前面代碼段的可綜合編碼樣式。示例6-8使用一個(gè)執(zhí)行固定次數(shù)的靜態(tài)循環(huán),避免不是在循環(huán)結(jié)束時(shí)提前終止循環(huán),而不是根據(jù)數(shù)據(jù)的值(data值)來(lái)確定循環(huán)的結(jié)束。

當(dāng)找到最低的為1的位時(shí),循環(huán)對(duì)剩余的迭代不做任何操作,圖6-8顯示了綜合該示例的結(jié)果。在本例中,數(shù)據(jù)的總線大小是參數(shù)化的,并設(shè)置為4位寬,以便減小綜合后的原理圖的大小。

例6-8;使用for循環(huán)查找向量中為1的最低位

//`begin_keywords"1800-2012"http://useSystemVerilog-2012keywords
modulefind_lowest_bit
#(parameterN=4)//bussize
(inputlogic[N-1:0]data,
outputlogic[$clog2(N):0]low_bit
);
timeunit1ns;timeprecision1ns;

logicdone;//localflag

always_combbegin
//findlowestbitthatissetinavector
low_bit='0;
done='0;
for(inti=0;i<=N-1;?i++)?begin?
??????if?(!done)?begin?
????????if?(data[i])?begin?
??????????low_bit?=?i;
??????????done?=?'1;
????????end?
??????end?
????end?
??end?
??
endmodule:?find_lowest_bit
//`end_keywords
圖6-8:示例6-8的綜合結(jié)果 07163b44-5b14-11ed-a3b6-dac502259ad0.png

最佳實(shí)踐指南6-4
以固定的迭代大小對(duì)所有循環(huán)進(jìn)行編碼,這種編碼風(fēng)格確保循環(huán)可以展開,并且將得到所有綜合編譯器的支持。

循環(huán)迭代器變量壽命和可見性(For-loop iterator variable lifetime and visibility)

用于控制for循環(huán)的變量稱為循環(huán)迭代器變量。通常,循環(huán)迭代器變量被聲明為initial assignment(初始賦值)的一部分,如下所示:

072271a2-5b14-11ed-a3b6-dac502259ad0.png

當(dāng)作為初始賦值的一部分聲明時(shí),循環(huán)迭代器變量是for循環(huán)的局部變量,不能在循環(huán)外引用。循環(huán)迭代器變量是自動(dòng)生成的,這意味著該變量在循環(huán)開始的時(shí)間創(chuàng)建,并在循環(huán)退出時(shí)消失。

循環(huán)迭代器變量也可以在for循環(huán)之外聲明,例如在模塊級(jí)別或在命名的begin-end組中聲明。外部聲明的循環(huán)迭代器變量在循環(huán)退出后仍然存在,可以在聲明變量的同一范圍內(nèi)的其他地方使用。當(dāng)循環(huán)退出時(shí),外部變量的值將是在結(jié)束條件評(píng)估為false之前,賦值步驟所指定的最后一個(gè)值。

Repeat循環(huán)

Repeat循環(huán)執(zhí)行循環(huán)一定次數(shù)。Repeat循環(huán)的一般語(yǔ)法是:

07306668-5b14-11ed-a3b6-dac502259ad0.png

以下示例使用Repeat循環(huán)將data信號(hào)提高到3的冪(數(shù)據(jù)立方)。

07467084-5b14-11ed-a3b6-dac502259ad0.png

SystemVerilog有一個(gè)指數(shù)冪運(yùn)算符,但一些綜合編譯器不支持該運(yùn)算符。上面的代碼片段顯示了如何使用Repeat循環(huán)算法執(zhí)行指數(shù)運(yùn)算(將一個(gè)值與自身重復(fù)相乘)。

與for循環(huán)一樣,如果循環(huán)的邊界是靜態(tài)的,則Repeat循環(huán)是可綜合的,這意味著循環(huán)迭代的次數(shù)要求是固定的,并且不依賴于運(yùn)行過(guò)程中可能發(fā)生變化的值。

示例6-9顯示了上述指數(shù)運(yùn)算片段的完整示例。在本例中,數(shù)據(jù)輸入的寬度和指數(shù)或冪運(yùn)算被參數(shù)化,以使示例更通用。這些參數(shù)在編譯時(shí)是固定的常量。因此,使用參數(shù)作為迭代次數(shù)的Repeat循環(huán)是可綜合的靜態(tài)循環(huán)。這個(gè)模型的輸出q是時(shí)序邏輯,因此q要使用非阻塞賦值,循環(huán)中的迭代是組合邏輯,其最終結(jié)果記錄在阻塞賦值的臨時(shí)變量中,因此,它的新值可用于循環(huán)的下一次迭代。

示例6-9:使用Repeat循環(huán)實(shí)現(xiàn)冪運(yùn)算

//`begin_keywords"1800-2012"http://useSystemVerilog-2012keywords
moduleexponential
#(parameterE=3,//powerexponent
parameterN=4,//inputbussize
parameterM=N*2//outputbussize
)
(inputlogicclk,
inputlogic[N-1:0]d,
outputlogic[M-1:0]q
);
timeunit1ns;timeprecision1ns;

always_ff@(posedgeclk)begin:power_loop
logic[M-1:0]q_temp;//tempvariableforinsidetheloop
if(E==0)
q<=?1;??//?do?to?power?of?0?is?a?decimal?1
????else?begin?
??????q_temp?=?d;
??????repeat?(E-1)?begin?
????????q_temp?=?q_temp?*?d;
??????end?
??????q?<=?q_temp;
????end?
??end:?power_loop
??
endmodule:?exponential
//`end_keywords?

圖6-9顯示了示例6-9的綜合結(jié)果,當(dāng)E的值為3時(shí),Repeat循環(huán)執(zhí)行2次,綜合結(jié)果創(chuàng)建了乘法器的2個(gè)實(shí)例。輸出向量q的每一位都由一個(gè)通用觸發(fā)器進(jìn)行賦值,圖中只顯示了第一個(gè)輸出寄存器觸發(fā)器,

07515738-5b14-11ed-a3b6-dac502259ad0.png 圖6-9:示例6-9的綜合結(jié)果:Repeat循環(huán)實(shí)現(xiàn)冪運(yùn)算

綜合時(shí)間考慮。靜態(tài)、零延遲的循環(huán)或Repeat循環(huán)將綜合為組合邏輯。如果該組合邏輯的輸出被記錄在觸發(fā)器中,那么由循環(huán)推斷的組合邏輯的總傳播延遲必須小于一個(gè)時(shí)鐘周期。

筆記
每個(gè)特定ASICFPGA設(shè)備的功能和限制可能會(huì)有很大的不同。使用乘法、除法、模和冪運(yùn)算符的RTL模型應(yīng)與目標(biāo)設(shè)備的功能相匹配。

注意,在圖6-9中,示例6-9中Repeat循環(huán)推斷的乘法器是級(jí)聯(lián)的。乘法器鏈的總傳播延遲需要小于等于一個(gè)時(shí)鐘周期,以便在輸出觸發(fā)器中記錄有效且穩(wěn)定的結(jié)果。一些綜合編譯器可以進(jìn)行寄存器重定時(shí),插入或移動(dòng)寄存器,以在組合邏輯中創(chuàng)建流水。寄存器重定時(shí)是綜合編譯器的一項(xiàng)功能,不在本文的范圍內(nèi)。有關(guān)此主題的更多信息,請(qǐng)參閱綜合編譯器的文檔。

如果寄存器重定時(shí)不可用,則不滿足設(shè)計(jì)時(shí)鐘周期的循環(huán)將需要重新編碼為流水或狀態(tài)機(jī)形式,手動(dòng)將循環(huán)展開為多個(gè)時(shí)鐘周期。

While和do-While循環(huán)

最佳實(shí)踐指南6-5
使用for循環(huán)和repeat循環(huán)進(jìn)行RTL建模。不要使用while和Do-while循環(huán)。

盡管許多綜合編譯器都支持這些循環(huán),但它們有一些限制,比如使代碼難以維護(hù)和重用,這就限制了它們?cè)赗TL建模中的實(shí)用性。相反,使用for循環(huán)或repeat循環(huán),由于循環(huán)迭代的次數(shù)是靜態(tài)的,所以增加了它們?cè)赗TL建模中的實(shí)用性。為了完整起見,本文簡(jiǎn)單介紹了while和do-while循環(huán),但不推薦使用。

while循環(huán)執(zhí)行編程語(yǔ)句或begin-end語(yǔ)句組,直到end_expression變?yōu)閒alse。在循環(huán)的頂部計(jì)算結(jié)束表達(dá)式(end_expression)。如果第一次輸入循環(huán)時(shí)結(jié)束表達(dá)式為false,則根本不執(zhí)行語(yǔ)句或語(yǔ)句組。如果結(jié)束表達(dá)式為true,則執(zhí)行語(yǔ)句或語(yǔ)句組,然后循環(huán)返回頂部并再次計(jì)算結(jié)束表達(dá)式(end_expression)。

do-while循環(huán)也執(zhí)行編程語(yǔ)句或begin-end語(yǔ)句組,直到end_expression變?yōu)閒alse。通過(guò)do-while循環(huán),結(jié)束表達(dá)式(end_expression)在循環(huán)的底部進(jìn)行計(jì)算。因此,第一次必進(jìn)入循環(huán)。如果循環(huán)到達(dá)底部時(shí)結(jié)束表達(dá)式(end_expression)為false,則循環(huán)退出。如果結(jié)束表達(dá)式(end_expression)為true,循環(huán)將返回頂部并再次執(zhí)行語(yǔ)句或語(yǔ)句組,

下面的代碼顯示了一個(gè)使用while循環(huán)的不可綜合示例:

077a683a-5b14-11ed-a3b6-dac502259ad0.png

此示例統(tǒng)計(jì)16位data信號(hào)中有多少位被設(shè)置為l。data值被復(fù)制到名為temp的臨時(shí)變量中。如果設(shè)置了temp的位0為l,則num_ones計(jì)數(shù)器將遞增。然后將temp變量右移一次,這將移出位0,并將位0移到位15。只要至少有一位temp被設(shè)置為1,temp的計(jì)算結(jié)果為true,循環(huán)就會(huì)繼。當(dāng)temp的計(jì)算結(jié)果為false時(shí),循環(huán)退出。temp中的某個(gè)值在某些位中有X或Z,但沒有將任何位設(shè)置為1,這也會(huì)導(dǎo)致while循環(huán)退出。

本示例不可綜合,因?yàn)檠h(huán)執(zhí)行的次數(shù)取決于data,不是靜態(tài)的,如上一節(jié)所述。綜合無(wú)法明確地確定循環(huán)將執(zhí)行多少次,因此無(wú)法展開循環(huán),就無(wú)法綜合。

For each循環(huán)和通過(guò)向量的循環(huán)

For each循環(huán)遍歷未壓縮數(shù)組的所有維度。未壓縮數(shù)組是網(wǎng)絡(luò)或變量的集合,其中集合可以通過(guò)使用數(shù)組名稱作為一個(gè)整體進(jìn)行操作,或者數(shù)組的單個(gè)元素可以使用數(shù)組中的索引進(jìn)行操作。數(shù)組的元素可以是任何數(shù)據(jù)類型和向量大小,但數(shù)組的所有元素必須是相同的類型和大小。數(shù)組可以有任意數(shù)量的維度。數(shù)組聲明的一些示例如下:

07a155c6-5b14-11ed-a3b6-dac502259ad0.png

可以使用[ starting_address:ending_address]樣式,如上面的mem數(shù)組,或使用[dimension_sizel風(fēng)格,與查找表數(shù)組一樣,前面更詳細(xì)地討論了聲明和使用未壓縮數(shù)組。

foreach循環(huán)用于迭代數(shù)組元素,foreach循環(huán)將自動(dòng)聲明其循環(huán)控制變量,自動(dòng)確定數(shù)組的開始和結(jié)束索引,并自動(dòng)確定索引的方向(增加或減少循環(huán)控制變量)。

下面的示例遍歷一個(gè)二維數(shù)組,該數(shù)組表示帶有一些數(shù)據(jù)的查找表。對(duì)于數(shù)組中的每個(gè)元素,都會(huì)調(diào)用一個(gè)函數(shù)來(lái)對(duì)該值進(jìn)行某種操作(函數(shù)未顯示)。

07abf95e-5b14-11ed-a3b6-dac502259ad0.png

請(qǐng)注意,i和j變量沒有聲明——foreach循環(huán)會(huì)在內(nèi)部自動(dòng)聲明這些變量。也不需要知道數(shù)組的每個(gè)維度的邊界。foreach循環(huán)會(huì)自動(dòng)從每個(gè)維度的最低索引值迭代到最高索引值。

在整理這個(gè)系列時(shí),一些綜合編譯器不支持foreach循環(huán)。在RTL模型中使用之前,工程師應(yīng)該確保項(xiàng)目中使用的所有工具都支持哪種循環(huán)類型。

筆記
迭代數(shù)組所有維度的另一種編碼方式是使用for循環(huán)。前面的示例可以使用所有綜合編譯器支持的靜態(tài)for循環(huán)重寫。

07c3fedc-5b14-11ed-a3b6-dac502259ad0.png

請(qǐng)注意,在這個(gè)嵌套for循環(huán)示例中,每個(gè)數(shù)組維度的大小及其起始和結(jié)束索引值必須進(jìn)行硬編碼(即需要明確的數(shù)值),以匹配數(shù)組聲明的大小。SystemVerilog還提供數(shù)組查詢系統(tǒng)功能,適用于不同大小或參數(shù)化大小的數(shù)組,可使for循環(huán)更通用。前面的例子可以寫成:

07dc0d38-5b14-11ed-a3b6-dac502259ad0.png

筆記
在編寫本文時(shí),一些綜合編譯器不支持?jǐn)?shù)組查詢系統(tǒng)函數(shù)。在RTL模型中使用之前,工程師應(yīng)該確保項(xiàng)目中使用的所有工具都支持這些功能。

以下是數(shù)組查詢系統(tǒng)功能的簡(jiǎn)要說(shuō)明。有關(guān)這些查詢功能的更多信息,請(qǐng)參閱IEEE 1800 SystemVerilog語(yǔ)言參考手冊(cè)。

(數(shù)組名,維度)-返回指定維度的最右邊索引號(hào)。維度以數(shù)字1開頭,從最左邊的未壓縮維度開始。在最右邊的未壓縮維度之后,維度編號(hào)與最左邊的壓縮維度繼續(xù),并以最右邊的壓縮維度結(jié)束。

(數(shù)組名,維度)-返回指定維度最左邊的索引號(hào)。尺寸標(biāo)注的編號(hào)與相同。

(數(shù)組名,維度)-如果大于或等于,則返回1;如果小于,則返回-1。

(數(shù)組名,維度)-返回指定維度的最低索引號(hào),可以是左索引或右索引。

(數(shù)組名,維度)-返回指定維度的最高索引號(hào),可以是左索引或右索引。

(數(shù)組名,維度)-返回指定維度中的元素總數(shù)(與-+1相同)。

(數(shù)組名)返回?cái)?shù)組中的維度數(shù),包括壓縮維度和未壓縮維度,

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3484

    瀏覽量

    67505
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95260
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    61128
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    11484
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)字硬件建模SystemVerilog-按位運(yùn)算符

    經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式運(yùn)算符。
    的頭像 發(fā)表于 08-12 14:27 ?3093次閱讀

    關(guān)于數(shù)字硬件建模SystemVerilog

    經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式運(yùn)算符。
    的頭像 發(fā)表于 09-01 08:50 ?1694次閱讀

    C語(yǔ)言程序設(shè)計(jì)--運(yùn)算符表達(dá)式

    c語(yǔ)言對(duì)數(shù)據(jù)有很強(qiáng)的表達(dá)能力,具有十分豐富的運(yùn)算符,利用這些運(yùn)算符可以組成各種表達(dá)式及語(yǔ)句。運(yùn)算符就是完成某種特定
    發(fā)表于 07-14 21:30 ?46次下載

    單片機(jī)C語(yǔ)言教程-運(yùn)算符表達(dá)式

    單片機(jī)C語(yǔ)言教程-運(yùn)算符表達(dá)式   單片機(jī)C語(yǔ)言教程-運(yùn)算符表達(dá)式  運(yùn)算符的種類、優(yōu)先級(jí)和結(jié)合性  c語(yǔ)言中運(yùn)
    發(fā)表于 03-27 17:13 ?2321次閱讀

    基于運(yùn)算符信息的數(shù)學(xué)表達(dá)式檢索技術(shù)

    傳統(tǒng)的文本檢索技術(shù)主要面向一維文本,難以用于對(duì)二維結(jié)構(gòu)數(shù)學(xué)表達(dá)式的檢索。針對(duì)該問題,通過(guò)引入公式描述結(jié)構(gòu),實(shí)現(xiàn)基于運(yùn)算符信息的數(shù)學(xué)表達(dá)式檢索。利用公式描述結(jié)構(gòu)提取算法獲取 Latex數(shù)學(xué)表達(dá)式
    發(fā)表于 04-29 15:58 ?2次下載
    基于<b class='flag-5'>運(yùn)算符</b>信息的數(shù)學(xué)<b class='flag-5'>表達(dá)式</b>檢索技術(shù)

    RTL表達(dá)式運(yùn)算符

    運(yùn)算符對(duì)操作數(shù)執(zhí)行操作。大多數(shù)運(yùn)算符都有兩個(gè)操作數(shù)。
    的頭像 發(fā)表于 07-21 09:11 ?2268次閱讀

    RTL表達(dá)式運(yùn)算符

    經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式運(yùn)算符
    的頭像 發(fā)表于 07-27 09:11 ?2073次閱讀

    SystemVerilog-運(yùn)算符/表達(dá)式規(guī)則

    RTL建模中廣泛使用的運(yùn)算符是條件運(yùn)算符,也稱為三元運(yùn)算符,該運(yùn)算符用于在兩個(gè)表達(dá)式之間進(jìn)行選擇
    的頭像 發(fā)表于 08-03 09:03 ?3708次閱讀

    關(guān)于RTL表達(dá)式運(yùn)算符

    經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式運(yùn)算符。
    的頭像 發(fā)表于 09-01 09:13 ?2274次閱讀

    RTL表達(dá)式運(yùn)算符

    經(jīng)過(guò)幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來(lái)就是RTL表達(dá)式運(yùn)算符。
    的頭像 發(fā)表于 10-11 10:15 ?2240次閱讀

    RTL表達(dá)式運(yùn)算符

    決策語(yǔ)句(Decision statements)允許程序塊的執(zhí)行流程根據(jù)設(shè)計(jì)中信號(hào)的當(dāng)前值分支到特定語(yǔ)句。SystemVerilog有兩個(gè)主要的決策語(yǔ)句:if…else語(yǔ)句和case語(yǔ)句,使用關(guān)鍵字case、case…inside,casex和casez。
    的頭像 發(fā)表于 10-21 09:04 ?1692次閱讀

    運(yùn)算符/表達(dá)式規(guī)則

    運(yùn)算符對(duì)操作數(shù)執(zhí)行操作。大多數(shù)運(yùn)算符都有兩個(gè)操作數(shù)。例如,在運(yùn)算a+b中,+(加法)運(yùn)算的操作數(shù)是a和b。每個(gè)操作數(shù)都被稱為表達(dá)式
    的頭像 發(fā)表于 02-09 15:37 ?1406次閱讀
    <b class='flag-5'>運(yùn)算符</b>/<b class='flag-5'>表達(dá)式</b>規(guī)則

    邏輯運(yùn)算符表達(dá)式

    在C語(yǔ)言中,我們通常會(huì)進(jìn)行真值與假值的判斷,這時(shí)我們就需要用到邏輯運(yùn)算符與邏輯表達(dá)式。如果表達(dá)式的值不為0,則通通返回為真值。只有當(dāng)表達(dá)式的值為0時(shí),才會(huì)返回假值。
    的頭像 發(fā)表于 02-21 15:16 ?2659次閱讀
    邏輯<b class='flag-5'>運(yùn)算符</b>與<b class='flag-5'>表達(dá)式</b>

    位邏輯運(yùn)算符表達(dá)式

    位邏輯運(yùn)算符與位邏輯表達(dá)式可以實(shí)現(xiàn)位的編輯,比如位的清零、設(shè)置、取反和取補(bǔ)等操作。使用位邏輯運(yùn)算符與位邏輯表達(dá)式可以在不使用匯編的情況下實(shí)現(xiàn)部分匯編的功能
    的頭像 發(fā)表于 02-21 15:22 ?1708次閱讀
    位邏輯<b class='flag-5'>運(yùn)算符</b>與<b class='flag-5'>表達(dá)式</b>

    C語(yǔ)言基本的算術(shù)運(yùn)算符表達(dá)式

    注意:自增和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式 **C語(yǔ)言算術(shù)表達(dá)式運(yùn)算符的優(yōu)先級(jí)與結(jié)合性 ** 在表達(dá)式求值時(shí),
    的頭像 發(fā)表于 03-09 10:44 ?2081次閱讀