B3B2B1B CA CB CC CD CE CF CG

Similar documents
B3B2B1B0 CA CB CC CD CE CF CG

a b c d e f g C2 C1 2

untitled

(Microsoft Word - \245\274\244\300\246\250\301Z\260\252\247C13.doc)

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

D-Type entity D_FF is D :in std_logic; CLK :in std_logic; Q :out std_logic); end D_FF; architecture a of D_FF is process(clk,d) if CLK'EVENT and CLK =

(Microsoft Word - 103\300\347\267~\266\265\245\330\245N\275X)

mvc

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键

audiogram3 Owners Manual

epub83-1

小班上学期课程

untitled

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

ICD ICD ICD ICD ICD

B 6 A A N A S A +V B B B +V 2

The golden pins of the PCI card can be oxidized after months or years


1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

混訊設計流程_04.PDF

untitled

KT-SOPCx开发套件简明教程

會 議 紀 錄 各 業 務 部 門 工 作 報 告 第 10 屆 第 2 次 定 期 大 會 教 育 委 員 會 第 1 次 工 作 報 告 會 議 紀 錄 時 間 : 中 華 民 國 96 年 10 月 2 日 ( 星 期 二 ) 上 午 10 時 16 分 至 12 時 35 分 地 點 : 本

51 C 51 isp 10 C PCB C C C C KEIL

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC

PIC16F F MPLAB 08 16F LED 15 LED


CC213

Microsoft PowerPoint - Lecture7II.ppt

目 录

enews174_2

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

1 1

68369 (ppp quickstart guide)

EK-STM32F

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

CDMA扫频仪测试说明

BC04 Module_antenna__ doc

Bus Hound 5

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

Microsoft Word - Book9

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

ebook140-9

您 對 本 產 品 的 選 擇 充 分 顯 示 了 您 對 音 響 設 備 的 精 通, 我 們 十 分 感 謝 您 的 惠 顧, 並 為 本 公 司 提 供 優 質 產 品 一 貫 傳 統 而 感 到 無 比 的 自 豪 為 使 您 的 裝 置 與 使 用 能 得 到 最 好 的 發 揮, 我 們

民國八十九年台灣地區在校學生性知識、態度與行為研究調查

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Microsoft Word - 鄂卫办函[2009]64号.doc

全宋词1

