新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > PLD器件的應用

        PLD器件的應用

        作者: 時間:2011-12-15 來源:網絡 收藏

        10.4 的應用

        本文引用地址:http://www.104case.com/article/190906.htm

        10.4.1 可編程的開發系統

        10.4.2 ABEL硬件描述語言

        一、ABEL源文件的結構

        二、ABEL的基本語法

        10.4.3 應用舉例

        10.4 的應用

        12.jpg

        10.4.1 可編程器件的開發系統

        10.4.2 ABEL硬件描述語言

        一、ABEL源文件的結構

        看一個簡單的ABEL源程序文件的例子。
        module G_3AND
        title‘ This is an example of 3 _input AND gate useing a GAL16V8’
        “device type;
        3 _AND device‘GAL16V8’;
        “input pins;
        A,B,C pin 2,3,4;
        “output pins;
        Y pin 18;
        “constants;
        1,0=H,L;
        equations
        Y=A&B&C;
        test_vectors([A,B,C]->[Y])
        [0,0,0]一>[0];
        [0,0,1]一>[0];
        [0,1,0]一>[0];
        [0,1,1]一>[0];
        [1,0,0]一>[0];
        [1,0,1]一>[0];
        [1,1,0]一>[0];
        [1,1,1]一>[1];
        end

        1.標題段

        標題語句是可選語句,ABEL在編譯時不處理該語句。格式:

        module (字符串)
        title ‘(字符串)’

        2.定義段

        (1)器件定義:用來確定所使用的器件。語句格式為:

        (器件序號) device‘器件名’;

        如:U1 device‘GAL16R8’;它定義了序號為U1 的器件是 GAL16R8。

        (2)信號和引腳及引腳類型定義:指定信號名稱及其對應的器件引腳,并說明信號的屬性,語句格式為:

        [!]信號名,[!]信號名,…[!]信號名 pin引腳號,引腳號,…引腳號
        [istype‘屬 性’];

        (3)常量定義:用來定義設計者習慣的常量標識符替代ABEL語言中的一些專用常量標識符,其語句格式為:

        標識符,標識符,… = 常量,常量,…;

        如: 1,0,X,CP=H,L,.X.,.C.;

        13.jpg

        (4)數組定義和表達式定義

        數組定義就是用一個標識符簡記一組數組元素。其語句格式為:

        標識符=[元素1,元素2,…];

        如: S=[ Q1, Q2, Q3];

        (5)注釋行:為便于閱讀程序而加入的注釋。編譯程序是不會處理它。

        如:“input pin;(輸入引腳)
        “output pin;(輸出引腳)

        3.邏輯描述段——編程設計的核心

        (1)邏輯方程。其格式為:

        equations
        方程1 ;
        方程2 ;

        方程n ;

        (2)真值表。其格式如下:
        truth _ table
        ([元素1,元素2…]—>[元素1,元素2,…])
        [×,×,…]—>[×,×,…]

        [×。×,…]—>[×,×,…];

        其中第一行是關鍵字,后面沒有分號,第二行是表頭,用圓括號括起來,后面沒有分號。括號內左邊是輸入信號數組,右邊是輸出信號數組,兩數組之間用賦值號連接。對于組合邏輯,賦值號為“->”,對于觸發器輸出,賦值號為“:>”。表頭下面為真值表,表的每一行作為一條語句,用分號結束。關鍵字和表頭也可以寫在同一行,但關鍵字和表頭之間要用空格隔開。在輸入和輸出數組中的元素可以是變量標識符(如[A,B,C]),也可以是數組標識符(如[A,FF]),而FF=[Q2,Q1,Q0],就是說,數組中可以嵌套數組。

        4.測試向量段——測試電路的邏輯功能是否正確

        結構如下:
        test _ vectors
        ([元素 1,元素2,…]—>[元素 1,元素 2,…])
        [×,×,…]—>[×,×,…];

        [×,×…]—> [×,×,…];

        5.結束段
        模塊設計結束時,用關鍵字end表示結束。因此end只與module對應。end后面沒有分號。

        下面給出了一個ABEL源文件的典型結構。

        module(字符串)
        title‘(字符串)’
        (字符串)device‘(器件名)’;
        [?。菪盘柮郏。菪盘柮?hellip;,[?。菪盘柮?pin 引腳號,引腳號,…,引腳號;
        標識符,標識符,… = 常量,常量,…;
        equations
        方程1;
        方程2;

        方程n;
        test _ vectors([輸入信號]>[輸出信號])
        end

        二、ABEL的基本語法

        l.合法字符與語句

        2.標識符與關鍵字

        3,常量和數值

        4.運算符

        5.數組及其運算

        16.jpg



        關鍵詞: PLD 器件

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 青龙| 湟中县| 响水县| 德江县| 汾阳市| 墨脱县| 柳州市| 清流县| 芮城县| 广河县| 蛟河市| 自治县| 洛隆县| 清河县| 锦州市| 德清县| 辽阳市| 扎鲁特旗| 泊头市| 宁河县| 连南| 拉孜县| 墨竹工卡县| 若羌县| 延长县| 神农架林区| 蕲春县| 胶州市| 克什克腾旗| 抚宁县| 铜川市| 灵山县| 台东市| 襄樊市| 商南县| 南安市| 双峰县| 阳山县| 洱源县| 昌平区| 孟村|