国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

Xilinx SystemVerilog中的基本聯(lián)合體

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-19 19:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基本聯(lián)合體
在 SystemVerilog 中,聯(lián)合體只是信號(hào),可通過(guò)不同名稱和縱橫比來(lái)加以引用。 其工作方式為通過(guò) typedef 來(lái)聲明聯(lián)合,并提供不同標(biāo)識(shí)符用于引用此聯(lián)合體。 這些標(biāo)識(shí)符稱為“字段”。

例如:

typedef union packed {
logic [3:0] a;
logic [3:0] b;
} union_type;

union_type my_union;
復(fù)制代碼

以上代碼創(chuàng)建了一種新類型,名為“union_type”。

此類型的位寬為 4 位,可作為“a”或“b”來(lái)引用。

此外,代碼最后一行創(chuàng)建了一個(gè)新信號(hào),名稱為“my_union”且類型為“union_type”。

其使用語(yǔ)法為“.”。

例如:

always@(posedge clk) begin
my_union.a end

always@(posedge clk) begin
out1 out2 end
復(fù)制代碼

在 Vivado 中運(yùn)行此代碼時(shí),原理圖如下所示:

Xilinx SystemVerilog中的基本聯(lián)合體

圖 1:基本聯(lián)合體

請(qǐng)注意,my_union 位寬仍僅為 4 位,而以“a”或“b”來(lái)引用它的兩項(xiàng)賦值均采用相同邏輯。針對(duì) my_union 的賦值使用的是“a”,而此聯(lián)合體的讀取結(jié)果針對(duì) out1 和 out2 則分別使用“a”和“b”。

聯(lián)合體分兩種類型:打包 (packed) 和解包 (unpacked)。在上述示例中,我們指定的是打包聯(lián)合體。默認(rèn)情況下,如果不指定類型,編譯器將假定它采用解包聯(lián)合體。打包聯(lián)合體與解包聯(lián)合體的差別在于,在打包聯(lián)合體中,其中所有標(biāo)識(shí)符都必須采用打包類型,并且大小必須相同。在上述示例中,“a”和“b”位寬均為 4 位。但如果其中之一為 4 位,而另一個(gè)為 2 位,則該工具中將生成錯(cuò)誤。而在解包聯(lián)合體中,標(biāo)識(shí)符可采用解包類型并且大小無(wú)需相同。因此,在上述 4 位和 2 位聯(lián)合體示例中,刪除“packed”語(yǔ)句將使該工具能夠?qū)?RTL 進(jìn)行完整審查??偠灾?,打包聯(lián)合體在綜合工具中所受支持更為廣泛,并且更便于概念化。對(duì)于本文中的前幾個(gè)聯(lián)合體示例,我們使用的是打包聯(lián)合體,但從此處開始直至文末,我們將展示解包聯(lián)合體示例。

含多維字段的聯(lián)合體
上述示例只是簡(jiǎn)單演示了聯(lián)合體的作用。讓我們來(lái)看下較為復(fù)雜的聯(lián)合體示例:

typedef union packed {
logic [3:0] a;
logic [1:0][1:0] b;
} union_type;

union_type my_union
復(fù)制代碼

同上,首先對(duì)聯(lián)合體進(jìn)行聲明,并創(chuàng)建類型為“union_type”的信號(hào)。差別在于,字段“a”位寬為 4 位,另一個(gè)字段“b”位寬同樣為 4 位,但后者排列為 2 個(gè) 2 位矢量。由于這兩個(gè)字段大小相同,并且字段“b”使用的是打包類型,因此這是一個(gè)合法的打包聯(lián)合體。其結(jié)構(gòu)體如下所示:

Xilinx SystemVerilog中的基本聯(lián)合體

圖 2:含多維陣列的聯(lián)合體

為此結(jié)構(gòu)賦值的 RTL 如下所示:

always@(posedge clk) begin
my_union.a end

always@(posedge clk) begin
out1 out2 end
復(fù)制代碼

原理圖如下所示:

Xilinx SystemVerilog中的基本聯(lián)合體

圖 3:多維聯(lián)合體的原理圖

含結(jié)構(gòu)體的聯(lián)合體
聯(lián)合體還可配合結(jié)構(gòu)體一起使用。就像所有打包聯(lián)合體一樣,結(jié)構(gòu)體大小必須與聯(lián)合體中的任何其它類型的大小相同。 例如:

typedef union packed {
logic [9:0] data;
struct packed {
bit op1;
bit [2:0] op2;
bit [1:0] op3;
bit op4;
bit [2:0] op5;
} op_modes;
} union_type;

