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

时间:2024.4.13

EDA实验报告

实验目的:

1.触发器的工作原理。

2.基本时序电路的VHDL代码编写。

3.按键消抖电路应用。

4.定制LPM原件。

5.VHDL语言中元件例化的使用。

6.移位寄存器的工作原理及应用。

实验要求:

1.运用LPM原件定制DFF触发器,并调用LPM 定制的DFF触发器,用VHDL语言的元件例化实现消抖电路并了解其工作原理。

2. 移位寄存器是用来寄存二进制数字信息且能进行信息移位的时序逻辑电路。根据移位寄存器存取信息的方式不同可分为串入串出、串入并出、并入串出、并入并出4种形式,并通过数码管显示出来。

实验原理:

1.消抖电路

由于一般的脉冲按键与电平按键采用机械开关结构,其核心部件为弹性金属簧片。按键信号在开关拨片与触点接触后经多次弹跳才会稳定。本实验采用消抖电路消除抖动以获得一个稳定的电平信号。

2.移位寄存器

移位寄存器具有左移、右移、并行输入数据、保持及异步清零5种功能。其中A、B、C、D为并行输入端,为并行输出端;SRSI为右移串行输入端,SLSI为左移串行输入端;S1、S0为模式控制端;CLRN为异步清零端;CLK为时钟脉冲输入端。

实验具体步骤:

1.消抖电路

(1).用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 xiaodou_arch;

(3).功能仿真波形:

2.移位寄存器

(1).74194功能验证电路

(2).74194功能仿真结果

仿真分析:

clrn=1,clk上升时,s为11,移位寄存器并行置数,此时abcd=1010,q_abcd=1010;

clrn=0,移位寄存器进行清零,此时有q_abcd=0000;

clrn=1,clk上升时,s为01,sl_sr为01,移位寄存器串行右移补1,输出q_abcd=1000;

clrn=1,clk上升时,s为01,sl_sr为10,移位寄存器串行右移补0,输出q_abcd=0100;

clrn=1,clk上升时,s为10,sl_sr为10,移位寄存器串行左移补1,输出q_abcd=1001;

clrn=1,clk上升时,s为10,sl_sr为01,移位寄存器串行左移补0,输出q_abcd=0010。

结论:输出结果与74194的真值表相符,得仿真验证正确。

思考题

1.VHDL元件例化语句作用是什么?如何调用标准的jkff(tff)元件?

答:元件例化是用于结构式描述方式时调用库元件或底层实体。元件例化是系统层次化设计的一种重要途径。

   元件例化语句由元件声明语句和元件描述语句两部分构成。

格式:component 元件名

            [generic <参数说明>;]

            port <端口说明>;

      end component;

      标号:元件名 port map([端口名=>]信号名,...)

2.VHDl语言中边沿触发的signal如何描述?VHDL描述时序电路是signal的作用是什么?

答:上升沿:clk’=1  ;  下降沿:clk’=0

在时序电路中signal作为中间信号,起连线内部电路的作用。

3.lpm_ff定制时clear、load、set输入有哪两类?

答:clear、load、set有synchronous inputs和asynchronous inputs两类,S类为同步清零操作,A类为异步清零操作。

4.简单说明移位寄存器的概念及应用情况?

答:移位寄存器是用来寄存二进制数字信息且能进行信息移位的时序逻辑电路。根据移位寄存器存取信息的方式不同可分为串入串出、串入并出、并入串出、并入并出4种形式,并通过数码管显示出来。移位寄存器可构成计数器、顺序脉冲发生器、串行累加器、串并转换。

5.仿真常规步骤是什么?有什么注意事项?

答:

1、参数设置:Grid size 和 Endtime。

2、添加节点或总线后的信号整合与位置分配。注意事项:激励输入信号与待分析输出信号上下放置,界限分明;时钟信号置顶,其他信号按照“异步控制→同步控制→数据输入”顺序想下放置;

