国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

(三)SV結(jié)構(gòu)體、枚舉類型、字符串

這篇具有很好參考價值的文章主要介紹了(三)SV結(jié)構(gòu)體、枚舉類型、字符串。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、結(jié)構(gòu)體(struct)

1、SV結(jié)構(gòu)體與C語言中結(jié)構(gòu)體對應(yīng)

struct student{ 
  int  num;
  char name[20];
  char sex;
};
struct student student1, student2;//先聲明結(jié)構(gòu)體類型再定義變量名,結(jié)構(gòu)體定義變量

struct student{ 
  int  num;
  char name[20];
  char sex;
}student1, student2;//在聲明類型的同時定義變量

struct 
{ 
  int  num;
  char name[20];
  char sex;
}student1, student2;//直接定義結(jié)構(gòu)類型變量,即不出現(xiàn)結(jié)構(gòu)體名。

說明:

  • student:結(jié)構(gòu)體類型名,可以忽略不寫的
  • student1, student2:結(jié)構(gòu)體變量名
  • 內(nèi)部的變量:成員變量名

?但常常用typedef來新定義類型,就是對其他類型取別名,方便定義變量,例如:

?typedef struct {bit [7:0] r, g, b;} pixel_s1;//pixel_s就是對struct {bit [7:0] r, g, b;}的別名

?typedef struct packed {bit [7:0] r, g, b;} pixel_s2;//壓縮結(jié)構(gòu)體

2、SV結(jié)構(gòu)體分為非壓縮結(jié)構(gòu)體和壓縮結(jié)構(gòu)體

  • pixel_s1為非壓縮結(jié)構(gòu)體,pixel_s2為壓縮結(jié)構(gòu)體這與非合并數(shù)組、合并數(shù)組對應(yīng),他們在內(nèi)存中存儲方式不同,pixel_s1占用3(8bit)段不連續(xù)的存儲空間(共24bit)(左圖),pixel_s2占用1(24bit)段連續(xù)的存儲空間(共24bit)(右圖);
  • sv 結(jié)構(gòu)體,SV學(xué)習(xí),c++,c語言,數(shù)據(jù)結(jié)構(gòu),fpga開發(fā),stm32sv 結(jié)構(gòu)體,SV學(xué)習(xí),c++,c語言,數(shù)據(jù)結(jié)構(gòu),fpga開發(fā),stm32
typedef struct {
    bit [7:0] r;
    bit [7:0] g;
    bit [7:0] b;
} pixel_s;
pixel_s my_pixel; // 聲明變量
    my_pixel = '{'h10, 'h10, 'h10}; //結(jié)構(gòu)體類型的賦值
typedef struct packed{
    bit [7:0] r;
    bit [7:0] g;
    bit [7:0] b;
} pixel_s;
pixel_s my_pixel; // 聲明變量
my_pixel = {8'h10, 8'h10, 8'h10}; //結(jié)構(gòu)體類型的賦值
my_pixel = '{8'h10, 8'h10, 8'h10}; //結(jié)構(gòu)體類型的賦值

說明:

  1. 上面代碼,結(jié)構(gòu)體賦值帶單引號和不帶單引號區(qū)別
  • 單引號作用:告訴后面的逗號把后面的值分成三部分賦值給結(jié)構(gòu)體變量,無單引號為拼接符,若賦值時不寫位寬,默認(rèn)是32bit位寬,可能使賦值結(jié)果出現(xiàn)為0;壓縮結(jié)構(gòu)體復(fù)制與非壓縮結(jié)構(gòu)體賦值也有些區(qū)別

3、聯(lián)合結(jié)構(gòu)體

typedef struct packed{
	bit [7:0] r;
	bit [7:0] g;
	bit [7:0] b;
}pixel_rgb_t;

typedef struct packed{
	bit [15:0] y;
	bit [ 3:0] u;
	bit [ 3:0] v;
}pixel_yuv_t;

typedef union packed{
	pixel_rgb_t rgb;
	pixel_yuv_t yuv;
}pixel_t;

module test10;

	pixel_t     pixel_test	  ;
	pixel_rgb_t pixel_rgb_test;
	pixel_yuv_t pixel_yuv_test;
	
	initial begin
		
		pixel_rgb_test.r = 8'h88;
		pixel_rgb_test.g = 8'h99;
		pixel_rgb_test.b = 8'haa;
		$display("Color RGB is: R=%h G=%h B=%h ",
					pixel_rgb_test.r,pixel_rgb_test.g,pixel_rgb_test.b);
		pixel_yuv_test.y = 16'h88;
		pixel_yuv_test.u = 4'h9  ;
		pixel_yuv_test.v = 4'ha	 ;
		$display("Color YUV is: Y=%h U=%h V=%h ",
					pixel_yuv_test.y,pixel_yuv_test.u,pixel_yuv_test.v);
		pixel_test = 0;
		$display("Color RGB is: R=%h G=%h B=%h ",
					pixel_test.rgb.r,pixel_test.rgb.g,pixel_test.rgb.b);	
		$display("Color YUV is: Y=%h U=%h V=%h ",
					pixel_test.yuv.y,pixel_test.yuv.u,pixel_test.yuv.v);			
		pixel_test.rgb.r = 8'hBB;
		pixel_test.rgb.g = 8'hCC;
		pixel_test.rgb.b = 8'hDD;
		$display("Color YUV is: Y=%h U=%h V=%h ",
					pixel_test.yuv.y,pixel_test.yuv.u,pixel_test.yuv.v);		
		#100
		$finish;
		
	end
