VHDL实验报告

合集下载

VHDL实验报告

VHDL实验报告

6
#50 S1=1;S2=0; #50 A=0;B=0;C=1;D=0; #50 S1=0;S2=1; #50 A=1;B=0;C=0;D=1; #200 $stop; end MUX41b MUX41b1 (.A(A),.B(B),.C(C),.D(D),.S1(S1),.S2(S1),.Y(Y));//元件例化 endmodule If else 方法仿真图:
实验一 半加器电路的设计
一.实验目的 (1)掌握 Modelsim 软件的编译、仿真方法 (2)熟练运用 Modelsim 软件进行 VHDL 程序设计开发 (3)掌握基于 Modelsim 的组合逻辑电路设计方法 (4)利用 VHDL 的逻辑表达式描述门电路 (5)利用 VHDL 的代码完成半加器设计 二.实验内容 1.实验要求:设计一个两位二进制半加器,半加器只考虑了两个加数本身,没有考虑由低位 来的进位。 2.半加器的输入为 A 和 B。输出为 SO 和 CO。 使用 Verilog HDL 程序实现上述实验内容,并使用 modelsim 仿真 半加器主程序为: module adder(A,B,SO,CO); input A,B; output SO,CO; assign SO=A^B; //和值数据输出 assign CO=A&B; //进位数据输出 endmodule 测试程序为: `timescale 1ns/1ns //时间精度 `include "adder.v"; module addertest; reg A,B; //输入变量类型定义 wire SO,CO; //输出变量类型定义 initial begin A=0;B=0; #100 A=0;B=1 ; #100 A=1;B=1 ; #100 A=1;B=0 ; #100 $stop; end adder adder1(.SO(SO),.CO(CO),.A(A),.B(B)); endmodule

vhdl课程设计报告

vhdl课程设计报告

一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。

能对VHD1语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。

在成功掌握软件操作基础上,将所数字电路的基础课知识与VHD1语言的应用型知识结合起来并与实际设计,操作联系起来,即“理论联系实际:深入了解VHD1语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。

对EDA技术有初步的认识,并开始对EDA技术的开发创新有初步的理解。

二、设计内容及操作1、设计循环彩灯控制器1.1设计内容设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。

要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。

