那曲檬骨新材料有限公司

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

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

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

帶你了解SystemVerilog中的關(guān)聯(lián)數(shù)組

sanyue7758 ? 來源:硅芯思見 ? 2023-06-09 09:46 ? 次閱讀

在SystemVerilog中,我們知道可以使用動(dòng)態(tài)數(shù)組實(shí)現(xiàn)數(shù)組元素個(gè)數(shù)的動(dòng)態(tài)分配,即隨用隨分,其中元素在數(shù)組中的索引是連續(xù)的,但是如果要實(shí)現(xiàn)數(shù)組元素訪問時(shí)不采用連續(xù)索引的話,采用動(dòng)態(tài)數(shù)組和定寬數(shù)組就不是很合適,容易造成空間的浪費(fèi),為此在SystemVerilog中引入了關(guān)聯(lián)數(shù)組(Associative Array),實(shí)現(xiàn)了一種查找表,該查找表的索引可以根據(jù)用戶需要指定,不限于整形,其內(nèi)存空間直到使用時(shí)才會(huì)分配,即只針對(duì)寫入的元素分配存儲(chǔ)空間,其使用方式類似于Perl等其他語言中的哈希結(jié)構(gòu)

關(guān)聯(lián)數(shù)組與其他數(shù)組表面上的不同主要體現(xiàn)在數(shù)組的索引上,非關(guān)聯(lián)數(shù)組的索引一般都是整型變量,而關(guān)聯(lián)數(shù)組的索引可以是任何的數(shù)據(jù)類型。

下面我們將通過示例說明關(guān)聯(lián)數(shù)組是如何定義和常用的方法如何使用。

1 關(guān)聯(lián)數(shù)組的聲明格式

關(guān)聯(lián)數(shù)組采用在方括號(hào)中放置數(shù)據(jù)類型的形式來進(jìn)行聲明,其格式如下:

data_type array_name [index_type];

其中

data_type :指定的是數(shù)組成員數(shù)據(jù)類型,可以是定寬數(shù)組允許的任何類型;

array_name:指定關(guān)聯(lián)數(shù)組的名字,符合標(biāo)識(shí)符命名規(guī)則,當(dāng)然每個(gè)公司命名規(guī)范可能不一樣;

index_type:關(guān)聯(lián)數(shù)組索引的數(shù)據(jù)類型,如果指定了索引數(shù)據(jù)類型,那么對(duì)于數(shù)組元素訪問時(shí)索引就必須要匹配指定的索引數(shù)據(jù)類型。同時(shí)索引的類型也可以使用通配符,此時(shí)對(duì)于同一數(shù)組中元素索引時(shí),索引的數(shù)據(jù)類型就可以不一樣;

下面主要針對(duì)不同的index_type和關(guān)聯(lián)數(shù)組中常用到的方法進(jìn)行示例說明。

2 關(guān)聯(lián)數(shù)組不同的索引類型

2.1 index_type為string

【示例】

44f5ea0c-0610-11ee-962d-dac502259ad0.png

仿真結(jié)果】

451491c8-0610-11ee-962d-dac502259ad0.png

示例中定義了兩個(gè)數(shù)組,arr1數(shù)組的索引類型為string,數(shù)組中每個(gè)元素的類型為int,再給arr1初始化時(shí),通過“鍵:值對(duì)”實(shí)現(xiàn)對(duì)應(yīng)元素的初始化,arr1[First]的值為’hAB,arr2[Second]的值為’hCD,在訪問arr1中的元素時(shí),也可以如示例中通過索引“First”和“Second”來訪問。通過該示例,對(duì)于關(guān)聯(lián)數(shù)組中特定索引元素的空間分配賦值可以通過{index:value} 方式實(shí)現(xiàn)。

2.2 index_type為class

【示例】

45250c1a-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

45425216-0610-11ee-962d-dac502259ad0.png