endmodule

說明:

  • 1、聯(lián)合結(jié)構(gòu)體關(guān)鍵字為union。
  • 2、聯(lián)合結(jié)構(gòu)體中每個結(jié)構(gòu)體的總位寬要保持一致。
  • 3、聯(lián)合結(jié)構(gòu)體中的每個結(jié)構(gòu)體共用每個bit位,只是解析方式不同。

二、枚舉類型(enum)

1、枚舉類型同樣與C語言中的對應(yīng),也具有上面結(jié)構(gòu)那樣的定義方式,默認(rèn)值從0,1,2,n;

同樣經(jīng)常用typedef來新定義枚舉類型,例如:

typedef enum {INIT, DECODE, IDLE} fsmstate_e;
fsmstate_e pstate, nstate;? // 聲明自定義類型變量

$display("Next state is %s", nstate.name()); // 顯示狀態(tài)名

.name()函數(shù)打印結(jié)果就是上述定義的INIT、DECODE,、IDLE

三、字符串(string)

1、字符串用string來定義聲明

module test10;

	string s;
	initial begin
		s = "IEEE ";						
		$display(s.getc(0));               // 顯示‘I’的ASCII碼, 73. 
		$display("%s",s.getc(0));          // 顯示‘I’ 
		$display(s.tolower());             // 顯示 ieee 
		s.putc(s.len()-1,"-");             // 將空格變?yōu)椤?’ 
		s = {s,"P1800"};                   // "IEEE-P1800" 
		$display(s);                       // 顯示 "IEEE-P1800"EE-P 
		$display(s.substr(2,5));           // 顯示 EE-P  
		my_log($sformatf("%s %0d",s, 42)); // 創(chuàng)建一個臨時字符串并將其打印 ,設(shè)置占用位寬為0
	end                                    
	
	task my_log(string message);
		$display("@%0t: %s",$time,message);// 打印消息
	endtask

endmodule

說明:

sv 結(jié)構(gòu)體,SV學(xué)習(xí),c++,c語言,數(shù)據(jù)結(jié)構(gòu),fpga開發(fā),stm32

?

這兩個函數(shù)就是整理字符串的格式,按照函數(shù)里給的格式,把相應(yīng)的變量填進(jìn)去。
$sformat和$sformat的不同點:文章來源地址http://www.zghlxwxcb.cn/news/detail-615776.html

  • 1、$sformat()比s$stormatf()多了第一個參數(shù),第一個參數(shù)就是放整理好的字符串的容器。$sformat()會直接把整理好的字符串放到第一個字符串類型的參數(shù)中。
  • 2、$sformatf()沒有$sformat()第一個參數(shù)。$sformatf()返回的值就是整理好的字符串。
  • 3、$sprintf()函數(shù)與$sformatf()函數(shù)類似;

