VHDL语言的基本结构课件_第1页
VHDL语言的基本结构课件_第2页
VHDL语言的基本结构课件_第3页
VHDL语言的基本结构课件_第4页
VHDL语言的基本结构课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

VHDL語言的基本結構

什麼是VHDL語言?它是20世紀80年代初,由美國國防部為其超高速積體電路VHSIC計畫提出的硬體描述語言,它支持硬體的設計、綜合、驗證和測試。

IEEE於1987年公佈了VHDL的標準版本(IEEESTD1076/1987),1993年重新公佈了新的標準(IEEESTD1076-1993)。

VHSIC(VeryHighSpeedIntegratedCircuit)

Hardware

Description

LanguageVHDL的優點VHDL描述能力比其他硬體描述語言更強,用於設計複雜的、多層次的數字系統。支持設計庫和設計的重複使用;具有相對獨立性,設計者可以不管硬體結構及最終設計實現的目標器件;支持廣泛,目前大多數EDA軟體都支持VHDL語言;更方便地向ASIC過渡;VHDL有良好的可讀性,容易理解。VHDL原始檔案基本格式五個部分實體(Entity)結構體(Architecture)配置(Configuration)程式包(Package)庫(Library)可選LIBRARY庫名; --庫USE庫名.程式包名.; --程式包ENTITY實體名IS --實體 PORT(……);END實體名;ARCHITECTURE結構體名OF實體名 --結構體 (………)END結構體名;VHDL原始檔案基本格式例:4選1數據選擇器LIBRARYIEEE; --庫USEIEEE.STD_LOGIC_1164.ALL; --程式包ENTITYex2IS --實體

PORT(i0,i1,i2,i3,a,b:INSTD_LOGIC; q:OUTSTD_LOGIC);ENDex2;ARCHITECTUREex2_aOFex2IS --結構體

SIGNALsel:STD_LOGIC_VECTOR(1DOWNTO0);BEGINsel<=b&a;q<=i0WHENsel=“00”ELSEi1WHENsel=“01”ELSEi2WHENsel=“10”ELSEi3WHENsel=“11”ELSE‘x’;ENDex2_a;1、實體格式:

ENTITY

實體名IS[GENERIC(類屬表);][PORT(端口表);]

END

實體名;說明所設計的邏輯電路的輸入輸出信號及其特性(輸入、輸出、雙向)ENTITYmux21aIS

PORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDmux21a;實體2選1多路選擇器的VHDL實體描述

PORT(端口)說明PORT(端口名:端口模式數據類型;{端口名:端口模式數據類型});端口名是設計者為實體的每一個對外通道所取的名字端口模式是指這些通道上的數據流動方式數據類型是指端口上流動的數據的表達格式或取值類型,VHDL要求只有相同數據類型的端口信號和運算元才能相互作用。

PORT說明語句是對一個設計實體介面的說明及對設計實體與外部電路的介面通道的說明,其中包括對每一介面的輸入輸出模式和數據類型的定義。其格式如下:IN輸入,信號只能自端口到實體OUT

輸出,信號只能自實體到端口INOUT

雙向,信號既可輸入又可輸出BUFFER

緩衝,信號自實體輸出,又有內部回饋(Datathatgoesoutoftheentityandisalsofed-backinternally)Entity端口模式:VHDL中的端口:InOutInoutBufferBlk1Blk3Blk4Blk5Blk2InInoutOutBufferEntity端口模式:Out與Buffer的區別Entitytest1isport(a:instd_logic;b,c:outstd_logic);endtest1;architectureaoftest1isbeginb<=not(a);c<=b;--Errorenda;Entitytest2isport(a:instd_logic;b:bufferstd_logic;c:outstd_logic);endtest2;architectureaoftest2isbeginb<=not(a);c<=b;enda;2、結構體功能:對數據類型、常數、信號、副程式和元件等元素的說明描述實體邏輯行為。格式:ARCHITECTURE

結構體名OF

實體名

IS[說明語句]BEGIN[功能描述語句]END

結構體名;ARCHITECTUREoneOFmux21aISBEGINy<=aWHENs='0'ELSEb;ENDone;結構體2選1多路選擇器的VHDL結構體描述ENTITYmux21aIS

PORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDmux21a;ARCHITECTUREoneOFmux21aIS

BEGINy<=aWHENs='0'ELSEb;ENDone;2選1多路選擇器的VHDL描述3、VHDL庫庫(Library)是用於存放預先編譯好的程式包(Package),程式包中定義了數據集合體、邏輯操作和元件等。主要是聲明在設計或實體中將用到的常數,數據類型,元件及副程式等。庫可以使設計者共用已經編譯好的設計結果。IEEE庫:IEEE標準庫

使用需聲明STD庫:VHDL標準庫

使用無需聲明ASIC庫:EDA廠商提供庫

使用需聲明WORK庫:現行作業庫,當前工作目錄的所有設計

使用無需聲明USER庫:用戶自定義庫

使用需聲明STD_LOGIC_1164程式包STD_LOGIC_ARITH程式包STD_LOGIC_UNSIGNED程式包VHDL庫的種類庫的用法USE語句的使用有兩種常用格式:

USE庫名.程式包名.專案名;

USE庫名.程式包名.ALL;例:

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.STD_ULOGIC;USEIEEE.STD_LOGIC_1164.RISING_EDGE;USEIEEE.STD_LOGIC_1164.ALL;格式:LIBRARY庫名;

USE庫名.程式包名.All;

庫說明的作用範圍從一個實體說明開始到其所屬的結構體、配置為止,當一個根源程式中出現兩個以上的實體時,必須重複說明。例:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexample1IS(……)ENDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYexample2IS(……)END請說明各語句的含義LibraryIEEEUSEIEEE.STD_LOGIC_1164.ALL;ENTITYexampleISPORT(a,b,c,d:INSTD_LOGIC; e:ou

温馨提示

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

评论

0/150

提交评论