Cpld vhdl www hyivs tnc edu tw
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

CPLD-VHDL 國立新營高工 WWW.HYIVS.TNC.EDU.TW 沈慶陽 PowerPoint PPT Presentation


  • 166 Views
  • Uploaded on
  • Presentation posted in: General

CPLD-VHDL 國立新營高工 WWW.HYIVS.TNC.EDU.TW 沈慶陽. VHDL. VHDL 就是 VHSIC(Very High Speed Integrated Circuit) Hardware Description Language 的 縮寫 , 即非常高速積體電路的硬體描述語言 . VHDL is a Hardware Description Language, Not a Programming language. VHDL 是硬體描述語言 , 不是程式語言 . PACKAGE. VHDL STRUCTURE( 結構 ). 包裝.

Download Presentation

CPLD-VHDL 國立新營高工 WWW.HYIVS.TNC.EDU.TW 沈慶陽

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cpld vhdl www hyivs tnc edu tw

CPLD-VHDL國立新營高工WWW.HYIVS.TNC.EDU.TW沈慶陽


Cpld vhdl hyivs tnc tw

VHDL

VHDL就是VHSIC(Very High Speed Integrated

Circuit) Hardware Description Language的

縮寫,即非常高速積體電路的硬體描述語言.

VHDL is a Hardware Description Language,

Not a Programming language.

VHDL 是硬體描述語言,

不是程式語言.


Vhdl structure

PACKAGE

VHDL STRUCTURE(結構)

包裝

  • ENTITY

描述電路的I/O介面

  • ARCHITECTURE

描述電路的特性和運作

structure

Description

Dataflow

Description

Behavioral

Description

結構性描述

資料流描述

行為性描述


Vhdl and gate

使用VHDL設計一個兩輸入AND GATE(及閘)

a

b

and_2

(檔名)

y


Example

EXAMPLE:第一個測試程式(兩輸入及閘)

使用程式庫與零件盒

LIBRARY IEEE;(使用內建IEEE程式庫)

USE IEEE.STD_LOGIC_1164.ALL;(使用零件盒內所有項目)

ENTITY and_2 IS

PORT (a,b : IN STD_LOGIC;

y : OUT STD_LOGIC

);

END and_2;

ENTITY描述電路的外部包裝,亦即I/O接腳.

a

b

and_2

(檔名)

y

ARCHITECTURE dataflow OF and_2 IS

BEGIN

y <= a AND b;

END dataflow;

Architecture用以描述ENTITY

所涵蓋的電路行為和特性.

此例為AND閘, y=a*b

註:此例and_2(斜体字係檔名).存檔的檔名為and_2.vhd

請以此例作一個NOT GATE(反閘),檔名inv_1.vhd


Dataflow description

Dataflow Description(資料流描述)(反閘)

使用程式庫與零件盒

LIBRARY IEEE;(使用內建IEEE程式庫)

USE IEEE.STD_LOGIC_1164.ALL;(使用零件盒內所有項目)

ENTITY inv_1 IS

PORT (a : IN STD_LOGIC;

y : OUT STD_LOGIC

);

END inv_1;

ENTITY描述電路的外部包裝,亦即I/O接腳.

inv_1

(檔名)

a

y

ARCHITECTURE dataflow OF inv_1 IS

BEGIN

y <=NOT a;

END dataflow;

Architecture用以描述ENTITY

所涵蓋的電路行為和特性.

此例為NOT閘, y<=NOT a

註:此例inv_1(斜体字係檔名).存檔的檔名為inv_1.vhd

請參考此例,製作一個兩輸入OR GATE(或閘)


Cpld vhdl hyivs tnc tw

語法:

--程式開頭—

LIBRARY 程式庫 (目錄) 名稱

USE 程式庫名稱.零件盒名稱.指定項目

使用程式庫與零件盒

範例:

--程式開頭—

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

使用(內建)IEEE程式庫

使用IEEE程式庫的STD_LOGIC_1164

零件盒內所有項目


Entity

ENTITY語法如下: --ENTITY是描述I/O接腳的規格--

ENTITY電路單體名稱 IS

PORT ( 訊號A : 模式 資料型態;

   訊號B : 模式 資料型態;

………

訊號N : 模式 資料型態 );

END電路單體名稱 ;

ENTITY(電路單體)

ENTITY語法範例:

ENTITYand_2 IS

PORT (a,b :IN STD_LOGIC;

y :OUT STD_LOGIC );

ENDand_2 ;

and_2

(檔名)

a

b

y


Entity1

範例:半加器HALFADD的電路單體範例

ENTITYHALFADDIS

PORT ( A,B :IN BIT;

Sum,Carry:OUT BIT);

ENDHALFADD;

ENTITY電路單體的語法範例(半加器)

A(被加數)

HALFADD

(檔名)

Sum(和)

B(加數)

Carry(進位)


Entity2

範例:4對1多工器MUX4的電路單體範例

