亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)用計(jì)數(shù)器的VHDL與Verilog HDL行為建模對比研究

        2022-10-15 15:54:18楊云海章芬芬
        現(xiàn)代信息科技 2022年15期
        關(guān)鍵詞:功能設(shè)計(jì)

        楊云海,章芬芬

        (韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512005)

        0 引 言

        硬件描述語言(以下簡稱為HDL)在電子設(shè)計(jì)自動(dòng)化(以下簡稱EDA)過程中,可以用于數(shù)字電路的建模和仿真。計(jì)數(shù)器是一種常用的數(shù)字電路模塊,在設(shè)計(jì)的過程經(jīng)常會(huì)被設(shè)計(jì)、調(diào)用。使用目前最為常用的兩種HDL(即VHDL與Verilog HDL)對實(shí)用計(jì)數(shù)器進(jìn)行行為建模,并對比兩種語言的建模結(jié)果,對實(shí)用數(shù)字電路的設(shè)計(jì)有一定的指導(dǎo)作用,有一定的研究意義。

        1 實(shí)用計(jì)數(shù)器功能規(guī)劃

        考慮到計(jì)數(shù)器模塊的實(shí)用性,能更方便地引入到更高層級的設(shè)計(jì)中,計(jì)數(shù)器模塊的控制接口要比較豐富。除了要有時(shí)鐘(clk)輸入以外,還要包含的控制信號有:異步清零(rst)、時(shí)鐘使能(en)、同步裝載(ld),等等;需要留有4位的裝載數(shù)據(jù)輸入端口(din);需要安排4位的計(jì)數(shù)輸出端口(dout)和1位的進(jìn)位(計(jì)滿)輸出端口(cout)。

        2 實(shí)用計(jì)數(shù)器的VHDL行為建模

        按照功能規(guī)劃,使用VHDL行為描述語句對電路進(jìn)行建模。電路模型的VHDL代碼如下:

        在程序中,由于需要使用了標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR)與整形數(shù)據(jù)的加法操作,對“+”運(yùn)算符進(jìn)行了重載,并且使用了數(shù)據(jù)類型轉(zhuǎn)換函數(shù),在整形與標(biāo)準(zhǔn)邏輯矢量之間進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。因此,需要打開IEEE庫中相應(yīng)的包。

        在結(jié)構(gòu)體中定義了一個(gè)“q”信號,在“reg”進(jìn)程中定義了一個(gè)“q1”變量。其中,“q1”變量用于暫存計(jì)數(shù)的結(jié)果,“q”信號用于把“q1”的計(jì)數(shù)結(jié)果傳遞出進(jìn)程以外。這樣的設(shè)置,層次分明,結(jié)構(gòu)清晰,提高了代碼的可讀性,為以后對模塊的修改提供了方便。

        在代碼中,使用了2個(gè)進(jìn)程(Process)表達(dá)電路的行為,進(jìn)程的標(biāo)號分別為:“reg”和“com”。其中,“reg”進(jìn)程表達(dá)了電路的時(shí)序邏輯,在時(shí)鐘信號“CLK”的推動(dòng)下,計(jì)數(shù)器進(jìn)行計(jì)數(shù);“com”進(jìn)程表達(dá)了電路的組合邏輯,根據(jù)“q”信號的取值情況,對計(jì)數(shù)輸出“dout”和進(jìn)位輸出“cout”進(jìn)行了驅(qū)動(dòng),把計(jì)數(shù)結(jié)果和進(jìn)位結(jié)果傳遞出模塊。

        在時(shí)序進(jìn)程“reg”中,由于需要對各種控制信號進(jìn)行判斷,使用了多層次嵌套的“if”語句。進(jìn)程敏感信號列表與“if”語句的嵌套,實(shí)現(xiàn)了電路的異步復(fù)位、時(shí)鐘使能和同步裝載的控制功能。

        3 實(shí)用計(jì)數(shù)器的Verilog HDL行為建模

        按照功能規(guī)劃,使用Verilog HDL行為描述語句對電路進(jìn)行建模。電路模型的Verilog HDL代碼如下:

        在代碼中,先是對電路的輸入、輸出端口進(jìn)行了定義,并定義了一個(gè)名為“q1”的寄存器類型變量(reg),用于計(jì)數(shù)結(jié)果的保存和累加。由于使用了“q1”寄存器,輸出端口不需要在過程之內(nèi)進(jìn)行賦值操作,所以保持了輸出端口“dout”和“cout”的網(wǎng)線(net)類型屬性。

        在“always”過程中,由“q1”變量實(shí)現(xiàn)對計(jì)數(shù)結(jié)果的暫存。敏感信號列表與嵌套的“if”語句實(shí)現(xiàn)了電路的異步復(fù)位、時(shí)鐘使能和同步裝載的控制功能。

        “q1”的計(jì)數(shù)結(jié)果由并行的連續(xù)賦值語句傳遞給輸出端口“dout”,并通過條件賦值語句對計(jì)數(shù)結(jié)果進(jìn)行判斷后,決定進(jìn)位輸出端口“cout”的值。

        4 VHDL與Verilog HDL綜合結(jié)果比較

        為了方便對比實(shí)用計(jì)數(shù)器的兩次電路建模,在2次的設(shè)計(jì)中,均采用了相同的輸入、輸出端口名稱,模塊內(nèi)需要用到的信號、變量等標(biāo)識符,也采用了相同的名稱。完成電路的行為建模以后,采用了Quartus Prime平臺,選擇使用Intel公司的FPGA,Cyclone 10 LP系列,10CL006YU256C8G 型號的PLD器件,對電路分別進(jìn)行了實(shí)現(xiàn)(全程編譯,即各層級的綜合),并進(jìn)行了功能仿真。

        在Quartus Prime平臺上完成全程編譯以后,VHDL與Verilog HDL兩次設(shè)計(jì)的編譯報(bào)告內(nèi)容都是一樣的,如圖1所示。

        圖1 實(shí)用計(jì)數(shù)器VHDL與Verilog HDL設(shè)計(jì)的編譯報(bào)告

        編譯報(bào)告顯示,2次的設(shè)計(jì),均使用了器件上的8個(gè)邏輯單元(LE),使用了4個(gè)寄存器(Register),和13個(gè)引腳(Pin)。由編譯報(bào)告可知, 2次設(shè)計(jì)所使用的PLD器件上的邏輯資源數(shù)量,是一樣的。

        通過查看2個(gè)設(shè)計(jì)的所產(chǎn)生的RTL網(wǎng)表,對比2次設(shè)計(jì)所形成的電路結(jié)構(gòu)。圖2顯示了2次設(shè)計(jì)所形成的RTL網(wǎng)表的對比。

        由于2次設(shè)計(jì)所使用的輸出、輸出端口,以及設(shè)計(jì)中用到的其他標(biāo)識符都盡量統(tǒng)一了名稱,所以,兩次設(shè)計(jì)形成的RTL網(wǎng)表結(jié)構(gòu)相同,大部分元件的名稱也一致(不一致的位置,只有4位寄存器元件的名稱)。由RTL網(wǎng)表可知,兩次設(shè)計(jì)形成的結(jié)果應(yīng)該是一致的。

        為了驗(yàn)證設(shè)計(jì)的正確性,以及驗(yàn)證2次設(shè)計(jì)所形成的結(jié)果,功能是否達(dá)到要求,功能是否一致,分別對2次設(shè)計(jì)進(jìn)行了功能仿真。圖3顯示了2個(gè)設(shè)計(jì)的功能仿真結(jié)果。

        圖2 實(shí)用計(jì)數(shù)器VHDL與Verilog HDL設(shè)計(jì)結(jié)果的RTL網(wǎng)表對比

        圖3 實(shí)用計(jì)數(shù)器VHDL與Verilog HDL設(shè)計(jì)結(jié)果的功能仿真結(jié)果對比

        為了比較直觀地對比2次設(shè)計(jì)的仿真波形,把2個(gè)設(shè)計(jì)的仿真輸入信號設(shè)置為完全一樣。通過對比兩次仿真的輸出結(jié)果,得到的結(jié)論是——功能仿真結(jié)果完全一致。功能仿真結(jié)果的一致,也驗(yàn)證了2個(gè)設(shè)計(jì)RTL網(wǎng)表基本一致的情況。

        對于2次設(shè)計(jì)的功能仿真進(jìn)行分析,考查設(shè)計(jì)結(jié)果是否滿足設(shè)計(jì)需求。從圖3的仿真波形可以看出:異步復(fù)位(rst)、時(shí)鐘使能(en)、同步裝載(ld)的控制功能均已實(shí)現(xiàn);計(jì)數(shù)輸出端口“dout”的范圍是0—15,計(jì)滿時(shí)(計(jì)數(shù)到達(dá)15的時(shí)候),進(jìn)位輸出“cout”拉高。

        因此,2次設(shè)計(jì)的結(jié)果是樣同的,并且都是符合功能規(guī)劃的。

        5 VHDL與Verilog HDL建模方法對比

        通過對比實(shí)用計(jì)數(shù)器的VHDL與Verilog HDL行為建模,比較兩種硬件描述語言在使用上的異同點(diǎn)。

        5.1 相同的方面

        使用兩種不同的HDL,在EDA流程上是相同的,即都是采用:文本設(shè)計(jì)輸入、全程編譯、設(shè)置矢量波形文件、仿真,這幾個(gè)步驟開展電路的設(shè)計(jì)與驗(yàn)證。當(dāng)然,使用不同的HDL,可能要在平臺上對于仿真所使用的語言進(jìn)行設(shè)置,但并非是所有平臺都需要這一設(shè)置,早期版本的Quartus就不需要作這一設(shè)置。所以,使用不同HDL進(jìn)行設(shè)計(jì)輸入,基本不會(huì)影響EDA的各個(gè)流程。

        5.2 不同的方面

        使用不同的HDL進(jìn)行電路建模,最大的不同在于——不同HDL對于電路功能的描述方法。以本文實(shí)用計(jì)數(shù)器的2次建模為例,雖然2次設(shè)計(jì)所實(shí)現(xiàn)的內(nèi)容完全一樣,但不同的HDL的描述方式區(qū)別很大。經(jīng)過對比與總結(jié),得出以下使用VHDL與Verilog HDL進(jìn)行電路建模的不同之處:

        (1)在程序結(jié)構(gòu)方面的不同。VHDL結(jié)構(gòu)嚴(yán)謹(jǐn),代碼的層次清晰,但要寫的代碼較多。

        Verilog HDL結(jié)構(gòu)則較為自由,語句的組織比較松散,但需要寫的代碼比較少。

        (2)在數(shù)據(jù)類型要求方面的不同。VHDL對于數(shù)據(jù)類型有嚴(yán)格的要求,需要引入庫、包,對運(yùn)算符進(jìn)行重載,才能實(shí)現(xiàn)不同數(shù)據(jù)類型對象之間的運(yùn)算(算術(shù)運(yùn)算、比較運(yùn)算、邏輯運(yùn)算,等等)。禁止不同類型數(shù)據(jù)的對象之間的賦值。要完成賦值,必須要先進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,因此需要引用一些包含數(shù)據(jù)類型轉(zhuǎn)換函數(shù)的包。

        Verilog HDL中的數(shù)據(jù)都被看作為“矢量”,在運(yùn)算和賦值時(shí)能自動(dòng)轉(zhuǎn)換,設(shè)計(jì)者不需要區(qū)分?jǐn)?shù)據(jù)類型,程序中不需要進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,即可對數(shù)據(jù)對象進(jìn)行運(yùn)算和賦值等操作。

        (3)與電路的映像方式不同。可綜合的HDL語句都要變成邏輯電路結(jié)構(gòu),因此,HDL可綜合語句都會(huì)和一些電路元件實(shí)現(xiàn)相應(yīng)的映射。但不同的HDL,語句與電路元件映射的方式和風(fēng)格,是有所差別的。

        VHDL對于電路的行為描述能力較好,行為描述結(jié)構(gòu)清晰,邏輯清楚,易于為人們所理解,但對于電路的映射,顯得層級較高,并不能達(dá)到一一對應(yīng)的關(guān)系。

        Verilog HDL的行為描述語句則與電路結(jié)構(gòu)有著較好的映射關(guān)系,比如:在本例中創(chuàng)建寄存器類型(reg)的變量,在綜合后會(huì)形成電路中的寄存器;語句中的各種條件判斷,也會(huì)映射為電路中相應(yīng)位置的各個(gè)比較器。

        總之,兩種硬件描述語言各有特點(diǎn),各有優(yōu)勢,無所謂孰優(yōu)孰劣。

        6 結(jié) 論

        本文通過對比VHDL與Verilog HDL對于實(shí)用計(jì)數(shù)器的行為模型,能得到兩種語言的不同特點(diǎn),對于今后開展數(shù)字電路的建模和設(shè)計(jì),有一定的幫助。

        猜你喜歡
        功能設(shè)計(jì)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達(dá)功能
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        久久久老熟女一区二区三区 | 亚洲福利天堂网福利在线观看 | 亚洲天堂av在线免费观看| 97久人人做人人妻人人玩精品| 日韩插啊免费视频在线观看| 亚洲午夜久久久久中文字幕| 中文字幕亚洲高清精品一区在线| 久久99精品久久久久婷婷| 欧美成人一区二区三区| 国产av专区一区二区三区| 国产精品一品二区三区| 国产av无码专区亚洲版综合| 亚洲av无码av日韩av网站| 加勒比在线一区二区三区| 亚洲av日韩综合一区尤物| 免费观看交性大片| 韩国19禁主播深夜福利视频| 中文熟女av一区二区| 中文有码人妻字幕在线| 亚洲va中文字幕| 一本无码人妻在中文字幕| 亚洲五月天中文字幕第一页| 国色天香中文字幕在线视频 | 青娱乐极品视觉盛宴国产视频| 国内精品视频一区二区三区| 二区三区亚洲精品国产| 操风骚人妻沉沦中文字幕| 国产熟妇人妻精品一区二区动漫| 在线观看国产三级av| 侵犯了美丽丰满人妻中文字幕| 影视av久久久噜噜噜噜噜三级 | 无码人妻品一区二区三区精99| 国产精品国产三级国产an| h视频在线播放观看视频| 国产激情久久久久影院老熟女免费 | 偷偷夜夜精品一区二区三区蜜桃| 美女不带套日出白浆免费视频| 国内少妇人妻丰满av| 自拍偷拍一区二区三区四区| 久久亚洲av无码精品色午夜| 精品久久久久久中文字幕|