到了這里,關(guān)于(三)SV結(jié)構(gòu)體、枚舉類型、字符串的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SV學(xué)習(xí)——數(shù)據(jù)類型(第二章)

    SV學(xué)習(xí)——數(shù)據(jù)類型(第二章)

    verilog有1995和2001版本,而SV是verilog的延伸,SV發(fā)布的時候直接就是3.0,之后可能不再存在verilog,而是統(tǒng)一用SV。SV是完全兼容verilog的。verilog文件以.v結(jié)尾,SV文件以.sv結(jié)尾。語法是全部兼容的,SV是verilog的擴(kuò)展和延伸。 verilog中有reg和wire兩種數(shù)據(jù)類型,都是四值邏輯 0,1,x,

    2024年02月10日
    瀏覽(25)
  • C++入門學(xué)習(xí)(十二)字符串類型

    C++入門學(xué)習(xí)(十二)字符串類型

    上一節(jié)(C++入門學(xué)習(xí)(十一)字符型-CSDN博客)中我們學(xué)到如何表示和使用一個字符串,本篇文章是字符串(多個字符)。 定義字符串主要有兩種方式: 第一種: char str[] = \\\"win\\\";? //char 變量名[] = \\\"字符串\\\" 第二種: #include string string str1 = \\\"winner\\\"; /?/ 兩種方式代碼: ?注意字符

    2024年01月23日
    瀏覽(19)
  • python教程 入門學(xué)習(xí)筆記 第6天 數(shù)據(jù)類型轉(zhuǎn)換 字符串轉(zhuǎn)換成數(shù)值 數(shù)值之間互轉(zhuǎn) 其它類型轉(zhuǎn)字符串

    s1=\\\"188\\\" #字符串 ns1=int(s1) #轉(zhuǎn)換成整型數(shù)值 print(ns1+8) #打印數(shù)值結(jié)果 s1=\\\"3.14\\\" #字符串 ns1=float(s1) #轉(zhuǎn)換成浮點型數(shù)值 print(ns1+3) #打印數(shù)值結(jié)果(數(shù)值結(jié)果為6.140000000000001,出現(xiàn)誤差,后面講解決辦法) print(type(ns1)) #獲取新數(shù)值的數(shù)據(jù)類型屬性 z1=78 nz1=float(z1) print(nz1) #打印結(jié)果

    2024年02月14日
    瀏覽(45)
  • python常見的數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu)(一)數(shù)字類型 字符串類型 布爾類型 列表 集合 字典 的定義與常規(guī)操作方法

    數(shù)字類型有int(整數(shù)),float(浮點數(shù))和complex(復(fù)數(shù)型),其中int與float被大家所常用并且可以使用int()和float()函數(shù)相互轉(zhuǎn)換。如果字符串只包含數(shù)字和小數(shù)點也可以被這兩種函數(shù)強(qiáng)制轉(zhuǎn)換。復(fù)數(shù)型,則少被人們使用,大都是用在數(shù)學(xué)公式和物理公式的計算上。 字符串類型較為簡單

    2024年02月21日
    瀏覽(32)
  • python教程 入門學(xué)習(xí)筆記 第4天 數(shù)據(jù)類型 獲取數(shù)據(jù)類型 字符串拼接

    數(shù)據(jù)類型 1、能直接處理的基本數(shù)據(jù)類型有5個:整型、浮點型、字符串、布爾值、空 1)整型(int)=整數(shù),例如0至9,-1至-9,100,-8180等,人數(shù)、年齡、頁碼、門牌號等 沒有小數(shù)位的數(shù)字,是整型 2)浮點型(float)=小數(shù),例如金額、身高、體重、距離、長度、π等 精確到小

    2024年02月14日
    瀏覽(28)
  • SV芯片驗證之?dāng)?shù)據(jù)類型(一)

    四值(四態(tài))邏輯: 可以表示0(低電平)、1(高電平)、X(未知值、不定態(tài))和Z(高阻值)四種值。有 logic、reg、integer、time、net-type(wire、tri) 。 注: 真實電路中并無X,它只是用來表示不確定的狀態(tài),即不確定它到底是0還是1,但它要么是0要么就是1,不存在所謂的“中間態(tài)”。 高阻態(tài)

    2024年02月09日
    瀏覽(17)
  • 【Python零基礎(chǔ)學(xué)習(xí)入門篇③】——第三節(jié):Python的字符串類型

    【Python零基礎(chǔ)學(xué)習(xí)入門篇③】——第三節(jié):Python的字符串類型

    ???????????? ???Hello,大家好呀我是陳童學(xué)哦,一個普通大一在校生,請大家多多關(guān)照呀嘿嘿?????? ?????? 技術(shù)這條路固然很艱辛,但既已選擇,該當(dāng)堅毅地走下去,加油! ???PUA: ” 你所看到的驚艷都曾平庸歷練 **“**?????? ?????? 最后讓我

    2024年02月04日
    瀏覽(52)
  • unity的C#學(xué)習(xí)——數(shù)組、字符串和結(jié)構(gòu)體

    數(shù)組是一個存儲相同類型元素的固定大小的順序集合。數(shù)組是用來存儲數(shù)據(jù)的集合,通常認(rèn)為數(shù)組是一個同一類型變量的集合。 所有的數(shù)組都是由 連續(xù)的內(nèi)存位置 組成的。最低的地址對應(yīng)第一個元素,最高的地址對應(yīng)最后一個元素。 聲明數(shù)組變量并不是聲明 number0、number

    2024年02月10日
    瀏覽(20)
  • 如何從Java中的字符串值中獲取枚舉值

    說我有一個枚舉,它只是 我想找到一個字符串的枚舉值,例如 “A” 這將是 Blah.A。怎么可能做到這一點? Enum.valueOf() 是我需要的方法嗎?如果是這樣,我將如何使用它? 保持自己快人一步,享受全網(wǎng)獨家提供的一站式外包任務(wù)、遠(yuǎn)程工作、創(chuàng)意產(chǎn)品訂閱服務(wù)–huntsbot.com 是的

    2024年02月16日
    瀏覽(30)
  • 【每日一題Day217】LC2451差值數(shù)組不同的字符串 | 枚舉+變量記錄

    給你一個字符串?dāng)?shù)組 words ,每一個字符串長度都相同,令所有字符串的長度都為 n 。 每個字符串 words[i] 可以被轉(zhuǎn)化為一個長度為 n - 1 的 差值整數(shù)數(shù)組 difference[i] ,其中對于 0 = j = n - 2 有 difference[i][j] = words[i][j+1] - words[i][j] 。注意兩個字母的差值定義為它們在字母表中 位置

    2024年02月07日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包