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 =

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

a b c d e f g C2 C1 2

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

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

1 什么是Setup 和Holdup时间?


IC芯片自主创新设计实验

⊙内容:常用逻辑电路设计

untitled

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

Word Pro - FPGA设计高级技巧(Xilinx篇).lwp

untitled

邏輯分析儀的概念與原理-展示版


Microsoft PowerPoint - EDA-理论3 [兼容模式]

4.1 VHDL VHDL 4-1 a b & c 4-1 2

2 时序电路的 VHDL 描述 例 2.1 D 触发器的 VHDL 描述最简单 最具有代表性的时序电路是 D 触发器 对 D 触发器的描述包含了 VHDL 对时序电路的最基本和典型的表达方式, 也包含了 VHDL 中许多最具特色的语言现象 D DFF1 Q CLK ( 实体 -Entity)? 电路

Microsoft PowerPoint - STU_EC_Ch08.ppt


Microsoft Word - 中耳的主要疾病~中耳炎.doc

untitled

【第一类】


untitled

Microsoft Word - FPGA的学习流程.doc

方法论篇--修改稿(更新).PDF

untitled

序言.PDF

<4D F736F F D20BCAFB3C9B5E7C2B7D3EBD6C7C4DCCFB5CDB3B4B4D0C2BBF9B5D8B2E2CAD4CCE22E646F63>

2012年报.xls

ebook105-1

附 件 : 北 京 交 通 大 学 2015 年 部 门 决 算 2016 年 8 月

中山大学采取多种措施促进

第3节 VHDL语言的常用语法

untitled

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

1 1

2/80 2

8.3 模块设计 ⒈ 主体控制模块 控制部分由时序输出及楼选计数器 电梯请求服务处理器 电梯升降控制器 电梯升降寄存器 及电梯次态生成器等组成, 其内部结构如图 8-2 所示 时钟 CLK 时序输出及楼选计数器 (Fd) 上升请求 UP 下降请求 DOWN 楼层选择 FCH 电梯服务 请求处理器 F

十萬元以上採購、修繕

Microsoft Word - EDA2006_A_Answer

纵 是 华 佗 也 无 能 过 去 一 走 近 药 铺 就 可 听 到 铜 臼 捣 药 碾 药 槽 碾 药 的 声 音, 药 工 配 完 药 时 边 点 核 边 呼 出 药 名 的 响 亮 声 音, 这 一 景 象 早 已 不 见 了 据 了 解, 历 代 相 传 的 数 十 种 加 工 炮 制 方

逢 甲 大 學

KT-SOPCx开发套件简明教程

Ps22Pdf

untitled

untitled

寿险分支机构营业场所统计表(0706) .xls

1 TPIS TPIS 2 2

untitled

第八章

2016 年 全 省 一 般 公 共 预 算 收 入 表 ( 代 编 ) 项 目 2016 年 预 算 数 单 位 : 亿 元 2015 年 快 报 数 预 算 数 增 减 % 一 税 收 收 入 增 值 税 ( 含 改 征 增 值 税 )

untitled

bnb.PDF

untitled

2010年第3期(总第11期)

Microsoft PowerPoint - DFD.PPT

ebook122-11


