ABEL语言常用语句、真值表设计法课件_第1页
ABEL语言常用语句、真值表设计法课件_第2页
ABEL语言常用语句、真值表设计法课件_第3页
ABEL语言常用语句、真值表设计法课件_第4页
ABEL语言常用语句、真值表设计法课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABEL語言常用語句、真值表設計法

一、ABEL語言常用語句格式:MODULE模組名模組名由用戶自定義例:MODULE4comp1、Module(模組語句)說明:此語句是必須的,它是一個模組的頭,而且必須有一個END語句與之相配合,模組名相當於元件符號。ABEL語言常用語句2、TITLE標題語句:

格式:TITLE‘字串’例:Title‘4位二進位數值比較器’說明:此語句是可選的,主要說明模組的內容、用途、作者、設計時間和地點,單引號內為說明內容。ABEL語言常用語句3、Device器件定義語句:

器件名DEVICE實際器件;例:U09DEVICE‘P16V8S’器件名即設計模組中所用的識別字,實際器件為實際器件的工業型號,用字符串表示。說明:在ispLever

軟體中,實際器件是在菜單下選擇的,故器件定義語句可以省去。ABEL語言常用語句4、Pin管腳定義語句:

[!]信號名…PIN[管腳號…]ISTYPE[,屬性];例:!Clock,Reset,S1PIN12,15,3;說明:管腳定義語句說明信號識別字與真實器件管腳之間的關係,並給出可編程管腳的屬性。“!”表示低電平有效。5、NODE節點定義語句:

[!]節點名…NODE[節點號…]ISTYPE[,屬性];例:ANODE12=‘pos,com’;

表示節點12名為A,為正極性且信號為組合型。說明:節點定義語句和管腳定義語句類似,代表器件內部的中間信號,稱為“偽管腳”。ABEL語言常用語句6、常量定義語句:

常量名[,常量名]…=運算式[,運算式]…;例:

X=.X.;C=.C.;Y=‘cd'; "Y=^h4364;ADDR=[1,0,15];"ADDRisasetwith3elementsA,B,C=5,[1,0],6;"3constantsdeclaredhereA=B&C; "operationsonidentifiersarevalidA=[!B,C]; "setandidentifiersonright說明:簡化程式設計。ABEL語言常用語句7、宏定義語句及擴展:

宏名MACRO([啞變數,[啞變數]…]){塊};

宏定義中的塊可以用邏輯運算式描述,也可以用真值表來描述。例:用宏定義一個三輸入與非門。

①用邏輯運算式描述:

NAND3MACRO(A,B,C){!(?A&?B&?C)};

調用:D=NAND3(CLK,GA,GB);

則:D=!(Clk&GA&GB);ABEL語言常用語句8、ISTYPE屬性定義語句:

信號名[,信號名]…ISTYPE‘屬性[,屬性]…’;屬性定義語句用於對管腳或節點具有可編程特性的器件進行屬性定義,使具體的器件形成正確的邏輯並使設計優化。

ISTYPE屬性定義語句必須放在DEVICE器件定義語句、PIN管腳定義語句、NODE節點定義語句之後。例:

OUT0,OUT1,OUT2PIN3,4,5ISTYPE‘COM’;OUT3,OUT4PIN6,7ISTYPE‘REG’;ABEL語言常用語句管腳、節點常用屬性:關鍵字說明Pos正極性Neg

負極性Com組合邏輯輸出Reg寄存器輸出Buffer寄存器緩衝輸出Invert寄存器反相緩衝輸出Latch鎖存輸入Reg_dD觸發器輸出Reg_rsRS觸發器輸出Reg_jkJK觸發器輸出Reg_TT觸發器輸出9、邏輯方程語句:關鍵字EQUATIONS表示一組邏輯方程的開始。例:

EQUATIONS A=d0&d1#d2; !F=(B==C); F=!(B==C); WHEN(select==0)THENy=a; Q.CLK=CP;

Output.D=In1#In2;

Q:=Q+1;ABEL語言常用語句[WHEN條件THEN][!]識別字

=

運算式;[ELSE方程];[WHEN條件THEN][!]識別字

:=運算式;[ELSE方程];例:WHENA==BTHENY=D0;ELSEY=D1;WHEN(Mode==0)THEN{Out:=D0;S:=1;}ELSEWHEN(Mode==1)THEN{Out:=D1;T:=1;}10、WHEN-THEN-ELSE語句:ABEL語言常用語句關鍵字ENABLE用於三態輸出緩衝器的使能。ENABLE後的識別字必須是三態型的輸出,運算式的值僅用於使能三態緩衝器,而不賦值給信號。例:ENABLEY=C#D;Y=A&B;如果(C#D)為真,則輸出Y被使能(但Y的輸出信號不是C#D,是A&B)。ABEL語言常用語句11、真值表語句:TRUTH_TABLE(輸入向量->輸出向量)TRUTH_TABLE(輸入向量:>輸出向量)TRUTH_TABLE(輸入向量:>寄存器輸出->輸出向量)

->表示輸入輸出關係為組合型。

:>表示輸入輸出關係為寄存型。例:TRUTH_TABLE