1.2程序设计1IBRARYIEEE;USEIEEE.STD_10GIC_1164.A11;USEIEEE.STD_1OGIC_UNSIGNED.A11;ENTITYcaideng_2ISPORT(e1k:INSTD_1OGIC;red,green,ye11ow:OUTSTD1OGIC);ENDENTITYCaideng_2;ARCHITECTUREexamp1eOFcaideng_2ISSIGNA1dout:STD_1OGIC_VECTOR(2DoWNTO0);SIGNA1m:STD_10GIC_VECT0R(2DOWNTO0);BEGINred<=dout(2);green<=dout(1);ye11ow<=dout(0);PROCESS(e1k)ISBEGINIF(c1k,EVENTANDC1k=T')THENIF(In="110")THENm<="001";E1SEm<=m+1;ENDIF;CASEmISWHEN"001"=〉dout<=〃100〃;WHEN"010"=>dout<=T00";WHEN,/0ir=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="000";ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURE;1.3仿真波形图14波形图分析在仿真时已经设置好开始时间和结束时间,根据以上的波形图可知,当e1k 信号处于高电平(高低电平可以根据自己所设计的情况自己定义),红发光管最先亮灯(高电平表示亮灯),时间为3s,3s之后绿发光管开始亮灯2s,2s结束黄发光管亮1s,以此循环亮灯,直到仿真结束时间。

vhdl实验报告

vhdl实验报告

vhdl实验报告VHDL实验报告引言:VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,广泛应用于数字电路设计和仿真。

本篇实验报告将介绍我在VHDL实验中的学习和实践经验,包括实验目的、实验过程、实验结果以及对VHDL的理解和展望。

一、实验目的VHDL实验的主要目的是让我们掌握VHDL语言的基本语法和使用方法,能够利用VHDL描述数字电路,并通过仿真和综合工具进行验证和实现。

通过这些实验,我们可以深入了解数字电路的原理和设计方法,提高我们的逻辑设计能力和工程实践能力。

二、实验过程在实验过程中,我们首先学习了VHDL的基本语法,包括实体声明、端口声明、信号声明等。

然后,我们通过实例学习了VHDL的建模方法,包括组合逻辑电路的建模和时序逻辑电路的建模。

在组合逻辑电路的建模中,我们学习了使用逻辑运算符和条件语句描述电路的功能;在时序逻辑电路的建模中,我们学习了使用过程语句和时钟信号描述电路的状态转换。

在学习了VHDL的基础知识后,我们开始进行实验设计。

我们选择了一个简单的数字电路,如4位加法器,来进行实验验证。

首先,我们通过VHDL语言描述了加法器的功能和结构,包括输入端口、输出端口和中间信号。

然后,我们使用仿真工具进行了功能仿真,验证了加法器的正确性。

接着,我们使用综合工具将VHDL代码综合成门级电路,并进行了时序仿真和时序优化,验证了加法器的时序正确性和性能。

三、实验结果通过实验,我们成功地实现了4位加法器的功能,并验证了其正确性和性能。

在功能仿真中,我们输入了不同的测试数据,观察了输出结果,发现加法器能够正确地进行加法运算,并得到了正确的结果。

在时序仿真中,我们观察了电路的时序行为,包括输入信号的变化、输出信号的响应和中间信号的传播延迟等,发现加法器能够在时序上满足要求,并且具有较好的性能。

vhdl设计实验报告

vhdl设计实验报告

vhdl设计实验报告VHDL设计实验报告引言VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,广泛应用于数字电路设计和验证。

本实验旨在通过设计一个简单的电路来熟悉VHDL语言的基本语法和设计流程。

一、实验背景数字电路是现代电子系统的基础,而VHDL则是描述和设计数字电路的重要工具。

VHDL可以帮助工程师们以一种形式化的语言来描述电路的功能和结构,从而实现电路的模拟和验证。

二、实验目的本实验的目的是通过使用VHDL语言设计一个简单的电路,加深对VHDL语言的理解,并掌握基本的电路设计流程。

三、实验步骤1. 确定电路功能在设计电路之前,首先需要明确电路的功能。

本实验中,我们选择设计一个4位加法器电路。

2. 设计电路结构根据电路功能的要求,设计电路的结构。

在本实验中,我们需要设计一个4位加法器,因此需要使用4个输入端口和一个输出端口。

3. 编写VHDL代码使用VHDL语言编写电路的描述代码。

在代码中,需要定义输入和输出端口的类型和位宽,并实现电路的功能。

4. 进行仿真使用仿真工具对设计的电路进行仿真,以验证电路的功能是否符合预期。

通过输入不同的测试数据,观察输出是否正确。

5. 下载到FPGA开发板将设计好的电路代码下载到FPGA开发板上进行验证。

通过连接输入信号和观察输出信号,验证电路在实际硬件上的运行情况。

四、实验结果与分析经过仿真和实际验证,我们设计的4位加法器电路在功能上符合预期。

输入不同的数据进行加法运算时,输出结果都正确。

五、实验总结通过本次实验,我们深入了解了VHDL语言的基本语法和设计流程。

通过设计一个简单的电路,我们掌握了VHDL的应用方法,并通过仿真和实际验证,加深了对电路设计的理解。

六、实验心得本实验让我对VHDL语言有了更深入的认识。

通过实际操作,我更加熟悉了VHDL的编写和仿真流程。

VHDL实验报告实验一

VHDL实验报告实验一

实验一:3位比较器一、实验目的1、熟悉Xilinx ISE/ModelSim软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;2、学习利用VHDL语言设计三位比较器控制电路程序;3、根据三位比较器的原理设计VHDL程序,使得a,b为三位信息的输入端口,若a>b 则c=1。

否则c=0;二、VHDL源程序:●Compare3源代码:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity compare3 isport (a:in std_logic_vector(2 downto 0);b:in std_logic_vector(2 downto 0);c:out std_logic);end compare3;architecture Behavioral of compare3 isbeginprocess (a,b)beginif(a>=b)thenc<='1';elsec<='0';end if;end process;end Behavioral;●三位比较器testbench代码:LIBRARY ieee;USE ieee.std_logic_1164.ALL;-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--USE ieee.numeric_std.ALL;ENTITY tbench1 ISEND tbench1;ARCHITECTURE behavior OF tbench1 IS-- Component Declaration for the Unit Under Test (UUT)COMPONENT compare3PORT(a : IN std_logic_vector(2 downto 0);b : IN std_logic_vector(2 downto 0);c : OUT std_logic);END COMPONENT;--Inputssignal a : std_logic_vector(2 downto 0) := "000";signal b : std_logic_vector(2 downto 0) := "000";--Outputssignal c : std_logic;-- No clocks detected in port list. Replace <clock> below with -- appropriate port nameBEGIN-- Instantiate the Unit Under Test (UUT)uut: compare3 PORT MAP (a => a,b => b,c => c);-- Clock process definitions-- Stimulus processstim_proc: processbegin-- hold reset state for 100 ns.wait for 10 ns;a <= "010";b <= "001";wait for 10 ns;a <= "110";b <= "111";wait for 10 ns;a <= "011";b <= "111";wait for 10 ns;a <= "110";b <= "101";wait for 10 ns;a <= "110";b <= "000";wait for 10 ns;a <= "100";b <= "101";wait for 1000 ns;-- insert stimulus herewait;end process;END;三、实验结果与分析●实验仿真波形图●实验结果分析由波形图观察可得该VHDLd代码实现了比较的功能,在输入a,b值大小不同的情况下,成许进行比较均能的出结果并给C赋值,当a>b,c=1, 反之c=0。

VHDL实验报告与代码毕业设计(论文)

VHDL实验报告与代码毕业设计(论文)

实验一. 分频器设计一.实验目的1.熟悉QUARTUSII 软件的使用2.熟悉PLD设计流程3. 学习分频器的设计二.实验内容设计一个最大分频为225的分频器,将50MHz时钟作为输入三.实验框图四.管脚设定CLOCK_50 PIN_N2LEDR[0] PIN_AE23五.实验代码LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_UNSIGNED.all;ENTITY clk1 ISPORT(clk:IN STD_LOGIC;DIGIT:OUT STD_LOGIC);END clk1;ARCHITECTURE clk1 OF clk1 ISBEGINCOUNT: PROCESS(clk)V ARIABLE temp:STD_LOGIC_VECTOR(25 DOWNTO 0);BEGINIF(clk'EVENT AND clk = '1')THENtemp := temp+1;IF(temp(25)='1') THENtemp:=(OTHERS=>'0');END IF;END IF;DIGIT <= temp(24);END PROCESS count;END clk1;六.心得体会通过这次实验,我初步掌握了QUARTUSII 软件的使用,为今后的实验打下基础。

实验二. VHDL描述风格比较一.实验目的1.深入体会VHDL三种描述风格的区别2. 学习3输入表决器,异或门的实现3.设计一个5输入表决器。

二.实验内容以3输入表决器,异或门,通用寄存器等代码为例,深入体会VHDL描述风格。

1.学习已给的3输入表决器代码,完成3输入表决器的三种描述方式的验证比较。

在QUARTUS II中对程序进行编译,下载,验证。

使用拔码开关SW0,SW1,SW2作为三个输入,输出在LEDR0表示,亮表示‘1’,不亮表示‘0’2.学习已给的异或门代码,完成异或门的三种描述方式的验证比较。

(VHDL实验报告)一位半加器,全加器的设计

(VHDL实验报告)一位半加器,全加器的设计

A
8
五、实验步骤
(一)半加器的设计
3、管脚分配
1)点击 Assignments 菜单下面的 Assignment Editor,进入到 引脚分配窗口。将弹出的窗口中的 All 改成 pin ,再点击 List, 在 Nodes Found窗口会出现所有信号的名称,点击中间的按钮则 Selected Nodes 窗口下方出现被选择的端口名称。双击 OK 按钮, 完成设置。进入管脚分配窗口。如下图所示:
A
14
五、实验步骤
(二)全加器的设计
4、对设计文件进行仿真(步骤同“半加器的设计”)
全加器中Ci的周期是b的两倍,b的周期是a的两倍。实验仿真波形如下 所示:
5、从设计文件到目标器件的加载(步骤同“半加器的设计”)
A
15
五、实验步骤
(三)补充“全加器的设计”。从设计文件到模块符号的 创建。
实验要求创建文件时底层文件用文本输入,顶层文件用图形输 入,即需要将底层的已经设计好的文本文件生成一个模块符号文件作 为自己的功能模块符号在顶层调用,该符号就像图形设计文件中的任 何其它宏功能符号一样可被高层设计重复调用。
2)依照“硬件与 FPGA 的管脚连接表”分配对应的输入管脚名 ,依照“LED灯与FPGA管脚连接表”分配对应的输出管脚名。本次实 验的分配关系是:(输入端 a、b分别对应的 FPGA 管脚名为 H8、J8 ,输出端 c、s分别对应的 FPGA 管脚名为 G13 、G15),如下图所 示:
3)分配完管脚后,再次进行一次全编译,使分配的管脚有效。
5)指定仿真器设置,在仿真过程中有时序仿真和功能仿真之分,在这里 介绍功能仿真。在 QUARTUSII软件中选择 Processing>Simulator Tool 命 令,打开仿真器工具窗口,如下图所示。