ENTITYMUX4IS

PORT ( A : IN STD_LOGIC;

B : IN STD_LOGIC;

C : IN STD_LOGIC;

D: IN STD_LOGIC;

S: IN STD_LOGIC_VECTOR(1 DOWNTO 0);

Y: OUT STD_LOGIC);

ENDmux4;

ENTITY電路單體的語法範例(多工器)

A

MUX4

(檔名)

B

Y

C

D

S0

S1


Entity port

IN:輸入模式,即此訊號需由電路單體之外的電路來驅動;

IN也是VHDL Port中內定的訊號模式.

2. OUT:輸出模式,即此訊號僅能輸出電路單體之外去驅動外

   圍電路,不可回授回單體之內驅動內部電路.

3. BUFFER:緩衝模式,是一種可以回授驅動單體內電路的輸

出模式.但須注意:

a.不能有多重驅動的情形.

b.僅能回授接到內部訊號,或其它電路單體同為緩衝模式的Port訊號.

4. INOUT:代表雙向模式PORT訊號,即可同時代表IN,OUT與

BUFFER等模式訊號.

ENTITY裡PORT的四種輸出入模式


Entity port1

BIT

2. BIT_VECTOR(0 TO 7)

3. STD_LOGIC

4. STD_LOGIC_VECTOR(15 DOWNTO 7)

ENTITY裡PORT的四種基本資料型態

PS: STD_LOGIC為IEEE-1164所提供的標準,定義為:

X: Forcing Unknown;浮接不定

0: Forcing 0 ;低電位

1: Forcing 1 ;高電位

Z: High Impedance;高阻抗

W: Weak Unknown;弱浮接

L: Weak 0;弱低電位

H: Weak 1 ;弱高電位

- : Don’t care ;不必理會


Architecture

ARCHITECTURE語法如下:

ARCHITECTURE架構名稱 OF電路單體名稱(檔名)IS

區域訊號宣告

BEGIN

架構描述

END架構名稱;

ARCHITECTURE架構描述

ARCHITECTURE 語法範例(雙輸入AND閘)

ARCHITECTURE dataflow OFand_2IS

BEGIN

y <= a AND b;

END dataflow;


Architecture1

ARCHITECTURE架構描述範例(半加器)

ARCHITECTURE 語法範例(HALFADD半加器)

ARCHITECTURE behave OFHALFADDIS

BEGIN

Sum <= A xor B;

Carry <= A and B;

END behave;


Cpld vhdl hyivs tnc tw

行為性描述(Behavioral Descriptions) 反及閘NAND Gate

行為性描述係使用Process敘述的方式來完成(Sequential執行模式).

屬於高階描述方式(High-level Description).

LIBRARY IEEE; (使用內建IEEE程式庫)

USE IEEE.STD_LOGIC_1164.ALL; (使用零件盒內所有項目)

ENTITY nand2 IS

PORT (a,b : IN STD_LOGIC;

y : OUT STD_LOGIC

);

END nand2;

ARCHITECTURE behavior OF nand2 IS

BEGIN

process (a,b)

begin

if ( a=‘1’) and (b=‘1’) then

y<=‘0’;

else y<= ‘1’;

end if;

End process;

END behavior;


Dataflow descriptions nand gate

資料流描述(Dataflow Descriptions) 反及閘NAND Gate

資料流描述係利用布林方程式來表現各信號之間的代數關係.

屬於並行(Current)敘述的方式.

LIBRARY IEEE; (使用內建IEEE程式庫)

USE IEEE.STD_LOGIC_1164.ALL; (使用零件盒內所有項目)

ENTITY nand IS

PORT (a,b : IN STD_LOGIC;

y : OUT STD_LOGIC

);

END nand;

ARCHITECTURE dataflow OF nand IS

BEGIN

y <= a NAND b;

END dataflow;


Cpld vhdl hyivs tnc tw

結構性描述(Structure Descriptions) 反及閘NAND Gate

結構性描述是由VHDL的netlist所組成,這些netlist就好像在schematic中的netlist,因為所有的零件都是由signal連接而成.結構性描述是階層性的(hierarchical),使用Component與Port Map,Component的功能能夠讓我們作元件資料庫的設計,它與

Port Map結合可以讓我們利用現有的Component像堆積木一般累積出複雜的電路.

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY nand2 IS

PORT (a,b : IN STD_LOGIC;

y : OUT STD_LOGIC

);

END nand2;

ARCHITECTURE structure OF nand2 IS

Signal i:BIT;

component AND_2

port( i1,i2:in STD_LOGIC;

o1:out STD_LOGIC);

end component;

component inverter

port(i1:in STD_LOGIC;

o1:out STD_LOGIC);

end component;

BEGIN

cell1:AND_2 port map (a,b,i);

cell2:inverter port map (i,y);

END structure;

***於此例中,需先完成cell 1 (nand_2)及閘

和 cell 2(inverter)反閘之程式,


  • Login