示例中,聲明的關(guān)聯(lián)數(shù)組arr的索引類型為packet(class),packet聲明了三個(gè)句柄,pkt1和pkt2都指向了創(chuàng)建的對(duì)象,pkt3為空句柄null,通過數(shù)組名.[句柄]的方式實(shí)現(xiàn)了對(duì)于特定句柄作為索引的數(shù)組元素的賦值操作。示例中,通過foreach遍歷數(shù)組中所有元素,通過仿真結(jié)果可以看到其中所有的賦值操作都賦值成功。這里有一點(diǎn)需要注意,盡管句柄pkt3為null,對(duì)其的賦值操作仍然是成功的,但是需要注意的是,如果再聲明一個(gè)pkt4空句柄,并且在“arr[pkt3] = ‘hC”之后給arr[pkt4]賦值為”’hD”,那么對(duì)arr[pkt3]中的值將會(huì)被覆蓋掉,這是因?yàn)閜kt3和pkt4的值相同都是null,所以后續(xù)如果進(jìn)行對(duì)數(shù)組的遍歷訪問操作,訪問的結(jié)果還是只能訪問到三個(gè)元素,而不是四個(gè),即對(duì)于索引類型為class的關(guān)聯(lián)數(shù)組,關(guān)聯(lián)數(shù)組的索引句柄可以為null,且所有句柄值為null的數(shù)組元素指向同一個(gè)值。同時(shí)通過示例注意到,關(guān)聯(lián)數(shù)組中元素在使用foreach進(jìn)行遍歷時(shí),并不是按照數(shù)組元素初始化的順序進(jìn)行輸出的,而是根據(jù)索引類型排列相對(duì)順序的。

2.3 index_type不能為4值邏輯變量

【示例】

455346c0-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

4568ddd2-0610-11ee-962d-dac502259ad0.png

示例中,L4_type為自定義的兩位logic類型,因?yàn)閘ogic具有(0、1、x、z四種),數(shù)組arr的索引類型使用的就是L4_type,在給數(shù)組中元素進(jìn)行初始化時(shí),使用“2’hx”和“2’hz”作為索引,此時(shí)進(jìn)行仿真時(shí)會(huì)產(chǎn)生提示信息(不同仿真工具產(chǎn)生的信息級(jí)別不同),通過foreach遍歷數(shù)組,數(shù)組中并不包含對(duì)于索引為“2’hx”和“2’hz”的數(shù)組元素,即關(guān)聯(lián)數(shù)組的數(shù)組索引不能為“x”和“z”

2.4 index_type為*

如果index_type沒有指定類型,而是使用通配符“*”時(shí),雖然貌似通配符可以匹配任何類型,但是在SystemVerilog中,此時(shí)的“通配符*”只能匹配任何的integral數(shù)據(jù)類型(參見IEEE1800-2017 6.11),對(duì)于其他非integral類型不能用于匹配!

【示例】

457a2916-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

4595de54-0610-11ee-962d-dac502259ad0.png

示例中,關(guān)聯(lián)數(shù)組arr聲明索引類型時(shí)使用了“*”,在initial塊中,將句柄pkt作為數(shù)組的索引進(jìn)行賦值操作。對(duì)上述代碼編譯時(shí)仿真器報(bào)錯(cuò),這主要是因?yàn)閏lass不屬于SystemVerilog中定義的integral類型。那么index_type為“*”的關(guān)聯(lián)數(shù)組中索引的類型是不是必須要一致呢?看下例。

【示例】

45aa2f80-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

45b9e8da-0610-11ee-962d-dac502259ad0.png

示例中,關(guān)聯(lián)數(shù)組arr在聲明時(shí)index_type為“*”,并且在通過不同類型的索引對(duì)數(shù)組arr中相應(yīng)元素進(jìn)行了賦值操作,并且將這些元素通過不同類型的索引都打印了出了。雖然這些索引的類型不同,但是這些類型有一個(gè)共同點(diǎn)都屬于SystemVerilog中的integral類型,可見關(guān)聯(lián)數(shù)組的索引如果為“*”的話,在通過不同類型索引給數(shù)組元素賦值時(shí),這些索引必須都是integral類型。