(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

目 录


Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram

实验室代码

目 錄 一 研 討 會 活 動 主 題... 1 二 參 訪 名 單 及 分 房 資 訊... 2 三 參 訪 行 程 表... 3 四 會 議 地 點 及 歡 送 晚 宴 地 點... 6 五 研 討 會 議 程 表... 7 六 接 待 人 員 名 單... 8 七 參 訪 景 點 簡 介...



一 敬 拜 诗 歌 Gen 29:35 他 又 怀 孕 生 子, 说 : 这 回 我 要 赞 美 耶 和 华, 因 此 给 他 起 名 叫 犹 大 ( 就 是 赞 美 的 意 思 ) 第 2 页

大綱 CPLD 簡介與市場現狀 EDA 工具 -MAX+plusII 圖形設計快速入門 -Graphic 圖形編輯的階層式設計 霹靂燈實習 文書設計快速入門 -VHDL Graphic 與 VHDL 整合

目 录 第 一 部 分 2015 年 毕 业 生 就 业 状 况... 1 一 毕 业 生 总 规 模... 1 二 就 业 率 和 就 业 结 构... 1 ( 一 ) 就 业 率 与 毕 业 去 向... 1 ( 二 ) 出 国 ( 境 ) 深 造... 3 ( 三 ) 就 业 单 位 性 质

武 汉 理 工 大 学 2015 年 教 师 招 聘 需 求 序 号 学 / 单 位 学 科 和 专 业 方 向 计 划 要 求 1 材 料 科 学 与 工 程 学 ( 含 特 种 功 能 材 料 实 验 室 2 交 通 学 3 管 理 学 ( 含 危 机 灾 害 研 究 中 心 ) 4 机 电 工


EDAKONXIN.PDF

穨control.PDF

10CP-CW302WN_OG_KOR_ indd

2

1 CPU

スライド 1

用户手册

目录

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

Guide to Install SATA Hard Disks

untitled

j_xilinx-training-courses_2012.pdf

_NT K_SC_A5_ _print.pdf

《礼仪全书 餐饮礼仪》

基于VHDL的三层电梯控制器

I (a) I I % I I 14A (b) 14A.90 14A (c) I % 14A.76 14A 2

Microsoft Word - MSP430 Launchpad 指导书.docx

乳品市场(一)

亮麗水顏

目 录 前 言... 1 一 毕 业 生 就 业 情 况 分 析... 1 ( 一 ) 毕 业 生 就 业 基 本 情 况... 1 ( 二 ) 毕 业 生 毕 业 去 向 分 析... 2 ( 三 ) 毕 业 生 签 约 单 位 性 质 分 析... 5 ( 四 ) 毕 业 生 签 约 地 区 分

學 習 目 標 1. 了 解 有 計 畫 的 運 動 之 前, 實 施 身 體 檢 查 的 重 要 性 2. 了 解 熱 身 與 緩 和 運 動 可 以 預 防 運 動 傷 害 3. 了 解 包 紮 護 具 裝 備 與 場 地 器 材 的 維 護, 可 以 避 免 傷 害 發 生 4. 了 解 食

6 : W eb 827 ) [ 5 ] 211, : (1) (2),, (3) 212, [ 6-7 ], B /S,,,, 1 1 Fig11 Design of the system architecture

绝密★启用前

Manual Pulse Generator Catalogue

第一章引言 ISE 是 Xilinx 公司提供的一套集成开发工具, 它支持几乎所有的 Xilinx 公司的 FPGA/CPLD 主流产品, 并完成整个 FPGA/CPLD 的开发过程, 包括从设计输入到综合 布线 仿真 下载的全套解决方案, 并很方便的同其他 EDA 工具接口 ISE 将先进的技术与

TouchWin Human Machine Interface

Transcription:

VHDL (Sequential Logic)

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 = '1' then Q <= D; 2

D-Type entity DFF_SR is nrst :in std_logic; CLK :in std_logic; D :in std_logic; Q :out std_logic); end DFF_SR; architecture a of DFF_SR is process(nrst,clk,d) if CLK'EVENT and CLK = '1' then if nrst = '0' then Q <= '0'; else Q <= D; 3

D-Type entity DFF_AR is nrst :in std_logic; CLK :in std_logic; D :in std_logic; Q :out std_logic); end DFF_AR; architecture a of DFF_AR is process(nrst,clk,d) if nrst = '0' then Q <= '0'; elsif CLK'EVENT and CLK = '1' then Q <= D; 4

D-Type entity DFF_PR is nrst :in std_logic; npreset :in std_logic; CLK :in std_logic; D :in std_logic; Q :out std_logic); end DFF_PR; architecture a of DFF_PR is process(nrst,npreset,clk,d) if nrst = '0' then Q <= '0'; elsif npreset = '0' then Q <= '1'; elsif CLK'EVENT and CLK = '1' then Q <= D; 5

RS-Type entity RS_FF is nrst :in std_logic; nset :in std_logic; Q :out std_logic; nq :out std_logic); end RS_FF; architecture a of RS_FF is signal Q_S: std_logic; signal nq_s: std_logic; Q_S <= nrst nand nq_s; nq_s <= nset nand Q_S; Q <= Q_S; nq <= nq_s; 6

(Negative Level) entity LATCH is nena :in std_logic; D :in std_logic; Q :out std_logic); end LATCH; architecture a of LATCH is signal Q_S: std_logic; process(nena,d) if nena = '0' then Q_S <= D; else Q_S <= Q_S; Q <= Q_S; 7

T- entity TFF is T :in std_logic; CLK :in std_logic; Q_O :out std_logic); end TFF; architecture a of TFF is signal Q: std_logic; process(clk,t) if CLK'EVENT and CLK = '1' then if T = '1' then Q <= not(q); else Q <= Q; Q_O <= Q; 8

2 entity DIV2 is CLK_IN :in std_logic; CLK_OUT :out std_logic); end DIV2; architecture a of DIV2 is signal CLK_2: std_logic; process(clk_in) if CLK_IN'EVENT and CLK_IN = '1' then CLK_2 <= not(clk_2); CLK_OUT <= CLK_2; 9

D- entity DFF_ena is D :in std_logic; CLK :in std_logic; Enable :in std_logic; Q :out std_logic); end DFF_ena; architecture a of DFF_ena is process(clk,d) if CLK'EVENT and CLK = '1' then if Enable = '1' then Q <= D; 10

entity SFT_PIPO is D_IN 0); CLK :in std_logic_vector(7 downto :in std_logic; :out std_logic_vector(7 downto D_OUT 0)); end SFT_PIPO; architecture a of SFT_PIPO is signal Q: std_logic_vector(7 downto 0); process(clk) if CLK'EVENT and CLK = '1' then Q <= D_IN; D_OUT <= Q; 11