VHDL实验报告(1)

VHDL实验报告(1)

VHDL 实验报告******班级:电子0701学号:************实验一组合逻辑电路设计一实验目的:1. 熟悉mux+pluxII软件,可以进行新文件的编辑和文件的修改。

2. 掌握门电路VHDL语言程序设计方法。

3. 掌握选择器VHDL语言程序设计方法。

4. 掌握加法器VHDL语言程序设计方法。

5. 熟悉VHDL编程的基本方法。

二实验设备:1.计算机2.Max+PlusII软件三实验原理及内容:1 二输入与门(1)实验原理二输入与门是我们数字电路中的一个基础逻辑门电路,是最基本的逻辑门电路之一,也是最简单的逻辑门之一。

它能实现两个输入端的相与,一般有三个端口。

二输入与门的表达式是:Y=ab二输入与门的逻辑符号如图(1)所示,真值表如表(1)所示。

图(1)与门逻辑符号表(1)与门真值表(2)实验内容a.在mux+pluxII文本编辑环境下,打开新文本,编写两输入与门VHDL语言源程序,程序设计如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2 ISPORT(a,b: IN STD_LOGIC;Y: OUT STD_LOGIC);END and2;ARCHITECTURE behave OF and2 ISBEGINY <= a and b;END behave;b.对源程序进行编译,按照提示进行修改,直至编译通过。