union_type my_union;
復(fù)制代碼

此 RTL 介紹的聯(lián)合體包含 2 個(gè)位寬均為 10 位的字段。第一個(gè)字段為名為“data”且位寬為 10 位的矢量。第二個(gè)字段采用包含 5 個(gè)字段的結(jié)構(gòu)體,這些字段的大小總和同樣為 10 位。

為此創(chuàng)建的結(jié)構(gòu)體如下所示:

Xilinx SystemVerilog中的基本聯(lián)合體

圖 4:含結(jié)構(gòu)體的聯(lián)合體

由于當(dāng)前聯(lián)合體中包含結(jié)構(gòu)體,因此其正確的引用方式是引用聯(lián)合體中的結(jié)構(gòu)體:

always@(posedge clk) begin
my_mult end
復(fù)制代碼

解包聯(lián)合體
如果聯(lián)合體中的字段大小不同,或者如果聯(lián)合體中的字段本身使用的類型為解包類型,那么此類聯(lián)合體需聲明為解包聯(lián)合體。 對(duì)于前一種情況,如果指定的聯(lián)合體包含不同大小的字段,那么該聯(lián)合體本身大小將設(shè)置為最大字段的大小。 示例 RTL:

typedef union {
logic [5:0] a;
logic [3:0] b;
logic c;
} union_type;

union_type my_union;
復(fù)制代碼

這樣即可創(chuàng)建如下所示結(jié)構(gòu):

poYBAGIQzu2AKO9EAABJGb3R8ag626.jpg

圖 5:含不同大小字段的解包聯(lián)合體

含結(jié)構(gòu)體的解包聯(lián)合體
與打包聯(lián)合體相同,解包聯(lián)合體同樣可以使用結(jié)構(gòu)體。

typdef struct {
bit [3:0] a1;
bit a2;
} s_1;

typedef union {
logic [7:0] b1;
s_1 b2;
} union_type

union_type my_union;
復(fù)制代碼

以上示例將創(chuàng)建一個(gè)含兩個(gè)字段的聯(lián)合體。其中一個(gè)字段為位寬 8 位的矢量“b1”,另一個(gè)字段為位寬 5 位的結(jié)構(gòu)體,此結(jié)構(gòu)體由一個(gè)位寬 4 位的矢量 a1 和一個(gè)位寬 1 位的矢量 a2 組成。 此聯(lián)合體將作為位寬 8 位的矢量來(lái)創(chuàng)建,如下所示:

Xilinx SystemVerilog中的基本聯(lián)合體

圖 6:含結(jié)構(gòu)體的解包聯(lián)合體

同上,由于聯(lián)合體中包含結(jié)構(gòu)體,因此需按如下方式來(lái)引用信號(hào):

always@(posedge clk) begin
my_union.b1 out1 out2 end
復(fù)制代碼