3、激励输入及分段仿真。注意事项:将时间轴分为连续的时间段,一时间段完成一小步实验内容,一小段信号激励输入完成后立即生成波形并判断结果;波形正确后再根据下一个实验内容,直至完成所有实验内容仿真。

6.如何保存用户的仿真结果波形?

答:产生仿真波形后选择

即可保存至波形文件中。

实验心得

    此次实验,让我学习了VHDL语言中的元件例化,并学习编写顶层文件的VHDL代码,了解并掌握了74194移位寄存器的工作原理和功能实现。


第二篇:EDA触发器功能模拟实验报告


EDA技术实验项目报告

项目题目:     触发器功能模拟                                  

姓    名:   左  修  林     

院    系:   应用技术学院  

专    业:   电子信息工程 

学    号:   201015254135  

指导教师:     陈   强     

综合成绩:                

完成时间:  2012  5  21

一、   项目实验内容摘要

基于FPGA硬件开发板,利用QuartusII软件通过VHDL输入的方式实现基本RS触发器,同步触发器,JK触发器,D触发器同时集成在一个FPGA芯片中模拟功能;

实验原理图:

二、项目实验源代码

library ieee;

use ieee.std_logic_1164.all;

entity mff is

port(sd,rd,r,s,clk,j,k,d:in std_logic;

     qrs,nqrs,qrsc,nqrsc,qjk,nqjk,qd,nqd:out std_logic); --定义多触发器I/O.

end mff;

architecture mff of mff is

signal qtp, qbtp,dd,ndd: std_logic;

begin

rsff:process(rd,sd)                                  --基本RS触发器功能模拟

begin

  if rd='0' and sd='1' then 

qrs<='0';nqrs<='1';

elsif rd='1' and sd='0' then

qrs<='1';nqrs<='0';

elsif rd='1' and sd='1' then null;

end if;

end process rsff;

rsc:process(clk,rd,sd,r,s)                 --同步RS触发器功能模拟

begin

  if sd='0' then

 qrsc<='1';  nqrsc<='0';

elsif rd='0'  then 

           qrsc<='0'; nqrsc<='1';

    elsif clk='1' then

        if r='0' and s='1'  then

     qrsc<='0';nqrsc<='1';

          elsif r='1' and s='0' then

     qrsc<='1';nqrsc<='0';

          elsif r='0' and s='0' then null;

          end if;

end if;

end process rsc;

jk:PROCESS(clk, sd, rd, j, k)                --JK触发器功能模拟

BEGIN

    IF sd='0' then    qtp<='1';  qbtp<='0';

        elsif rd='0' THEN  qtp<='0';qbtp<='1';

     elsif rising_edge(clk)  then

        if j='0' and k='0' then null;

        elsif j='0' and k='1' then

             qtp<='0'; qbtp<='1';

        elsif j='1' and k='0'  then

             qtp<='1';  qbtp<='0';

        else

         qtp<=NOT qtp; qbtp<=NOT qbtp;

              end if;

         end if;

        qjk<=qtp;nqjk<=qbtp;

     end process jk;

   dff:process (clk,rd,sd,d)                  --D触发器功能模拟

      begin

      if (rd='0') then dd<='0'; ndd<='1';

      elsif(sd='0') then  dd<='1';  ndd<='0';

     elsif rising_edge(clk) then dd<=d; ndd<=not d;

     end if;

            qd<=dd;  nqd<=ndd;

     end process dff;

     end mff;

三、项目实验工具软件的选用以及实验过程

(一)项目实验工具软件的选用:

1、EDA2000实验箱(其他厂家具有同等配置试验箱均可),主要使用:输入:时钟源,按键开关,拨码开关,输出:LED灯;

2、主芯片:EP1K1OTC100-3(大于此规模的芯片亦可);

3、计算机与QUARTUS Ⅱ软件;

(二)实验过程:

1、建立工作文件

2、创建工程

3、编译前设置

4、全程编译

5、时序仿真

6、引脚设置和下载

7、配置文件下载

8、编程配置器件

四、项目实验结果
 时序仿真波形图 : 功能仿真波形图: 

