新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > VHDL結構體的數據流描述法

        VHDL結構體的數據流描述法

        作者: 時間:2017-06-06 來源:網絡 收藏
        據流描述(dataflow description)是描述方法之一,它描述了程的運動路徑、運動方向和運動結果。例如,同樣是一個8位比較器采用法編程,則如例1-7所示。
        【例1-7】 用設計8位比較器
        LIBRARY IEEE;
        USE IEEE std_logic_1164.ALL;
        ENTITY comparator IS
        PORT (a,b:IN std_logic_vector(7 downto 0);
        g:out std_logic);
        END comparator;
        ARCHITECTURE dataflow OF  comp  IS
        BEGIN
        G =1 when (a = b) else0;
        END dataflow;
        上述程序設計的數據流程為:當a=b時,G=1;其余時間G=0。注意,數據流描述的句法與行為描述的句法是不一樣的。
        cale—when:條件信號賦值語句。
        with—select—when:選擇信號賦值語句。
        這兩種語句是數據流常用的語法,同樣采用布爾方程,也可用數據流,如例1-8所示。
        【例1-8】 用布爾方程的數據流描述法設計的8位比較器
        LIBRARY IEEE;
        USE IEEE std_logic_1164.ALL;
        ENTITY comparator IS
        PORT (a,b:IN std_logic_vector(7 downto 0);
        g:out std_logic);
        END  comparator;
        ARCHITECTURE bool OF comparator IS
        BEGIN
        g<=not(a(0)xorb(0))
        and not(a(1)xorb(1))
        and not(a(2)xorb(2))
        and not(a(3)xorb(3))
        and not(a(4)xorb(4))
        and not(a(5)xorb(5))
        and not(a(6)xorb(6))
        and not(a(7)xorb(7));
        END bool;
        布爾方程的數據流描述法描述了信號的數據流的路徑。這種描述法比例1-6的復雜,因為例1-6的描述與端口結構無關。只要a=b,G就輸出1,與a、b的大小無關。而例1-7是一個8位比較器,布爾方程定義的端口尺寸為8位。
        數據流描述法采用并發信號賦值語句,而不是進程順序語句。一個結構體可以有多重信號賦值語句,且語句可以并發執行。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梅河口市| 安平县| 长阳| 临猗县| 香港 | 洪洞县| 施甸县| 临洮县| 黄浦区| 鹤峰县| 镇沅| 勃利县| 乐昌市| 八宿县| 神木县| 丰原市| 宽甸| 尼勒克县| 广灵县| 杂多县| 河西区| 巴里| 通化县| 荃湾区| 祥云县| 称多县| 达州市| 宁陵县| 游戏| 东莞市| 江山市| 沙田区| 金门县| 论坛| 曲阜市| 丁青县| 峨山| 图们市| 德安县| 营山县| 固原市|