1 / 35

花蓮高工電子科教學觀摩

花蓮高工電子科教學觀摩. 課程名稱 : CPLD 數位電路設計 單元 : 算術邏輯電路設計範例 指導教授:陳 華 昌 ( 彰化師大 ) 教學指導:李 建 輝 ( 花蓮高工 ) 授課教師:潘 威 霖 ( 實習教師 ). AHDL 之簡介. 一般數位電路之設計發展是以基本數位電路,或用現成之數位 IC 電路予以繪製連線, 但若電路較複雜時,繪製電路實在是繁雜且浪費時間,因此便發展出硬體電路之描述 語言 HDL ( Harwar Description Language ) 作邏輯電路之設計描述 , 而今天要介紹的是由 Altera 公司發展的 HDL 語法簡稱 AHDL 。.

paulos
Download Presentation

花蓮高工電子科教學觀摩

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 花蓮高工電子科教學觀摩 課程名稱:CPLD數位電路設計 單元:算術邏輯電路設計範例 指導教授:陳 華 昌(彰化師大) 教學指導:李 建 輝(花蓮高工) 授課教師:潘 威 霖(實習教師)

  2. AHDL之簡介 • 一般數位電路之設計發展是以基本數位電路,或用現成之數位IC電路予以繪製連線, 但若電路較複雜時,繪製電路實在是繁雜且浪費時間,因此便發展出硬體電路之描述語言HDL(Harwar Description Language)作邏輯電路之設計描述,而今天要介紹的是由Altera公司發展的HDL語法簡稱AHDL。

  3. AHDL編輯規則簡述 電路名稱 SUBDESIGN ex1_t ( A , B ︰INPUT﹔ C[1..0] ︰OUTPUT﹔ ) VARIABLE ff[7..0] :DFF﹔ at_zero :NODE﹔ BEGIN % 主程式 % END; io宣告 邏輯函數 變數宣告 主程式起始 註解 NOTE︰電路圖編輯檔案的副檔名為”.gdf ” AHDL編輯檔案的副檔名為”.tdf ”

  4. 一、半加器(Half Adder) • 腳位 :輸入線兩條:A、B 輸出線兩條:S、C • 真值表: 0 1 1 0 0 0 0 1

  5. 電路圖編輯模式設計半加法器

  6. AHDL編輯半加法器之範例 • EX1: SUBDESIGN hadd_2 ( A,B : INPUT ; S,C : OUTPUT; ) BEGIN c=a&b; % % s=a$b; % % END;

  7. AHDL編輯半加法器之範例 • EX2: SUBDESIGN hadd_1 ( A,B : INPUT ; S,C : OUTPUT; ) BEGIN TABLE A,B=> S,C; 0,0 => 0,0; 0,1 => 1,0; 1,0 => 1,0; 1,1 => 0,1; END TABLE; END;

  8. 說明:運算子與比較符號

  9. 說明:條件之聲明判斷(IF、ELSIF、ELSE、THEN、CASE、WHEN)說明:條件之聲明判斷(IF、ELSIF、ELSE、THEN、CASE、WHEN) • HDL語法之條件聲明判斷如IF、ELSIF、ELSE、THEN、CASE、WHEN,等類同於微電腦之BASIC及C等等語言之意義。

  10. IF、ELSIF、ELSE、THEN應用實例:簡易邏輯運算單元IF、ELSIF、ELSE、THEN應用實例:簡易邏輯運算單元 SUBDESIGN EZLU ( A,B,S[1..0] : INPUT ; D : OUTPUT; ) BEGIN IF S = = 0 THEN D = !A; ELSIF S = = 1 THEN D = A & B; ELSIF S = = 2 THEN D = A # B; ELSIF S = = 3 THEN D = A $ B; End IF; END;

  11. CASE、WHEN應用實例:簡易邏輯運算單元 SUBDESIGN EZLU ( A,B,S[1..0] : INPUT ; D : OUTPUT; ) BEGIN CASE S[] IS WHEN 0 => D = !A; WHEN 1 => D = A & B; WHEN 2 => D = A # B; WHEN 3 => D = A $ B; WHEN OTHERS => D = A; END CASE; END;

  12. 二、全加器(Full Adder) • 腳位 :輸入線三條:A、B、Ci 輸出線兩條:S、Co • 真值表: 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1

  13. 電路圖編輯模式設計全加法器

  14. AHDL編輯全加法器之範例 • EX1:SUBDESIGN fadd_1 ( A,B,Ci : INPUT ; S,Co : OUTPUT; ) BEGIN IF (A==0 & B==0 & Ci==0) THEN S=GND; Co=GND; %S is node , Co is node % ELSIF (A==0 & B==0 & Ci==1) THEN S=VCC; Co=GND; ELSIF (A==0 & B==1 & Ci==0) THEN S=VCC; Co=GND; ELSIF (A==0 & B==1 & Ci==1) THEN S=GND; Co=VCC; ELSIF (A==1 & B==0 & Ci==0) THEN S=VCC; Co=GND; ELSIF (A==1 & B==0 & Ci==1) THEN S=GND; Co=VCC; ELSIF (A==1 & B==1 & Ci==0) THEN S=GND; Co=VCC; ELSE S=VCC; Co=VCC; END IF; End;

  15. AHDL編輯全加法器之範例 • EX2: SUBDESIGN fadd_2 ( A,B,Ci : INPUT ; S,Co : OUTPUT; ) BEGIN S=A$B$Ci; Co=(A&B)#(B&Co)#(A&Co); End;

  16. 說明:結點與群的表示方法 • 在AHDL語法中,單一節點的定值是以”VCC”與”GND”表示,如下表:

  17. 說明:結點與群的表示方法 • 群為節點的集合。群的表示方法如下表:

  18. 三、四位元加法器 • 腳位:輸入線八條:A3、A2、A1、A0、 B3、B2、B1、B0 輸出線五條:Cout、S3、S2、S1、S0 • 真值表:

  19. 電路圖編輯模式設計四位元加法器

  20. AHDL編輯四位元加法器之範例 EX1︰ INCLUDE "hadd_g.inc"; INCLUDE "fadd_g.inc"; % FUNCTION hadd_t (a, b) % % RETURNS (s, c); % % FUNCTION fadd_g (a, b, ci) % % RETURNS (s, co); % SUBDESIGN add4_book ( A[3..0],B[3..0] : INPUT ; S[3..0],Cout : OUTPUT;)

  21. AHDL編輯四位元加法器之範例 VARIABLE h0 : hadd_g; f[3..1] : fadd_g; BEGIN h0.a=A0; h0.b=B0; f[].a=A[3..1]; f[].b=B[3..1]; f1.ci=h0.c; f[3..2].ci=f[2..1].co; S0=h0.s; S[3..1]=f[3..1].s; Cout=f2.co; END;

  22. AHDL編輯四位元加法器之範例 • EX2: SUBDESIGN add4_1 ( A[3..0],B[3..0] : INPUT ; Co, S[3..0] : OUTPUT; ) BEGIN (Co,S[ ])=(GND,A[ ])+(GND,B[ ]); END;

  23. 說明:群的計算方法

  24. 四、四位元加減法器 • 腳位:控制線一條:sub 輸入線八條:A3、A2、A1、A0、 B3、B2、B1、B0 輸出線五條:Cout、S3、S2、S1、S0 • 真值表:

  25. 電路圖編輯模式設計四位元加減法器

  26. AHDL編輯四位元加減法器之範例 • EX1: SUBDESIGN subadd4_1 ( sub,A[3..0],B[3..0] : INPUT ; Co, S[3..0] : OUTPUT; ) BEGIN IF sub THEN (Co,S[ ])=(GND,A[ ])-(GND,B[ ]); ELSE (Co,S[ ])=(GND,A[ ])+(GND,B[ ]); END IF; END;

  27. 有 獎 徵 答

  28. 1、下列何者為硬體描述語言的 英文簡稱? (1)BASIC (2)JAVA (3)HTML (4)HDL

  29. 2、AHDL編輯電路檔案的副檔名為下列何者? (1)“.gdf ” (2)“.tdf ” (3)“.vhd” (4)“.inc”

  30. 3、AHDL編輯電路中運算子!# 之意義為何? (1)互斥或閘 (2)互斥反或閘 (3)反或閘 (4)反及閘

  31. 4、群A[5..1][3..1]其最低位元為下列何者? (1)A[1][1] (2)A[5][1] (3)A[5][3] (4)A[1][3]

  32. 5、A[1..0] + B[10..9]所代表之意義為下列何者? (1)A1 A0 + B9 B10 (2)A0 A1 + B9 B10 (3)A1 A0 + B10 B9 (4)A0 A1 + B10 B9

  33. 實驗一:以電路圖編輯模式設計 一個八位元加法器 • 檢測一、利用Waveform Editor完成波形模擬(Simulator)。 • 檢測二、將接腳載入實驗板上,以完成硬體電路燒錄。

  34. 實驗二:以AHDL編輯模式設計 一個八位元加減法器 • 檢測一、利用Waveform Editor完成波形模擬(Simulator)。 • 檢測二、將接腳載入實驗板上,以完成硬體電路燒錄。

  35. 教 學 完 畢非常感謝各位於百忙中前來聆聽 敬 請 指 教 授課者:花蓮高工電子科實習教師潘威霖

More Related