審核編輯:湯梓紅

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

    關(guān)注

    73

    文章

    2200

    瀏覽量

    131137
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73968
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式開發(fā)中一些少用的C語(yǔ)言用法分享

    用。 之所以要使用這個(gè)東西進(jìn)行,是因?yàn)樵趃cc編譯器是支持匿名結(jié)構(gòu)體/聯(lián)合體的使用的,而在ARMCC不支持,所以如果要在ARMCC中使用匿名的結(jié)構(gòu)體/結(jié)合體,就需要使用 #prag
    發(fā)表于 01-05 08:19

    一個(gè)經(jīng)典的結(jié)構(gòu)體和聯(lián)合體共用的實(shí)例

    Linux 可以 使用 sizeof 進(jìn)行獲取,默認(rèn)為字節(jié)對(duì)齊的大小。 聯(lián)合體 聯(lián)合體的參數(shù)共享同一個(gè)內(nèi)存地址,所占的內(nèi)存大小完全是由聯(lián)合體
    發(fā)表于 12-16 07:14

    浙江省腦機(jī)接口重大科技專項(xiàng)與創(chuàng)新聯(lián)合體將開啟,相關(guān)腦機(jī)接口立項(xiàng)國(guó)際標(biāo)準(zhǔn)啟動(dòng)

    來(lái)源:維度網(wǎng)-全球簡(jiǎn)訊 ? 2025“智聯(lián)·未來(lái)”腦機(jī)接口國(guó)際會(huì)議暨第二屆中國(guó)腦機(jī)智能大會(huì)將于12月11日至12日舉行。會(huì)上,將舉行浙江省腦機(jī)接口重大科技專項(xiàng)與創(chuàng)新聯(lián)合體啟動(dòng)儀式。 啟動(dòng)浙江省腦機(jī)
    的頭像 發(fā)表于 12-11 16:40 ?655次閱讀

    中科曙光入選首批天津市卓越工程師培養(yǎng)聯(lián)合體成員單位

    11月23日,天津市卓越工程師培養(yǎng)聯(lián)合體成立儀式暨天津大學(xué)國(guó)家卓越工程師學(xué)院高質(zhì)量建設(shè)發(fā)展會(huì)議在天津大學(xué)北洋園校區(qū)隆重舉行。中科曙光作為聯(lián)合體首批成員單位受邀出席,總裁助理?xiàng)铠欆幋砥髽I(yè)參會(huì),與政府、高校及產(chǎn)業(yè)界代表共同見證聯(lián)合體
    的頭像 發(fā)表于 11-28 16:42 ?690次閱讀

    C語(yǔ)言的編程技巧

    一個(gè)成員是一個(gè)未知大小的數(shù)組,適用于動(dòng)態(tài)分配內(nèi)存并關(guān)聯(lián)一個(gè)可變長(zhǎng)度的數(shù)組。? ?3、匿名結(jié)構(gòu)體和聯(lián)合體?:C語(yǔ)言允許在結(jié)構(gòu)體或聯(lián)合體定義不帶標(biāo)簽的內(nèi)部結(jié)構(gòu)體或聯(lián)合體,簡(jiǎn)化代碼結(jié)構(gòu)。
    發(fā)表于 11-27 06:46

    開鴻智谷加入創(chuàng)新聯(lián)合體,共推先進(jìn)制造業(yè)與人力資源服務(wù)融合發(fā)展

    為深入貫徹人才強(qiáng)國(guó)與制造強(qiáng)國(guó)戰(zhàn)略,助力構(gòu)建現(xiàn)代化產(chǎn)業(yè)體系,湖南湘江新區(qū)正式啟動(dòng)“人力資源服務(wù)助力先進(jìn)制造業(yè)高質(zhì)量發(fā)展創(chuàng)新聯(lián)合體”(以下簡(jiǎn)稱“創(chuàng)新聯(lián)合體”)建設(shè)工作,并于11月1日在長(zhǎng)沙人力資源服務(wù)
    的頭像 發(fā)表于 11-03 17:21 ?1268次閱讀
    開鴻智谷加入創(chuàng)新<b class='flag-5'>聯(lián)合體</b>,共推先進(jìn)制造業(yè)與人力資源服務(wù)融合發(fā)展

    元蘿卜破局智能養(yǎng)老:攜聯(lián)合體攻堅(jiān)場(chǎng)景,以“心價(jià)比”升級(jí)情緒價(jià)值

    近日,在工業(yè)和信息化部、民政部聯(lián)合推動(dòng)的智能養(yǎng)老服務(wù)機(jī)器人結(jié)對(duì)攻關(guān)與場(chǎng)景應(yīng)用試點(diǎn)工作背景下,商湯科技旗下家用機(jī)器人品牌“元蘿卜”成功入選試點(diǎn)名錄,并受邀加入由潤(rùn)澤牽頭打造的“智能養(yǎng)老機(jī)器人創(chuàng)新聯(lián)合體
    的頭像 發(fā)表于 09-15 11:52 ?420次閱讀
    元蘿卜破局智能養(yǎng)老:攜<b class='flag-5'>聯(lián)合體</b>攻堅(jiān)場(chǎng)景,以“心價(jià)比”升級(jí)情緒價(jià)值

    行芯科技簽約組建EDA創(chuàng)新聯(lián)合體

    活動(dòng),行芯科技參與了《2025浙江省EDA產(chǎn)業(yè)白皮書》發(fā)布儀式。該白皮書以“精準(zhǔn)串鏈、生態(tài)筑圈、決策賦能”三大主線為核心,系統(tǒng)梳理了當(dāng)前產(chǎn)業(yè)發(fā)展現(xiàn)狀與未來(lái)方向,為政府決策、企業(yè)布局和產(chǎn)業(yè)創(chuàng)新提供了前瞻性的參考依據(jù),具有重要的行業(yè)指導(dǎo)價(jià)值。
    的頭像 發(fā)表于 09-03 10:41 ?3017次閱讀

    Cubeide1.18.1在線調(diào)試改變\"現(xiàn)場(chǎng)表達(dá)式\"的值提示找不到地址,為什么?

    from target 我新建工程,排除其他程序,只添加一個(gè)變量,依然存在這個(gè)問(wèn)題。 這個(gè)問(wèn)題,有時(shí)候會(huì)導(dǎo)致我用聯(lián)合體定義的控制寄存器錯(cuò)亂。感覺(jué)這個(gè)版本IDE,內(nèi)存調(diào)試處理的有些混亂。望能快速改進(jìn)
    發(fā)表于 06-12 06:50

    Cubeide1.18.1在線調(diào)試改變\"現(xiàn)場(chǎng)表達(dá)式\"的值提示找不到地址是怎么回事?

    from target 我新建工程,排除其他程序,只添加一個(gè)變量,依然存在這個(gè)問(wèn)題。 這個(gè)問(wèn)題,有時(shí)候會(huì)導(dǎo)致我用聯(lián)合體定義的控制寄存器錯(cuò)亂。感覺(jué)這個(gè)版本IDE,內(nèi)存調(diào)試處理的有些混亂。望能快速改進(jìn)
    發(fā)表于 06-10 08:26

    Cubeide1.18.1在線調(diào)試改變\"現(xiàn)場(chǎng)表達(dá)式\"的值提示找不到地址,怎么解決?

    from target 我新建工程,排除其他程序,只添加一個(gè)變量,依然存在這個(gè)問(wèn)題。 這個(gè)問(wèn)題,有時(shí)候會(huì)導(dǎo)致我用聯(lián)合體定義的控制寄存器錯(cuò)亂。感覺(jué)這個(gè)版本IDE,內(nèi)存調(diào)試處理的有些混亂。望能快速改進(jìn)
    發(fā)表于 06-06 08:27

    Cubeide1.18.1在線調(diào)試改變\"現(xiàn)場(chǎng)表達(dá)式\"的值提示找不到地址怎么解決?

    from target 我新建工程,排除其他程序,只添加一個(gè)變量,依然存在這個(gè)問(wèn)題。 這個(gè)問(wèn)題,有時(shí)候會(huì)導(dǎo)致我用聯(lián)合體定義的控制寄存器錯(cuò)亂。感覺(jué)這個(gè)版本IDE,內(nèi)存調(diào)試處理的有些混亂。望能快速改進(jìn)
    發(fā)表于 04-27 06:18

    C語(yǔ)言中結(jié)構(gòu)體與聯(lián)合體的深度解析:內(nèi)存布局與應(yīng)用場(chǎng)景

    4字節(jié)對(duì)齊) 成員訪問(wèn):通過(guò).運(yùn)算符獨(dú)立操作 生命周期:所有成員同時(shí)存在 1.2 聯(lián)合體(Union)的奧秘 聯(lián)合體通過(guò)內(nèi)存共享機(jī)制實(shí)現(xiàn)數(shù)據(jù)復(fù)用,其內(nèi)存大小由最大成員決定: union Data
    發(fā)表于 04-08 09:18

    長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體正式成立,拓維信息當(dāng)選理事長(zhǎng)單位

    3月22日,“長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體成立大會(huì)暨第一屆理事會(huì)議”在湖南商務(wù)職業(yè)技術(shù)學(xué)院隆重啟幕。會(huì)上,長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體正式成立,拓維信息當(dāng)選理事長(zhǎng)單位,拓維信息旗下開鴻智谷當(dāng)選
    的頭像 發(fā)表于 03-26 17:48 ?1032次閱讀
    長(zhǎng)沙新一代信息技術(shù)產(chǎn)教<b class='flag-5'>聯(lián)合體</b>正式成立,拓維信息當(dāng)選理事長(zhǎng)單位

    產(chǎn)教新篇|長(zhǎng)沙新一代信息技術(shù)產(chǎn)教聯(lián)合體揚(yáng)帆啟航!

    在深化現(xiàn)代教育體系建設(shè)的主軸推動(dòng)下,我國(guó)職業(yè)教育正以市域產(chǎn)教聯(lián)合體和行業(yè)產(chǎn)教融合共同體為雙翼,構(gòu)建起教育鏈、人才鏈與產(chǎn)業(yè)鏈、創(chuàng)新鏈深度融合的新格局。2025年3月22日,“長(zhǎng)沙新一代信息技術(shù)產(chǎn)教
    的頭像 發(fā)表于 03-24 18:09 ?928次閱讀
    產(chǎn)教新篇|長(zhǎng)沙新一代信息技術(shù)產(chǎn)教<b class='flag-5'>聯(lián)合體</b>揚(yáng)帆啟航!