c.对编译程序进行仿真,分析并记录仿真波形,其仿真波形图如图(2)所示。

图(2)二输入与门仿真图d.在自己的目录下保存相应的源文件、波形文件。

2 四选一选择器(1)实验原理四选一选择器如图(3)所示,真值表如表(2)所示。

图(3)mux4管脚图表(2)mux4真值表(2)实验内容a.在mux+plusII文本编辑环境下,打开新文件,编辑四选一VHDL源程序文件,其程序设计如下:LIBRARY IEEEUSE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(A: IN STD_LOGIC_VECTOR (1 DOWNTO 0);D0,D1,D2,D3:IN STD_LOGIC;G:IN STD_LOGIC;Y: OUT STD_LOGIC);END mux4;ARCHITECTURE dataflow OF mux4 ISBEGINPROCESS (A,D0,D1,D2,D3,G)BEGINIF (G ='0') THENIF (A="00")THEN Y <= D0;ELSIF(A="01")THEN Y <= D1;ELSIF(A="10")THEN Y <= D2;ELSE Y <= D3;END IF;ELSE Y <='0';END IF;END PROCESS;END dataflow;b.对源程序进行编译,按照提示进行修改,直到编译通过。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《创新实验》实验报告—基于VHDL的编程和硬件实现一、实验目的1.熟悉和掌握硬件描述语言VHDL的基本语法及编写;2.掌握软件Xilinx ISE 10.1的使用;3.熟悉SDZ-6电子技术实验箱的使用;4.了解节拍脉冲发生器等基本电路的实现;5.了解八位二进制计数器的功能与设计;6.学习键盘和七段数码管显示的控制和设计。