([en,A,B]->Y)[0,.X.,.X.]->.Z.;[1,0,0]->0;[1,0,1]->1;[1,1,0]->1;[1,1,1]->0;ABEL語言常用語句

TRUTH_TABLE([en,A,B]->Y)[0,.X.,.X.]->0;[1,0,0]->0;[1,0,1]->1;[1,1,0]->1;[1,1,1]->0;enABY0XX01000101111011110真值表例:truth_table([a,b,c]:>q)0:>1;1:>0;2:>1;3:>0;4:>0;5:>0;6:>0;7:>1;例:TRUTH_TABLE([A,B]:>[Q1,Q0]->Y)[0,0]:>[0,1]->1;[0,1]:>[1,0]->0;[1,0]:>[1,1]->1;[1,1]:>[0,0]->1;等同於:

TRUTH_TABLE

([A,B]:>[Q1,Q0]->Y)0:>1->1;1:>2->0;2:>3->1;3:>0->1;STATE_DIAGRAM

狀態寄存器

STATE狀態運算式:[方程];[方程];…

轉移語句;

轉移語句可以為IF、CASE、GOTO語句。狀態運算式值為當前狀態;方程則給出當前狀態輸出;轉移語句指出下一狀態,時鐘信號到來,狀態才發生變化。10、狀態圖語句:ABEL語言常用語句modulestatemaclock,resetpin;P1,P0pinistype'reg,buffer';statema=[P1,P0];

stateA=[0,0];stateB=[1,0];

stateC=[1,1];stateD=[0,1];equations[P1,P0].clk=clock;[P1,P0].ar=reset;state_diagram

statemastatestateA:goto

stateB;statestateB:goto

stateC;statestateC:goto

stateD;statestateD:goto

stateA;end12、IFTHENELSE語句:IF運算式

THEN狀態運算式1[ELSE狀態運算式2];

ABEL語言常用語句STATE_DIAGRAM[Q3,Q1,Q0] STATES0:IFUP==0THENS1ELSES5; STATES1:IFUP==0THENS2ELSES0; STATES2:IFUP==0THENS1ELSES1;僅用於狀態機設計13、IFTHEN……ELSEIF語句:ABEL語言常用語句STATE_DIAGRAM[Q3,Q1,Q0] STATES0: IFCONTROL==0THENS0

ELSEIFCONTROL==1THENS1

ELSEIFCONTROL==2THENS5

ELSES0 STATES1:……

……僅用於狀態機設計14、CASE選擇語句:CASE

[運算式:狀態運算式][運算式:狀態運算式]

……ENDCASE;

例:STATE_DIAGRAM[Q2,Q1,Q0] STATES0:CASE A==0:S1; A==1:S2; A==2:S3; A==3;S0;

ENDCASE;ABEL語言常用語句僅用於狀態機設計

15、GOTO語句:

GOTO狀態運算式;ABEL語言常用語句STATE_DIAGRAM[Q3,Q1,Q0] STATES0:GOTOS1 STATES1:GOTOS2 STATES2:GOTOS3僅用於狀態機設計

16、WITH……ENDWITH語句:轉移語句狀態運算式WITH

方程;[方程];……ENDWITH;ABEL語言常用語句僅用於狀態機設計STATE_DIAGRAM[Q3,Q1,Q0] STATES0:IFUP==0THENS1ELSES5

WITHC_UP=1;

ENDWITH; STATES1:IFUP==0THENS2ELSES0 ;交通燈

設計MODULEJTD CP PIN; R,G,YPINISTYPE’COM’; S1,S0NODEISTYPE’REG’; S=[S1,S0]; S0=^B00;S1=^B01;S2=^B10;EQUATIONSS.CLK=CP;STATE_DIAGRAMS

STATES0:R=1;G=0;Y=0GOTOS1;

STATES1:R=0;G=1;Y=0GOTOS2;

STATES2:R=0;G=0;Y=1GOTOS0;ENDRYG17.TEST_VECTORS測試向量語句:

TEST_VECTORS

(輸入向量->輸出向量)

[輸入信號值->輸出信號值;]

……例:

TEST_VECTORS([A,B]->[Y0,Y1])0->.X.;1->.X.;[1,0]->.X.;[1,1]->.X.;ABEL語言常用語句二、真值表設計法

1、純組合邏輯電路型輸入信號的值便可決定輸出信號的邏輯值格式:

MODULE模組名 (輸入引腳定義) (輸出引腳定義) (……) TRUTH_TABLE(輸入向量->輸出向量)

(……)

END

->表示輸入輸出關係為組合型。

例:設計一個BCD七段解碼器MODULEBCD_DECODERD3,D2,D1,D0 PIN;A,B,C,D,E,F,G PINISTYPE’COM’;DATA=[D3,D2,D1,D0];LED=[A,B,C,D,E,F,G];TRUTH_TABLE(DATA->LED) 0->^B1111110; 1->^B0110000; 2->^B1101101; 3->^B1111001; 4->^B0110011; 5->^B1011011; 6->^B1011111; 7->^B1110000; 8->^B1111111; 9->^B1111

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论