表一  基本RS触发器

表二  同步RS触发器

表三 J-K触发器

表四 D触发器

五、项目实验分析

本次实验基本实现了预期要求,传统的对触发器的功能验证方法均采用集成电路搭接实现,本次采用EDA技术避免了传统方法连线复杂,效果不理想的缺点。同时能够有助于了解,体会CPLD的高集成度,多I/O的特点。

六、项目实验参考资料

《脉冲与数字电路》、《EDA实验教程 》

七、小组验收记录及评价

更多相关推荐:
电子技术实验报告6—移位寄存器及其应用

学生实验报告

数电6实验报告--移位寄存器及其应用

学生实验报告

实验七 移位寄存器及其应用

实验七移位寄存器及其应用一实验目的1移位寄存器74LS194的逻辑功能及使用方法2熟悉4位移位寄存器的应用二实验预习要求1了解74LS194的逻辑功能2用4位移位寄存器构成8位移位寄存器3了解移位寄存器构成环形...

实验六 移位寄存器及其应用

实验六移位寄存器及其应用一实验目的1掌握中规模4位双向移位寄存器逻辑功能及使用方法2熟悉移位寄存器的应用实现数据的串行并行转换和构成环形计数器二实验原理1移位寄存器是一个具有移位功能的寄存器是指寄存器中所存的代...

移位寄存器实验报告

移位寄存器实验报告一实验原理移位寄存器是用来寄存二进制数字信息并且能进行信息移位的时序逻辑电路根据移位寄存器存取信息的方式可分为串入串出串入并出并入串出并入并出4种形式74194是一种典型的中规模集成移位寄存器...

实验七_移位寄存器及其应用

实验七移位寄存器及其应用一实验目的1熟悉移位寄存器的工作原理和特点2熟悉74LS194双向移位寄存器的使用方法并验证其基本功能3掌握双向移位寄存器的基本应用二预习要求1复习有关寄存器和移位寄存器的章节2按实验内...

2 移位寄存器及其应用

实验七移位寄存器及其应用一实验目的1移位寄存器74LS194的逻辑功能及使用方法2熟悉4位移位寄存器的应用二实验预习要求1了解74LS194的逻辑功能2用4位移位寄存器构成8位移位寄存器3了解移位寄存器构成环形...

移位寄存器型彩灯控制器实验报告

课程设计综合实验报告20xx20xx年度第二学期名称电子技术综合实验题院系能源动力与机械工程学院班级热能0809班学号学生姓名指导教师设计周数第十九周成绩日期20xx年7月6日课程课程设计综合实验报告电子技术综...

可编程逻辑实验报告_实验7_移位寄存器设计

西安邮电学院可编程逻辑实验报告系别学号成绩实验日期通信系Xxxxxxxx20xx1210班级通工0702姓名高原教师签字实验名称一实验目的七移位寄存器设计1掌握移位寄存器电路设计的方法2通过开发CPLD来实现时...

实验十四 移位寄存器及其应用

数字电路实验十四移位寄存器及其应用一实验目的1掌握四位双向移位寄存器的逻辑功能与使用方法2了解移位寄存器的使用实现数据的串行并行转换和构成环形计数器二实验原理1移位寄存器是一个具有移位功能的寄存器是指寄存器中所...

湖南工大-数电实验六 移位寄存器及其应用

湖南工大数电实验六移位寄存器及其应用实验六移位寄存器及其应用一实验目的1掌握中规模4位双向移位寄存器逻辑功能及使用方法2熟悉移位寄存器的应用实现数据的串行并行转换和构成环形计数器二实验原理1移位寄存器是一个具有...

实验九集成移位寄存器及应用的报告

实验九集成移位寄存器及应用的报告电科一班第八组何南国13乔錾30梁雨琦25一实验目的1了解四位双向移位寄存器74LS194的逻辑功能2学习74LS194的使用方法及应用二实验仪器及材料1通用数字电路实验装置2数...

移位寄存器及其应用实验报告(33篇)