二、实验内容1.Xilinx ISE 10.1软件的使用;2.节拍脉冲发生器等基本电路的实现;3.八位二进制计数器的实现4.键盘扫描及显示的实现三、实验器材1、PC机2、SDZ-6电子技术实验箱3、正负5V电源4、I/O接口线四、软件的使用在安装Xilinx10.1软件时,需要一个ID号,其实这个ID号是可以重复使用的,几个同学在官网注册后就可以共享ID号了。

安装完成之后就可以使用这个软件编写相应的VHDL的程序。

1.新建工程File—>New Project 弹出下面的对话框输入工程名后单击Next。

然后根据本实验的实验箱进行以下设置。

以后的步骤一般都是单击Next(有些资料上会介绍有些这些步骤的具体功能,但对于本实验不必用到),最后单击Finish,完成新建一个工程。

在窗口的左边会出现刚刚新建的工程,如下:2.新建一个VHDL的源文件。

在上图中,右击工程选择New Source ,弹出如下对话框。

在对画框的左边选择VHDL Module,输入文件的名字(改名字最好是你定义的实体的名字)。

单击Next。

出现下面的对话框。

该对话框主要是对外部端口的编辑。

可以直接跳过,即单击Next,在源文件上编辑端口。

然后在接下来的对话框中单击Finish。

完成建立一个源文件。

窗口右边就会出现刚才编辑的源文件。

3.编写和编译代码将事先编好的代码复制到源文件里,然后保存文件。

选中左边的文件名,在窗体的左边出现如下编辑文档内容。

选择Synthesize —XST—》Check Syntax,双击Check Syntax,开始编译源文件。

4.软件仿真其实仿真这一步可要可不要,很多程序都不需要仿真,有些程序即使仿真出错,但是最后结果却可以出来。

因此,我们做实验时很少仿真,此处也不再赘述了。

5.综合首先根据实验箱的安排布局,找到程序中外部接口的对应实验箱上的接口,进行接口对应,双击如下图所示的选项。

出现接口窗口如下,进行设置(具体参见老师发的文档SDZ电子实验箱的使用说明文档)保存,关闭即可然后如下图从Implement Design开始依次双击综合。

6.下载双击Configure Target Device综合完成之后,就出现下载对话框。

右击鼠标键盘选择Add Xilinx Device,选择.bit文件。

然后右击选择Program,就将程序烧录到实验板上了。

五、节拍脉冲发生器电路实现1、实验题目:参照时标系统的设计方法,用组合逻辑方法设计一个简单的节拍脉冲发生器,产生图1-6所示的节拍脉冲,并用单脉冲验证设计的正确性。

在实验报告中画出完整电路,写出W、1W和1N的表达式。

图1-6 简单的节拍脉冲发生器一周期的波形设计提示:1、由波形图求出节拍脉冲1W 和0W 的表达式,进而组合成1N 的表达式。

2、注意节拍电平1T 和0T 的翻转时刻应在0M 下降沿与M 的上升沿同时出现的时刻。

3、注意D 触发器的触发翻转要求。