& ((& ) ((

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

从 化 仙 娘 溪 & 乐 明 村 民 小 组 与 汤 物 臣 共 同 打 造 新 龙 围 空 间 新 龙 围 初 衷 是 打 造 成 一 个 集 村 民 聚 会 文 化 展 览 产 品 展 示 培 训 会 议 等 多 功 能 的 村 民 活 动 中 心, 在 2015 年 7 月 15 日 开 张

PowerPoint Presentation

Microsoft Word - 3D手册2.doc

第一章

科学计算的语言-FORTRAN95

ebook140-8

untitled

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

9 什 么 是 竞 争 与 冒 险 现 象? 怎 样 判 断? 如 何 消 除?( 汉 王 笔 试 ) 在 组 合 逻 辑 中, 由 于 门 的 输 入 信 号 通 路 中 经 过 了 不 同 的 延 时, 导 致 到 达 该 门 的 时 间 不 一 致 叫 竞 争 产 生 毛 刺 叫 冒 险 如

untitled

Microsoft Word - 三峽鎮衛生所_3_-張家宸.李永繁.doc

Microsoft Word - 武漢大學交流營心得_黃莉云_.doc

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

Microsoft Word - ch8 七段顯示器實習.doc

K7VT2_QIG_v3

信息

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

逢甲大學

User’s Manual

z x / +/- < >< >< >< >< > 3 b10x b10x 0~9,a~f,A~F, 0~9,a~f,A~F, x,x,z,z,?,_ x,x,z,z,?,_ h H 0~9,_ 0~9,_ d D 0~7,x,X,z,Z

K301Q-D VRT中英文说明书141009

言1.PDF

Microsoft Word - 澎湖田調報告_璉謙組.doc

untitled

行业

untitled

untitled

目次 

热设计网

r_09hr_practical_guide_kor.pdf


Guide to Install SATA Hard Disks

Microsoft Word - template.doc

今天 年春季号 总 92 期

*

( ) / / / / / / /

Transcription:

Lab6:7 段顯示器控制電路 [ 實驗說明 ] : 使用 ISE12.4 使用 VHDL 來設計 7 段顯示器控制電路 在這一個範例中, 你將利用 Seven_Segmenet.VHD 設計一個 HEX-to-seven-segment decoder 並且將資料透過 decoder 顯示到七節燈管上 開啟此專案所需 Test Bench(.tbw) 檔案, 並且利用 ISE12.4 的軟體完成整個設計流程, 同時利用 ISE12.4 的模擬功能來驗證結果的正確性! 此設計同時利用 Seven_Segment.ucf 來設定 I/O 腳的位置, 利用 Digilent Adept 軟體來燒錄 Seven_Segmene.bit 檔案到 FPGA 模擬板中, 驗證其設計結果是否正確 [ 實驗目地 ] : 當你完成整個專案之後, 你將學會以下的功能 (1). 利用 ISE12.4 的軟體開啟一個 Spartan3E FPGA 的專案. (2). 撰寫一個簡單的 VHDL 程式, 用 Syntax Check 來修正語法錯誤 (3). 使用 VHDL 來設計 7 段顯示器控制模組電路 (4). 產生測試型樣 Test Bench(.tbw) 來模擬你的設計. (5). 完成整個設計流程. 並產生 Seven_Segmene.bit 檔案 (6). 利用 FPGA Editor 來察看 FPGA 內部的結果, (7). 利用 Digilent Adept 來燒錄 Seven_Segmene.bit 檔案到 FPGA [ 系統設計說明 ] --HEX-to-seven-segment decoder -- Input: 4 bit Binary(B3 B2 B1 B) -- Segment_out: out (CA CB CG); -- -- a -- --- -- f b -- --- <- g -- e c -- --- -- d Binary(B3B2B1B) 7Seg Display(Seg1) 共陽極 Seg1 need CA CB CC CD CE CF CG

B3B2B1B CA CB CC CD CE CF CG 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CA=IN1+IN4+IN11+IN13 CB=IN5+IN6+IN11+IN12+IN14+IN15 CC=IN2+IN12+IN14+IN15 CD= IN1+IN4+IN7+IN1+IN15 CE= IN1+IN3+IN4+IN5+IN7+IN9 CF= IN1+IN2+IN3+IN7+IN13 CG= IN+IN1+IN7+IN12 IN1=1, IN2=1 以上使用 Schematic 非常複雜 S1 S AN AN1 AN2 AN3 7Seg 1 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 1 4 AN=S1+S=(S1 S ), AN1=S1+S, AN2=S1 +S, AN3=S1 +S =>Lab1:decoder2to4 (enable: E=)

使用 VHDL 設計可減少設計複雜度 [ 操作步驟 ]: (1) 開啟 ISE12.4 軟體, 開啟一個新的專案 : [File] [New Project]->Lab6 (C:\Xilinx\project\Lab6) [Project Name] : Lab6 [Project Location]: c: \Xilinix\project\Lab6 ( 依使用者設定的目錄 ). [Top-Level Module Type] : HDL ( 代表最上層設計模組是以 HDL 輸入方式的模組 ) (1) -2. 設定硬體元件的參數 [ 元件系列 (Device Family)]:Spartan3E ( 請參考 Basys2_rm.pdf) [ 元件名稱 (Device)] : XC3S1E ( 請參考 Basys2_rm.pdf) [ 元件包裝 (Package)]:CP 132( 請參考 Basys2_rm.pdf) [ 元件速度等級 (Speed)]: -5 ( FPGA 速度等級 ) [ 合成器工具 (Synthesis Tool)]:XST VHDL(VHDL 合成器的種類 ) [ 模擬器 (Simulator)] : ISim(ISE12.4 內建的模擬器 ) [ 產生模擬器的語言 (Preferred Language)] : VHDL

(2)Design Entry: 加入新設計檔案 : [Project] [New Source]-> VHDL Module ->File name: Seven_Segment [Save] Seven_Segment.vhd Clockn : input ( 時脈振盪晶體的輸入信號 ). Reset : input ( 當 Reset = 時, 清除內部計數器 ) Segment_out : Output ( 七節燈管輸出腳 ) Sweep: Output( 七節燈管掃描腳位 )

Add Two Library: use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; Add VHDL Code: architecture Behavioral of Seven_Ssegment is signal count:std_logic_vector(25 downto ); signal HEX:std_logic_vector(3 downto ); begin process(clockn,reset) begin if Reset='1' then count<=(others => '');HEX<=(others => ''); elsif Clockn'event and Clockn='1' then if count < 5 then count<=count+'1'; else count<= (others => '');HEX<=HEX+'1'; end if; end if; end process; Sweep<=""; ---- 七節燈管掃描電路, 此時設定全部輸出 with HEX SELect Segment_out<= "11111" when "1", --1 "11" when "1", --2 "11" when "11", --3 "111" when "1", --4 "11" when "11", --5 "1" when "11", --6 "1111" when "111", --7 "" when "1", --8 "1" when "11", --9 "1" when "11", --A "11" when "111", --b "111" when "11", --C

end Behavioral; "11" when "111", --d "11" when "111", --E "111" when "1111", --F "1" when others; -- (3)Synthesis & Implement Design: [Process]->(double click) Generate Programming File <Three green Check: It s O.K.> Seven_Segment.bit (Download File)

(4)Simulation( 模擬 ) with Testbench Testbench :[Project] [New Source] [VHDL Testbench] Filename= Seven_Segment_tb [Select Source] Seven_Segment clockn :5Mhz ( 週期 2ns:1ns+1ns) -- Stimulus process Reset_proc: process begin Reset<='1'; wait for Clock_period*2; Reset<=''; wait for Clock_period*48; -- insert stimulus here end process;

(4)-2. Simulation: [Design]->view: Simulation [ISim Simulator] (double click) [Behavioral Check Syntax]-> (double click) [Simulate Behavioral Model]->Zoom to Full View ->Check Function is O.K.????

F=5Mhz, too high->modify: if count < 3 then 記得改回去 ;(redo simulation) modify: if count < 3 1 2 3 b (5) 設定 I/O 腳位置, 利用 LED.UCF 來設定 I/O 腳的位置, 以得到正確輸出檔案. [Project] [New Source]-> [Implementation Constraints File] ->File Name: Seven_Segment (.ucf)-> [Save] -> Generate Programming File

NET "Clockn" LOC = "B8"; # Bank =, Signal name = MCLK NET "Reset" LOC = "G12"; # Bank =, Signal name = BTN NET "segment_out<>" LOC = "L14"; # Bank = 1, Signal name = CA NET "segment_out<1>" LOC = "H12"; # Bank = 1, Signal name = CB NET "segment_out<2>" LOC = "N14"; # Bank = 1, Signal name = CC NET "segment_out<3>" LOC = "N11"; # Bank = 2, Signal name = CD NET "segment_out<4>" LOC = "P12"; # Bank = 2, Signal name = CE NET "segment_out<5>" LOC = "L13"; # Bank = 1, Signal name = CF NET "segment_out<6>" LOC = "M12"; # Bank = 1, Signal name = CG NET "sweep<3>" LOC = "K14"; # Bank = 1, Signal name = AN3 NET "sweep<2>" LOC = "M13"; # Bank = 1, Signal name = AN2 NET "sweep<1>" LOC = "J12"; # Bank = 1, Signal name = AN1 NET "sweep<>" LOC = "F12"; # Bank = 1, Signal name = AN

(6) 下載與驗證 : 連接實驗板 (Digilent USB Cable)-> 連接到 USB -> 發展板 switch on-> PC:[Start]->digilent->Adept->Program-> 實驗板操作驗證 設計參考資料 : 多工掃描顯示使用多工掃描顯示時, 我們一次只讓一個七段顯示器的共同點得到驅動電壓而點亮, 也就是說同時間內只有一個七段顯示器可以顯示 ; 但當掃描速度夠快時, 由於人類視覺暫留的原理, 我們肉眼所看到的現象卻是所有的七段顯示器都穩定而且非閃爍的顯示 ( 每一個位數的七段顯示器之輸入掃描頻率至少要大於人眼的視覺暫留頻率 24Hz)