其實(shí)從一個(gè)側(cè)面可以體會(huì)到,SystemVerilog中所有的integral類型在某種程度上可以相互轉(zhuǎn)換,類似于C語言中的不同數(shù)據(jù)類型之間的自動(dòng)轉(zhuǎn)換一樣。另外,可能有人會(huì)問,為什么對(duì)于這個(gè)數(shù)組打印消息是不使用foreach結(jié)構(gòu)呢?請(qǐng)看下例。

【示例】不能使用foreach結(jié)構(gòu)

45c96f4e-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

45dd6724-0610-11ee-962d-dac502259ad0.png

示例中,關(guān)聯(lián)數(shù)組arr聲明時(shí)其中index_type使用了“*”,然后給arr中相關(guān)元素通過不同的索引類型進(jìn)行了賦值初始化操作,最后企圖使用foreach遍歷arr時(shí)報(bào)錯(cuò),正如報(bào)錯(cuò)信息顯示,當(dāng)關(guān)聯(lián)數(shù)組聲明時(shí)索引為“*”,那么該數(shù)組不能使用使用foreach對(duì)該數(shù)組進(jìn)行遍歷

3 關(guān)聯(lián)數(shù)組常用方法

關(guān)聯(lián)數(shù)組中在使用時(shí)常會(huì)使用一些內(nèi)建的方法,這些常用的方法如下表所示,

方法名 作用
num()/size() functionint num();
function int size();
返回當(dāng)前數(shù)組元素個(gè)數(shù)
delete(index) function void delete([input index]);
刪除指定索引的數(shù)組元素
exists(index) function int exists(input index);
檢查指定索引的數(shù)組元素是否存在,如果存在返回1,否則為0
first(var) function int first(ref index);
將數(shù)組第一個(gè)元素的索引賦給變量var
last(var) function int last(ref index);
將數(shù)組最后一個(gè)元素的索引賦給變量var
next(var) function int next(ref index);
將數(shù)組當(dāng)前元素的下一個(gè)元素的索引賦給變量var
prev(var) function int prev(ref index);
將數(shù)組當(dāng)前元素的上一個(gè)元素的索引賦給變量var

那么,關(guān)聯(lián)數(shù)組的這些方法如何使用呢?下面通過示例了解下。

【示例】num(),exists(),delete(index)

45f7d6e0-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

461d17d4-0610-11ee-962d-dac502259ad0.png

示例中,通過“數(shù)組名.num()”的方式獲取到當(dāng)前數(shù)組中元素的個(gè)數(shù)。然后通過foreach遍歷了數(shù)組中所有的元素。通過“數(shù)組名.exists(索引號(hào))”的方式,可以檢測數(shù)組中是否存在指定索引的元素。

當(dāng)通過“數(shù)組名.delete(索引號(hào))”的方式可以刪除數(shù)組中指定索引號(hào)的數(shù)組元素,示例中通過arr.delete(1)刪除了數(shù)組中索引號(hào)為“1”的元素后,再次調(diào)用arr.exists(1)檢查數(shù)組中是否還存在索引號(hào)為“1”的元素,通過仿真結(jié)果可以看到,數(shù)組中索引號(hào)為“1”的元素已經(jīng)被刪除。

這里需要注意,示例中使用的三個(gè)方法的格式分別是:“數(shù)組名.num()”、“數(shù)組名.exists(索引號(hào))”和“數(shù)組名.delete(索引序號(hào))”,其中delete后也可以不帶索引號(hào),此時(shí)將會(huì)將整個(gè)數(shù)組“清空”!另外,在使用時(shí)一定要注意,關(guān)聯(lián)數(shù)組如果不對(duì)其進(jìn)行任何有效寫入時(shí),數(shù)組的大小時(shí)為0。、,即關(guān)聯(lián)數(shù)組在使用之前是不會(huì)耗費(fèi)存儲(chǔ)空間的。