2、实验步骤:1.根据题目确定输出结果的逻辑表达式1*0*1T M M W =S T M M W *1*0*0=011W W N +=2.画出电路图3.确定输入输出的外部端口 输入端口:M (由时钟产生) 输出端口:W1,W0,N14.根据电路图写代码5.编译,调试3、实验代码 library IEEE;use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL; ——头文件entity clk_div isPort ( clk : in STD_LOGIC; w0 : out STD_LOGIC; w1 : out STD_LOGIC; N1 : out STD_LOGIC); end clk_div;architecture Behavioral of clk_div issignal count : std_logic_vector(3 downto 0):="0000";signal a : std_logic;signal b : std_logic;signal temp : integer range 0 to 50;signal Q : std_logic;beginprocess(clk,Q)beginif(clk'event and clk='1')then ——对clk进行分频temp <= temp+1;if (temp =49) thenQ <= not Q;temp <= 0;end if;end if;if(Q'event and Q='1')thenif(count ="1111") thencount <=(others =>'0');elsecount <=count+1;end if;end if;a <= (not clk and count(0))and count(1);b <= (not clk and count(0))and(not count(1) and count(2));end process;w1 <= a;w0 <= b;N1 <=a or b;end Behavioral;4、硬件实现与注意事项硬件实现主要说的是外部端口和实验箱的对应问题。

M:接的是时钟脉冲,即P150W1:接LED灯显示结果,即P45W0:接LED灯显示结果,即P44N1:接LED灯显示结果,即P47注意事项:1.时钟脉冲频率太高,结果会显示的很快,因此首先对CLK进行50倍的分频。

将频率降低以便观察结果。

2.由于时钟频率过高,可能仿真不出来,因此就不必仿真。

3.可能有些组编译通过但在综合时出现错误(是有关BUF的),这时就需要在CLK之前接入一个缓冲器。

具体的加入代码如下:library UNISIM; ——头文件use UNISIM.VComponents.all;entity test isPort ( clk : in STD_LOGIC;end test;architecture Behavioral of test issignal ck:std_logic;component IBUF ——定义缓冲器port(I:in STD_LOGIC;O:out STD_LOGIC);end component;beginUO:IBUF port map(I=>clk,O=>ck); ——以后的ck代替clk六、八位二进制计数器的实现1.实验题目请用VHDL编写一个八位二进制计数器,具有异步清零功能、同步置数、计数功能。

实验验证时,须用单脉冲进行验证。

计数器的输出显示在显示器上。

〖显示器可以是:①七段数码显示器,②LED发光二极管。

〗2.实验代码library IEEE; ——头文件use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;library UNISIM;use UNISIM.VComponents.all;entity Counter8 isPort ( set : in STD_LOGIC; ——低电平置数reset : in STD_LOGIC; ——低电平异步清零key : out STD_LOGIC; ——键盘输出口clk : in STD_LOGIC; ——键盘的输入口,当成单脉冲使用co : OUT STD_LOGIC; ——进位put : in STD_LOGIC_VECTOR (7 DOWNTO 0); ——置数load : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); ——LED显示end Counter8;architecture example of Counter8 issignal ck: std_logic;signal cc: std_logic;signal down : STD_LOGIC_VECTOR(7 DOWNTO 0):="00000000";signal kk : std_logic:='0';component IBUF ——设置缓冲器port(I : in STD_LOGIC;O : out STD_LOGIC);end component;beginkey <=kk;load <=down;co <=cc;U0:IBUF port map(I=>clk,O=>ck);p0:PROCESS(ck)beginif(ck' event and ck='0') thenIF(set ='0') THEN ——低电平置数down <=put;ELSEdown <=down+1;END IF;END IF;IF(reset ='0') then ——低电平异步清零down <="00000000";END IF;if(down="11111111" ) then ——进位设置cc <='1';elsecc <='0';end if;end process p0;end example;3.硬件实现与注意事项硬件实现:clk:接键盘的行或列,即P 29key :接键盘的行或列与clk相对应,即P34reset :接数字开关,即P62set:接数字开关,即P61co :接电平显示,即P45put(0-7) :全部接数字开关,即P73 P74 P70 P71 P68 P69 P63 P67load(0-7) :全部接电平显示,即P59 P60 P57 P58 P48 P49 P46 P47注意事项:1.由于在综合时出了问题,本实验在输入clk之前加入了一个缓冲器2.在实验中发现数字开关的抖动比键盘大,就选用键盘作为单脉冲。

相关文档
最新文档