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

        ?

        VHDL中常用的數(shù)據(jù)對(duì)象

        2017-03-06 23:46:29劉春梅高香梅
        電子技術(shù)與軟件工程 2016年23期
        關(guān)鍵詞:信號(hào)

        劉春梅 高香梅

        摘 要

        簡要介紹了VHDL中數(shù)據(jù)對(duì)象的基本概念,從不同方面討論了常用的數(shù)據(jù)對(duì)象的區(qū)別與聯(lián)系,通過實(shí)例詳細(xì)比較了信號(hào)與變量的用法。

        【關(guān)鍵詞】VHDL 變量 信號(hào) 常量

        1 引言

        VHDL是一種常用的高級(jí)描述語言,通常包含庫、程序包、實(shí)體、構(gòu)造體和配置等部分。而數(shù)據(jù)對(duì)象根據(jù)不同情況可以定義在VHDL程序的這些部分中,尤其是信號(hào)和變量的使用易產(chǎn)生混淆。

        2 數(shù)據(jù)對(duì)象的區(qū)別與聯(lián)系

        在VHDL語言中,凡是可以賦予一個(gè)值的對(duì)象稱為客體也可叫做數(shù)據(jù)對(duì)象,能夠接受不同數(shù)據(jù)類型的賦值。常用的數(shù)據(jù)對(duì)象主要有常量、變量和信號(hào)三種。

        從定義范圍來看,常量和信號(hào)是全局量,變量是局部量。常量可以在程序包、實(shí)體、進(jìn)程中使用,一般在程序開始前對(duì)常量進(jìn)行賦值。信號(hào)是電子電路內(nèi)部硬件實(shí)體相互連接的抽象表示,可以在結(jié)構(gòu)體、程序包和實(shí)體說明中使用,信號(hào)名不能沖突。變量僅在進(jìn)程語句、過程語句、函數(shù)語句的結(jié)構(gòu)中使用,不能將信息帶出對(duì)它作出定義的當(dāng)前設(shè)計(jì)單元。其中,應(yīng)用在不同范圍的變量名可以重復(fù)。

        從延時(shí)特性來看,常量與變量的賦值是立即生效的,沒有延時(shí)。VHDL語言規(guī)則不支持變量附加延時(shí)語句,變量的賦值是一種理想化的數(shù)據(jù)傳輸,是立即發(fā)生。但是信號(hào)的代入賦值是允許延時(shí)的。比如,A0<=A1 AFTER 10 ns表示信號(hào)A0的值是由A1延時(shí)10ns所賦予的。

        從賦值方式來看,常量與變量采用的是“:=”進(jìn)行賦值,信號(hào)采用的是“<=”進(jìn)行代入賦值,但是不論何種數(shù)據(jù)對(duì)象,初始化賦值均采用“:=”,其中,采用“:=”對(duì)信號(hào)賦初值時(shí)候不產(chǎn)生延時(shí)。常量的值在程序運(yùn)行過程不能改變,但是信號(hào)與變量可以進(jìn)行賦值。

        常量、變量和信號(hào)所賦的值應(yīng)該與定義的表達(dá)式數(shù)據(jù)類型一致,否則會(huì)出現(xiàn)錯(cuò)誤。信號(hào)與變量也可相互賦值,賦值符號(hào)的選擇取決于被賦值的數(shù)據(jù)對(duì)象。由于變量只能在所定義進(jìn)程內(nèi)使用,若想將變量用于進(jìn)程外,則可以賦值給同類型的信號(hào)。在VHDL中,如果需要對(duì)某一數(shù)據(jù)進(jìn)行多次操作,則必須使用變量,因?yàn)閷?duì)信號(hào)的多次賦值只有最后一次會(huì)生效。

        3 變量與信號(hào)用法的實(shí)例分析

        數(shù)據(jù)對(duì)象中,變量與信號(hào)的用法易混淆,以四選一數(shù)據(jù)選擇器為例,分別采用信號(hào)賦值語句和變量賦值語句來實(shí)現(xiàn)。A0,A1,A2,A3分別為選擇器的一位數(shù)據(jù)輸入端,選擇端為S1,S0,其中S1S0分別為00,01,10,11時(shí),選擇A0,A1,A2,A3的值給輸出端口Q。采用信號(hào)賦值語句的結(jié)構(gòu)體程序如下:

        ARCHITECTURE one OF mux4 IS

        SIGNAL xy:INTEGER RANGE 0 TO 3;

        BEGIN

        PROCESS(A0,A1,A2,A3,S0,S1)

        BEGIN

        xy<=0;

        IF (S0='1') THEN xy<=xy+1;

        END IF;

        IF (S1='1') THEN xy<=xy+2;

        END IF;

        CASE xy IS

        WHEN 0=>Q<=A0;

        WHEN 1=>Q<=A1;

        WHEN 2=>Q<=A2;

        WHEN 3=>Q<=A3;

        WHEN OTHERS =>NULL;

        END CASE;

        END PROCESS;

        END one;

        該程序段內(nèi)xy是全局量的信號(hào),定義在結(jié)構(gòu)體中,其值與S1S0的值一樣,當(dāng)xy分別為0,1,2,3時(shí),將A0,A1,A2,A3賦給Q。經(jīng)過Quartus II9.0軟件程序編譯可以通過。仿真結(jié)果如圖1所示,其中,輸入A0設(shè)置為頻率較高的周期信號(hào),A1為低電平,A2位頻率較低的周期信號(hào),A3為高電平。

        從圖1仿真結(jié)果看出,采用信號(hào)賦值語句的結(jié)果不正確,分析其原因主要是因?yàn)樾盘?hào)賦值是在進(jìn)程結(jié)束時(shí)更新,啟動(dòng)一次進(jìn)程信號(hào)xy的值只能改變一次。

        下面采用變量賦值語句來實(shí)現(xiàn),對(duì)程序進(jìn)行如下修改:

        ARCHITECTURE one OF mux4 IS

        BEGIN

        PROCESS(A0,A1,A2,A3,S0,S1)

        VARIABLE xy:INTEGER RANGE 0 TO 3;

        BEGIN

        xy:=0;

        IF (S0='1') THEN xy:=xy+1;

        END IF;

        IF (S1='1') THEN xy:=xy+2;

        END IF;

        CASE xy IS

        WHEN 0=>Q<=A0;

        WHEN 1=>Q<=A1;

        WHEN 2=>Q<=A2;

        WHEN 3=>Q<=A3;

        WHEN OTHERS =>NULL;

        END CASE;

        END PROCESS;

        END one;

        該程序段中,作為局部量的變量定義在進(jìn)程中,經(jīng)過軟件編譯成功。圖2為采用變量賦值語句的仿真結(jié)果。

        從圖2看出,當(dāng)S1S0也就是xy的值為0時(shí),Q輸出A0的值,S1S0為1時(shí),Q輸出A1的值,S1S0為2時(shí),Q輸出A2的值,S1S0為3時(shí),Q輸出A3的值,所以采用變量賦值語句的結(jié)果實(shí)現(xiàn)了選擇器的功能,這是因?yàn)樽兞抠x值是立即更新,啟動(dòng)一次進(jìn)程變量xy的值為所需要的最后結(jié)果。

        4 結(jié)束語

        在VHDL中,數(shù)據(jù)對(duì)象類似于一種容器,它接受不同數(shù)據(jù)類型的賦值。常量,變量和信號(hào)是常用的三種數(shù)據(jù)對(duì)象。其中,信號(hào)與變量的使用容易產(chǎn)生混淆,通過實(shí)例分析討論了信號(hào)與變量,如果使用不當(dāng),結(jié)果會(huì)產(chǎn)生錯(cuò)誤,因此,在設(shè)計(jì)中要謹(jǐn)慎使用信號(hào)與變量。

        參考文獻(xiàn)

        [1]吳方,劉文娟.EDA技術(shù)[M].武漢:武漢大學(xué)出版社,2011.

        [2]劉昌華.EDA技術(shù)與應(yīng)用——基于Quartus II和VHDL[M].北京:北京航空航天大學(xué)出版社,2012.

        [3]胥勛濤.EDA技術(shù)項(xiàng)目化教程[M].北京:電子工業(yè)出版社,2011.

        作者單位

        安徽農(nóng)業(yè)大學(xué)經(jīng)濟(jì)技術(shù)學(xué)院 安徽省合肥市 230011

        猜你喜歡
        信號(hào)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        7個(gè)信號(hào),警惕寶寶要感冒
        媽媽寶寶(2019年10期)2019-10-26 02:45:34
        孩子停止長個(gè)的信號(hào)
        《鐵道通信信號(hào)》訂閱單
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        基于Arduino的聯(lián)鎖信號(hào)控制接口研究
        《鐵道通信信號(hào)》訂閱單
        基于LabVIEW的力加載信號(hào)采集與PID控制
        Kisspeptin/GPR54信號(hào)通路促使性早熟形成的作用觀察
        无码一区二区三区在线| 一区二区在线观看视频亚洲| 亚洲精品久久蜜桃av| 国产av无码国产av毛片| 亚洲va中文字幕无码久久不卡 | 在线毛片一区二区不卡视频| 国产av麻豆精品第一页| 亚洲最大成人网站| 久久国产劲暴∨内射| jjzz日本护士| 东京热东京道日韩av| 久久久久av综合网成人| 欧美国产精品久久久乱码| 国产国语对白一区二区三区| 按摩偷拍一区二区三区| 风韵丰满熟妇啪啪区老熟熟女| 国产无遮挡裸体免费视频 | 久久久久亚洲精品中文字幕| 中文字幕久无码免费久久| 日本黄色高清视频久久| 蜜桃视频在线看一区二区三区| 国产熟人av一二三区| 久久精品熟女不卡av高清| 国产色视频在线观看了| 国产后入清纯学生妹| 天堂√最新版中文在线天堂| 国产日韩午夜视频在线观看 | 精品人妖一区二区三区四区| 极品成人影院| 香蕉视频免费在线| 视频一区视频二区自拍偷拍| 乱中年女人伦av三区| 日韩精品成人一区二区三区| 精品日本一区二区视频| 99久久国产精品网站| 婷婷色中文字幕综合在线| 国产亚洲欧美另类第一页| 久久精品中文字幕有码| 国产免费av片无码永久免费| 久久无码一一区| 极品少妇高潮在线观看|