【示例】first(),next()

4629e662-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

464b8452-0610-11ee-962d-dac502259ad0.png

示例中,在initial過程塊中,首先通過“數(shù)組名.first(變量名)”的方式將數(shù)組arr中第一個(gè)(最小)索引的值賦給給定的索引變量temp(注意變量類型與數(shù)組索引類型一致),但是此時(shí)arr中沒有任何元素,所以此時(shí)通過數(shù)組名調(diào)用“arr.first(temp)”方法返回0,即輸出“1st entry does not exist!”。

通過for循環(huán)對(duì)數(shù)組進(jìn)行初始化,之后再次“arr.first(temp)”,因?yàn)閿?shù)組中有元素,所以first()方法返回非零,同時(shí)將初始化后數(shù)組中第一個(gè)(最小)索引賦值給temp。

然后通過“arr.next(temp)”獲取比給定的索引值(temp)大的最小索引值,如果存在下一項(xiàng),則將下一項(xiàng)的索引賦給索引變量temp,因?yàn)榻o定的temp此時(shí)值為0,所以next()方法調(diào)用后,將數(shù)組下一個(gè)元素的索引賦給了變量temp,所以仿真結(jié)果此時(shí)輸出temp值變?yōu)榱?.示例的最后do...while()循環(huán)將first()和next()配合使用,有效地遍歷數(shù)組。

這里需要注意,示例中使用的方法的格式分別是:“數(shù)組名.first(索引變量)”和“數(shù)組名.next(索引變量)”。

【示例】

465dbba4-0610-11ee-962d-dac502259ad0.png

【仿真結(jié)果】

467c2396-0610-11ee-962d-dac502259ad0.png

示例中,在initial過程塊中,首先通過for循環(huán)對(duì)數(shù)組進(jìn)行初始化,之后執(zhí)行“arr.last(temp)”,因?yàn)閿?shù)組中有元素,所以last()方法返回非零,同時(shí)將初始化后數(shù)組中最后(最大)索引賦值給temp。

