EDA实验报告触发器及应用及移位寄存器.docVIP

  • 176
  • 0
  • 约 5页
  • 2017-02-09 发布于重庆
  • 举报

EDA实验报告触发器及应用及移位寄存器.doc

EDA实验报告触发器及应用及移位寄存器

EDA实验报告 实验目的: 触发器的工作原理。 基本时序电路的VHDL代码编写。 按键消抖电路应用。 定制LPM原件。 VHDL语言中元件例化的使用。 移位寄存器的工作原理及应用。 实验要求: 运用LPM原件定制DFF触发器,并调用LPM 定制的DFF触发器,用VHDL语言的元件例化实现消抖电路并了解其工作原理。 移位寄存器是用来寄存二进制数字信息且能进行信息移位的时序逻辑电路。根据移位寄存器存取信息的方式不同可分为串入串出、串入并出、并入串出、并入并出4种形式,并通过数码管显示出来。 实验原理: 消抖电路 由于一般的脉冲按键与电平按键采用机械开关结构,其核心部件为弹性金属簧片。按键信号在开关拨片与触点接触后经多次弹跳才会稳定。本实验采用消抖电路消除抖动以获得一个稳定的电平信号。 移位寄存器 移位寄存器具有左移、右移、并行输入数据、保持及异步清零5种功能。其中A、B、C、D为并行输入端,、、、为并行输出端;SRSI为右移串行输入端,SLSI为左移串行输入端;S1、S0为模式控制端;CLRN为异步清零端;CLK为时钟脉冲输入端。 实验具体步骤: 消抖电路 .用lpm定制DFF 1.设置lpm_ff选择Installed Plug-Ins→Storage→lpm_ff项; 2.设置输入data为1位,clock为时钟信号,类型为D型; 3.添加异步清零和异步置1; 其VHDL语言为: LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY lpm; USE lpm.all; ENTITY mydff IS PORT ( clock : IN STD_LOGIC ; data : IN STD_LOGIC ; q : OUT STD_LOGIC ); END mydff; ARCHITECTURE SYN OF mydff IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (0 DOWNTO 0); SIGNAL sub_wire1 : STD_LOGIC ; SIGNAL sub_wire2 : STD_LOGIC ; SIGNAL sub_wire3 : STD_LOGIC_VECTOR (0 DOWNTO 0); COMPONENT lpm_ff GENERIC ( lpm_fftype : STRING; lpm_type : STRING; lpm_width : NATURAL ); PORT ( clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (0 DOWNTO 0); data : IN STD_LOGIC_VECTOR (0 DOWNTO 0) ); END COMPONENT; BEGIN sub_wire1 = sub_wire0(0); q = sub_wire1; sub_wire2 = data; sub_wire3(0) = sub_wire2; lpm_ff_component : lpm_ff GENERIC MAP ( lpm_fftype = DFF, lpm_type = LPM_FF, lpm_width = 1 ) PORT MAP ( clock = clock, data = sub_wire3, q = sub_wire0 ); END SYN; (2).VHDL结构式描述顶层 --Top level entity xiaodou library ieee; use ieee.std_logic_1164.all; entity xiaodou is port( d_in,clk:in std_logic; clk_out:out std_logic); end xiaodou; architecture xiaodou_arch of xiaodou is component mydff is --元件例化 PORT ( clock : IN STD_LOGIC ; data : IN STD_LOGIC ; q : OUT STD_LOGIC ); END component; signal x,y:std_logic; begin dff1:mydff port map(clock=clk,data=d_in,q=x); dff2:mydff port map(clk,x,y); clk_out=x and (not y); end xiaod

文档评论(0)

1亿VIP精品文档

相关文档