entity SFT_PISO is D_IN :in std_logic_vector(7 downto 0); CLK :in std_logic; nload :in std_logic; D_OUT :out std_logic); end SFT_PISO; architecture a of SFT_PISO is signal Q: std_logic_vector(7 downto 0); process(nload,clk) if nload = '0' then Q <= D_IN; elsif CLK'EVENT and CLK = '1' then for I in 7 downto 1 loop Q(I-1) <= Q(I); end loop; process(nload,clk) if nload = '0' then D_OUT <= '0'; elsif CLK'EVENT and CLK = '1' then D_OUT <= Q(0); 12

/ (Serial- In/Parallel-Out) entity SFT_SIPO is D_IN :in std_logic; CLK :in std_logic; D_OUT :out std_logic_vector(7 downto 0)); end SFT_SIPO; architecture a of SFT_SIPO is signal Q: std_logic_vector(7 downto 0); process(clk) if CLK'EVENT and CLK = '1' then Q(0) <= D_IN; for I in 1 to 7 loop Q(I) <= Q(I-1); end loop; D_OUT <= Q; 13

/ (Serial- In/Serial-Out) entity SFT_SISO is D_IN :in std_logic; CLK :in std_logic; D_OUT :out std_logic); end SFT_SISO; architecture a of SFT_SISO is signal Q: std_logic_vector(7 downto 0); process(clk) if CLK'EVENT and CLK = '1' then Q(0) <= D_IN; for I in 1 to 7 loop Q(I) <= Q(I-1); end loop; D_OUT <= Q(7); 14

8 (Ripple Counter) entity rip_cnt8 is nclr :in std_logic; 0)); end rip_cnt8; architecture a of rip_cnt8 is component DIV2_AR CLK :in std_logic; Q_O :out std_logic_vector(7 downto CLK_IN :in std_logic; nclr :in std_logic; CLK_OUT :out std_logic); end component; signal Q: std_logic_vector(7 downto 0); FF1: DIV2_AR port map (CLK,nCLR,Q(0)); FF2_8: for I in 1 to 7 generate T1: DIV2_AR port map (Q(I-1),nCLR,Q(I)); end generate FF2_8; Q_O <= Q; 15

(Up Counter) use ieee.std_logic_unsigned.all; entity UPCNT8 is nclr :in std_logic; CLK :in std_logic; CO :out std_logic; Q_O :out std_logic_vector(7 downto 0)); end UPCNT8; architecture a of UPCNT8 is signal Q: std_logic_vector(7 downto 0); process(nclr,clk) if nclr = '0' then Q <= "00000000"; CO <= '0'; elsif CLK'EVENT and CLK = '1' then if Q = "11111111" then CO <= '1'; else CO <= '0'; Q <= Q + '1'; Q_O <= Q; 16

(Up/Down Counter) use ieee.std_logic_unsigned.all; entity UPDNCNT8 is nclr :in std_logic; CLK :in std_logic; UP_DN :in std_logic; --'1':Up Counter;'0':Down Counter; Q_O :out std_logic_vector(7 downto 0)); end UPDNCNT8; architecture a of UPDNCNT8 is signal Q: std_logic_vector(7 downto 0); process(nclr,clk) if nclr = '0' then Q <= "00000000"; elsif CLK'EVENT and CLK = '1' then if UP_DN = '1' then Q <= Q + '1'; else Q <= Q - '1'; Q_O <= Q; 17

/ (UD/Down Counter With Load) use ieee.std_logic_unsigned.all; entity UDLCNT8 is nclr :in std_logic; CLK :in std_logic; UP_DN :in std_logic; --'1':Up Counter;'0':Down Counter; nload :in std_logic; --Asychronous Load Data; D_IN : in std_logic_vector(7 downto 0); Q_O :out std_logic_vector(7 downto 0)); end UDLCNT8; architecture a of UDLCNT8 is signal Q: std_logic_vector(7 downto 0); process(nclr,clk) if nclr = '0' then Q <= "00000000"; elsif nload = '0' then Q <= D_IN; elsif CLK'EVENT and CLK = '1' then if UP_DN = '1' then Q <= Q + '1'; else Q <= Q - '1'; Q_O <= Q; 18

(State Machine) (Finite State Machine FSM) 2 Moore Mealy Mealy (Glitch) 19

20

type STATE_TYPE is (State_A, State_B, ); signal Present_State: STATE_TYPE; signal Next_State: STATE_TYPE; 21

VHDL PROCESS PROCESS : PROCESS PROCESS : PROCESS PROCESS PROCESS PROCESS : PROCESS PROCESS PROCESS 22

Moore 23

Mealy 24

(State Encoding) One-Hot Gray S0 00 0001 00 S1 01 0010 01 S2 10 0100 11 S3 11 1000 10 25

26

GEN 27

28

29