然后通過“arr.prev(temp)”獲取比給定的索引值(temp)小的最大索引值,如果存在上一項(xiàng),則將上一項(xiàng)的索引賦給索引變量temp,因?yàn)檎{(diào)用last(temp)方法后給temp的值為3,所以prev()方法調(diào)用后,將數(shù)組上一個(gè)元素的索引賦給了變量temp,所以仿真結(jié)果此時(shí)輸出索引為temp的數(shù)組元素的值輸出.示例的最后將last()和prev()配合使用可以有效地遍歷數(shù)組

這里需要注意,示例中使用的方法的格式分別是:“數(shù)組名.last(索引變量)”和“數(shù)組名.prev(索引變量)”。

上述first()、next()、last()和prev()這些方法在使用的時(shí)候一定要注意,如果關(guān)聯(lián)數(shù)組索引類型為“*”的話,這些方法不能使用。





審核編輯:劉清

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

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83936
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110395
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137717

原文標(biāo)題:敲黑板,帶你了解SystemVerilog中的關(guān)聯(lián)數(shù)組

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    轉(zhuǎn)一篇Systemverilog的一個(gè)牛人總結(jié)

    () ;//釋放空間l 隊(duì)列在隊(duì)列增加或刪除元素比較方便。l 關(guān)聯(lián)數(shù)組當(dāng)你需要建立一個(gè)超大容量的數(shù)組關(guān)聯(lián)數(shù)組,存放稀疏矩陣的值。表示方
    發(fā)表于 08-27 14:50

    求職寶典:寒武紀(jì)2019筆試題

    。(2)動(dòng)態(tài)數(shù)組:可以在仿真時(shí)分配空間或者調(diào)整寬度,這樣在仿真中就可以使用最小的存儲(chǔ)量。在聲明時(shí),其下標(biāo)為空[ ],使用new[ ]操作符來分配空間。(3)關(guān)聯(lián)數(shù)組SystemVerilog提供
    發(fā)表于 12-24 11:55

    PHP數(shù)組排序

    數(shù)組排序(6個(gè)) sort() - 以升序?qū)?b class='flag-5'>數(shù)組排序rsort() - 以降序?qū)?b class='flag-5'>數(shù)組排序 reversal sort)asort() - 根據(jù)值,以升序?qū)?b class='flag-5'>關(guān)聯(lián)數(shù)組進(jìn)行排序(associ
    發(fā)表于 11-04 07:48

    基于社交網(wǎng)絡(luò)和關(guān)聯(lián)數(shù)據(jù)的服務(wù)網(wǎng)絡(luò)構(gòu)建方法

    網(wǎng)絡(luò)可用服務(wù)的急劇增加對(duì)面向服務(wù)計(jì)算技術(shù)的發(fā)展起到了極大的推動(dòng)作用。針對(duì)服務(wù)的規(guī)模和利用率遠(yuǎn)沒有達(dá)到預(yù)期,以及服務(wù)之間交互關(guān)系的復(fù)雜性問題,提出基于社交網(wǎng)絡(luò)和關(guān)聯(lián)數(shù)據(jù)的服務(wù)網(wǎng)絡(luò)構(gòu)建方法。首先,結(jié)合
    發(fā)表于 12-06 13:50 ?0次下載
    基于社交網(wǎng)絡(luò)和<b class='flag-5'>關(guān)聯(lián)數(shù)</b>據(jù)的服務(wù)網(wǎng)絡(luò)構(gòu)建方法

    基于本體的軟件工程關(guān)聯(lián)數(shù)據(jù)的自動(dòng)構(gòu)建

    針對(duì)目前在分布異構(gòu)的大規(guī)模軟件開發(fā)難以高效地知曉信息和發(fā)現(xiàn)知識(shí)的問題,將語義網(wǎng)引入軟件工程領(lǐng)域,對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行細(xì)粒度語義關(guān)聯(lián),提出本體構(gòu)建、關(guān)聯(lián)抽取和發(fā)現(xiàn)的方法,實(shí)現(xiàn)基于本體的軟件工程關(guān)
    發(fā)表于 12-22 17:03 ?0次下載
    基于本體的軟件工程<b class='flag-5'>關(guān)聯(lián)數(shù)</b>據(jù)的自動(dòng)構(gòu)建

    SystemVerilog數(shù)組的賦值、索引和切片

    數(shù)組可以作為參數(shù)傳遞給子程序,當(dāng)數(shù)組作為值傳遞給子程序時(shí),會(huì)將這個(gè)數(shù)組復(fù)制一份傳遞給子程序。
    的頭像 發(fā)表于 10-20 10:13 ?5450次閱讀

    SystemVerilog動(dòng)態(tài)數(shù)組的大小更改展示

    需要使用" new "操作符實(shí)例化一個(gè)動(dòng)態(tài)數(shù)組,使用[]表示。在實(shí)例化過程,會(huì)設(shè)置動(dòng)態(tài)數(shù)組的大小。
    的頭像 發(fā)表于 10-21 09:43 ?1524次閱讀

    SystemVerilog的操作方法

    SystemVerilog提供了幾個(gè)內(nèi)置方法來支持數(shù)組搜索、排序等功能。
    的頭像 發(fā)表于 10-31 10:10 ?2976次閱讀

    SystemVerilog關(guān)聯(lián)數(shù)組

    關(guān)聯(lián)數(shù)組實(shí)際上是一種查找表,內(nèi)存空間直到被使用時(shí)才會(huì)分配,每個(gè)數(shù)據(jù)項(xiàng)都會(huì)有一個(gè)特定的“鍵(索引)”,索引的類型不局限于整型。
    的頭像 發(fā)表于 10-31 10:12 ?3723次閱讀

    SystemVerilog可以嵌套的數(shù)據(jù)結(jié)構(gòu)

    SystemVerilog除了數(shù)組、隊(duì)列和關(guān)聯(lián)數(shù)組等數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)還可以嵌套。
    的頭像 發(fā)表于 11-03 09:59 ?1667次閱讀

    網(wǎng)絡(luò)和變量的未壓縮數(shù)組

    SystemVerilog有兩種類型的數(shù)組:壓縮數(shù)組和非壓縮數(shù)組。壓縮數(shù)組是連續(xù)存儲(chǔ)的位的集合,通常稱為向量。非壓縮
    的頭像 發(fā)表于 02-09 14:50 ?736次閱讀
    網(wǎng)絡(luò)和變量的未壓縮<b class='flag-5'>數(shù)組</b>

    使用SystemVerilog解決數(shù)組問題

    數(shù)獨(dú)是一種非常流行的游戲,數(shù)獨(dú)本質(zhì)上也是一個(gè)約束問題,所以我們可以讓SystemVerilog的約束求解器來幫助我們解決。 約束求解器的精妙之處就是,我們只描述約束限制,繁重的數(shù)值生成工作由工具來幫我們完成。 你只需“既要...又要...”,其他的讓下人干吧。
    的頭像 發(fā)表于 03-08 14:06 ?1645次閱讀

    一些有趣的數(shù)組相關(guān)的SystemVerilog約束

    我們在工作中常常會(huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的Systemverilog數(shù)組約束示例。
    的頭像 發(fā)表于 03-08 13:12 ?1018次閱讀

    一些有趣的數(shù)組相關(guān)的SystemVerilog約束

    我們在工作中常常會(huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的**Systemverilog數(shù)組約束**示例
    的頭像 發(fā)表于 05-30 11:13 ?832次閱讀

    隨機(jī)抽取SV數(shù)組的一個(gè)元素方法實(shí)現(xiàn)

    如果想從一個(gè)關(guān)聯(lián)數(shù)組隨機(jī)選取一個(gè)元素,需要逐個(gè)訪問它之前的元素,原因是沒辦法能夠直接訪問到第N個(gè)元素。上面的程序示范了如何從一個(gè)以整數(shù)值作為索引**的關(guān)聯(lián)數(shù)組隨機(jī)選取一個(gè)元素。
    的頭像 發(fā)表于 03-21 10:11 ?1113次閱讀
    隨機(jī)抽取SV<b class='flag-5'>數(shù)組</b><b class='flag-5'>中</b>的一個(gè)元素方法實(shí)現(xiàn)
    百家乐官网技巧头头娱乐| 大发888代理佣金| 百家乐官网赌场破解方法| 大发888亚洲游戏咋玩| 老k百家乐官网的玩法技巧和规则| 365棋牌游戏| 24山分阴阳| 皇冠网址大全| 澳门百家乐单注下注| 百家乐官网游戏开发软件| 老虎机上分器原理图| 鑫鑫百家乐官网的玩法技巧和规则 | 电子百家乐| 易球百家乐娱乐城| 百家乐官网最佳注码法| bet365滚球| 百家乐电投| 任我赢百家乐官网自动投注分析系统| 威尼斯人娱乐场网址| 属马做生意坐向| 百家乐官网赌术揭秘| 威尼斯人娱乐城金杯娱乐城| 百家乐官网| 百家乐官网视频二人麻将| 大发888娱乐场手机版| 立博百家乐游戏| 宝格丽百家乐官网娱乐城| 大发888游戏平台 送1666元礼金领取lrm | 云鼎娱乐城怎么存钱| 百家乐棋牌游戏正式版| 百家乐官网园鼎盛娱乐场| 欧博娱乐| 送彩金百家乐的玩法技巧和规则| 百家乐官网小钱赢钱| 荃湾区| 做生意讲究风水吗| 百家乐官网视频官方下载| 顶级赌场官方安卓版手机下载| 百家乐单人操作扫描道具| 澳门百家乐游戏| 黄金城百家乐官网免费下载|