四选一、四位比较器、加法器、计数器、巴克码发生器、七人表决器

合集下载

广工eda课程设计-七人表决器

广工eda课程设计-七人表决器

课程设计课程名称硬件描述语言与EDA技术课程设计题目名称学生学院材料与能源学院专业班级学号学生姓名指导教师陈先朝2017年6 月10日目录一、设计目的 (1)二、设计内容 (1)三、设计思路 (1)四、Verilog源程序 (1)五、管脚分配 (3)六、总结设计与体会 (3)七、参考文献 (4)七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。

2..熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。

二、设计内容基础功能:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成人数和反对人数在数码管显示出来。

新加:清零键和通过时蜂鸣器响。

三、设计思路(1)使用一个模块完成所有功能。

(2)用alawys语句检测赞同和反对人数信号(A和B),再用两个独立共阴极数码管显示人数0到7。

(3)用if语句判断总人数是否超出7人(s)(4)用另一个clk实现蜂鸣器,因为原来的clk信号频率过低。

四、Verilog源程序module biaojue(clk_1,clk_2,yes,no,clear,buzz,A,B,result);input clk_1,clk_2,yes,no,clear;reg [4:0] s1,s2,s;output reg [7:0] A,B;output reg result,buzz;always @(posedge clk_1)begins=s1+s2;if(clear) begin s1=0; s2=0; result=0; endelse if (s>4'b0111) begin s1=0; s2=0; result=0; endelse if (yes) s1=s1+1;else if (no) s2=s2+1;else if (s1>=4'b0100) begin result=1 ; endelse begin s1=s1; s2=s2; result=result; endendalways @(clk_2)begin if (result) buzz=~clk_2;endalways @(s1)begincase(s1)4'b0000:A=8'h3f;4'b0001:A=8'h06;4'b0010:A=8'h5b;4'b0011:A=8'h4f;4'b0100:A=8'h66;4'b0101:A=8'h6d;4'b0110:A=8'h7d;4'b0111:A=8'h07;default:A=8'h00;endcaseendalways @(s2)begincase(s2)4'b0000:B=8'h3f;4'b0001:B=8'h06;4'b0010:B=8'h5b;4'b0011:B=8'h4f;4'b0100:B=8'h66;4'b0101:B=8'h6d;4'b0110:B=8'h7d;4'b0111:B=8'h07;default:B=8'h00;endcaseendendmodule五、管脚分配错误!六、总结设计与体会七、参考文献(1)自编指导书;(2)Verilog与EDA相关教程:a)王金明等编著,EDA技术与Verilog HDL设计,电子工业出版社,2013年;b)艾明晶编著,EDA技术实验教程,清华大学出版社,2014年;c)潘松等编著,EDA技术与Verilog HDL ,清华大学出版社,2013年;d)张春晶等编著,现代数字电子技术及Verilog设计,清华大学出版社,2014年;e)刘靳等编著,Verilog程序设计与EDA ,西安电子科技大学出版社,2012年;f)刘福奇主编,Verilog HDL 应用程序设计实例精讲,电子工业出版社,2012年;g)周润景等主编,基于Quartus Ⅱ的数字系统Verilog HDL设计实例详解,电子工业出版社,2010年。

7人表决控制电路

7人表决控制电路

摘要7人表决控制电路是一简单的输入信号检测与处理、产生输出控制信号的逻辑电路。

本文详细介绍了依据功能要求进行控制电路方案设计的过程,并在此基础上将整体电路分为输入信号处理模块,计时模块,译码模块,比较模块,显示模块等主要功能模块。

实现中采用Verilog HDL描述、ModelSim进行功能仿真、ISE进行逻辑综合和适配下载,最后在Altera的CycloneⅡ芯片EP2C8Q208C8上实现并完成测试。

在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。

关键词Verilog HDL;FPGA;仿真;综合;动态扫描目录引言 (1)1 总体电路结构设计 (2)1.1电路功能与性能 (2)1.2主要调度算法 (2)1.3电路接口 (3)1.4电路功能框图 (4)1.5验证方案 (5)2 模块设计 (6)2.1输入信号处理模块设计 (6)2.2计时模块设计 (8)2.3译码模块设计 (8)2.4比较模块设计 (9)2.5显示模块设计 (10)3 设计仿真与测试 (11)3.1仿真与测试的功能列表 (11)3.2仿真平台构建和仿真结果 (11)3.2.1 顶层仿真平台与激励 (11)3.2.2 电路功能仿真结果 (12)3.2.3 电路后仿真结果 (13)3.3测试环境的搭建与测试结果 (13)3.3.1 测试环境模拟 (13)3.3.2 电路测试结果 (14)4 电路约束与综合实现 ........................................................................ 错误!未定义书签。

4.1时序约束 (15)4.2引脚锁定约束 (16)4.3电路综合报告 (17)4.4设计实现与下载 (17)结论 (21)参考文献 (22)引言随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。

实验五 七人表决器的设计

实验五 七人表决器的设计

实验五七人表决器的设计一、实验目的1、掌握VHDL程序设计。

二、实验内容设计七人表决器,并在数码管上显示赞成票数。

三、实验仪器1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,数码显示模块。

2、并口延长线,JTAG延长线。

3、安装MAX+PLUSII 10.2软件的PC机。

四、实验原理表决器是统计选票结果的工具,投票者通过拨位开关投票,表示赞成或反对,用循环语句完成赞成票计数过程,统计出赞成的票数之后,用CASE控制数码管显示赞成票数。

五、实验步骤:步骤1:输入VHDL程序,编译,仿真,锁定引脚并下载到目标芯片。

步骤2:验证设计结果。

六、实验报告1、列出数码管控制接口表(列出数码管显示数字的每段控制电平)。

七、思考题记录实验数据,列出七人表决器的真值表。

VHDL程序:library ieee;use ieee.std_logic_1164.all;ENTITY eda3 isPORT (men:in std_logic_vector(6 downto 0);a,b,c:out std_logic;output:out std_logic_vector(6 downto 0)); END entity eda3;ARCHITECTURE behave OF eda3 ISBEGINPROCESS(men)variable temp: integer range 0 to 7;BEGINtemp:=0;for i in 0 to 6 loopif(men(i)='1')thentemp:=temp+1;end if;end loop;case temp iswhen 0 => output <="1111110";when 1 => output <="0110000";when 2 => output <="1101101";when 3 => output <="1111001";when 4 => output <="0110011";when 5 => output <="1011011";when 6 => output <="1011111";when 7 => output <="1110000";when others => output <="0000000";end case;a <='1';b <='1';c <='1';END PROCESS;END architecture behave;。

实验2七人表决器概要

实验2七人表决器概要
实验2 七人表决器
1
ZY11EDA13BE实验箱简介
2
1. 实验箱俯视图
3
本实验箱采用先进的主板+适配板+扩展板的灵活 结构,并采用ALTERA公司ACEX系列3万门的 FPGA器件EP1K30QC208-2为核心处理芯片。提 供1968个寄存器,24576个存储位,30000个典型门 ,因此EP1K30非常适合于构建复杂逻辑功能和存 储功能。
8
电源的打开顺序是:先打开交流开关,再打开直流开关, 最后打开各个模块的控制开关。电源关掉的顺序刚 好相反。
9
4用配置/编程模块,可以使 用本模块对ALTERA、LATTICE、XILINX等国际著名P LD公司的几乎所有isp器件或FPGA/CPLD器件进行编程 下载并且能自动识别目标器件。
43
3)锁定后重新编译;
引脚重新定义后必须再通过编译器 “Compile”对文件重新进行编译,以 便将引脚信息编入下载文件中。此时 回到原来的设计文件“7vote.gdf”上 的输入输出信号旁都标有其对应的管 脚号。
44
编程下载
1)将25针下载电缆线一端插入LPT1(打印 机口即并行口),另一端连接到实验箱主板 系统的通用编程模块DB25接口,再用十针连 接线一端插入该模块JTAG下载接口固定不变, 另一端连接到主板系统的配置模块中目标芯 片的下载接口,打开系统主板电源。
4
2. 核心芯片俯视图
5
EP1K30包含一个嵌入式阵列来完成存储功能, 一个逻辑阵列来完成通用逻辑功能和众多的引 脚从而使其可以作为接口与系统组件有效连接。 做实验时切记不要用手触摸核心芯片A,静电可 能会损坏此贴片芯片。
6
3. 电源模块
7
电源模块包括3个开关,7个电压输出插孔。其 中交流开关用于打开从220V交流电源接入的内部 变压器,为实验箱提供基本工作电源。打开交流 开关,电源指示灯PL0亮,实验箱进入待机状态。 按钮开关APW1用于打开主板中模块工作电源,按 下APW1后,电源指示灯PL1亮,实验箱进入工作 状态,为系统提供+5V,+3.3V,+2.5V,+1.8V电源 。 按钮开关APW2用于打开+12V,-12V电源,按 下APW2后,电源指示灯PL2、PL3亮。

七人表决器设计

七人表决器设计

EDA 课程设计报告书课题名称 七人表决器设计姓 名 学 号 院、系、部 电气系 专 业 电子信息工程指导教师2013年12月3日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2011级EDA课程设计七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。

2.熟悉EDA开发的基本流程。

二、设计要求所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

三、流程图设计四、程序设计(程序代码)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY asdfgh ISPORT(clk:IN STD_LOGIC;am:IN STD_LOGIC_VECTOR(6 DOWNTO 0);y:OUT STD_LOGIC;y1:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY asdfgh;ARCHITECTURE one OF asdfgh ISSIGNAL q:STD_LOGIC;SIGNAL q1:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(am)VARIABLE shu:INTEGER;BEGINshu:=0;IF clk'EVENT AND clk='1' THENIF am(0)='1' THEN shu:=shu+1;END IF;IF am(1)='1' THEN shu:=shu+1;END IF;IF am(2)='1' THEN shu:=shu+1;END IF;IF am(3)='1' THEN shu:=shu+1;END IF;IF am(4)='1' THEN shu:=shu+1;END IF;IF am(5)='1' THEN shu:=shu+1;END IF;IF am(6)='1' THEN shu:=shu+1;END IF;CASE shu ISWHEN 0 => q<='0';q1<="0111111";WHEN 1 => q<='0';q1<="0000110";WHEN 2 => q<='0';q1<="1011011";WHEN 3 => q<='0';q1<="1001111";WHEN 4 => q<='1';q1<="1100110";WHEN 5 => q<='1';q1<="1101101";WHEN 6 => q<='1';q1<="1111101";WHEN 7 => q<='1';q1<="0000111";WHEN OTHERS => q<='Z';q1<="ZZZZZZZ";END CASE;y<=q;y1<=q1;END IF;END PROCESS;END ARCHITECTURE one;五、仿真图及结果图(结果说明)当a[6]-a[0]依次输入为1101001时,则数码管y1[6]-y1[0]为1100110,即数码管显示为4,LED灯即为高电平,即为亮。

课程设计报告---七人表决器设计

课程设计报告---七人表决器设计

电子综合设计题目七人抢答器设计学院计信学院专业电子信息工程班级学生姓名指导教师2012 年 6 月18 日一、设计原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于 4 时,则认为同意;反之,当否决的票数大于或者等于4 时,则认为不同意。

二、分析讨论七人表决器这一功能可以用C语言、汇编语言或VHDL编程后下载到单片机上实现,不过用VHDL编程不仅技术含量高而且能让我们更熟练的掌握和使用quartus软件的步骤和方法。

所以我们是采用VHDL编程来实现的。

三、设计准备根据七人表决器的原理,我们的准备过程如下:1、使用Altera的Cyclone II器件,所用的芯片为EP2C35F672C8,开发平台为quartus II。

2、使用七个拨动开关(K1~K7)作为输入变量来表示七个投票人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票。

3、使用一个七段数码管来显示同意的票数。

4、使用七个LED(LED2~LED8)用来分别记录投票人的个人投票结果,当LED亮起时就表示对应的投票人同意,否则就表示不同意。

5、使用一个LED(LED1)来表示最终的投票结果,当LED1亮起时表示表决通过,不亮时就表示表决不通过。

6、使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管的显示结果和LED的显示情况。

7、软件仿真成功后,通过专用的连接线再用硬件进行测试,并将硬件测试的结果以照片的形式做记录。

四、设计思路根据程序设计的一般步骤,我们首先设计出七人表决器的系统框图,也就是说先要确定一个大的设计方向;然后再根据设计要求并结合系统框图来设计程序流程图;由程序流程图来编写VHDL程序,并画出表决器的外围引脚图;再将程序用软件仿真,软件仿真成功后进行硬件测试。

实验一七人表决器实验指导书

实验一七人表决器实验指导书

EDA实验指导书(EL-SOPC4000实验箱)指导老师:姚晓通电工电子实验中心七人表决器一、实验目的1.了解表决器的原理。

2.熟悉QuartusII软件建立工程,图形输入法进行设计。

3.熟悉整个开发的流程,初步使用EL-SOPC4000实验箱。

二、实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

根据电路状态转换表→设计数值输出→运用门电路设计电路图→仿真运行→实现七人多数表决器的设计。

电路状态转换图:根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。

(2)半加器电路设计:图 1 半加器的原理图(3)全加器电路设计:图 2 全加器的原理图(4)七人表决器电路设计:图3 七人表决器的原理图三、实验内容(1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。

(2)根据电路状态转换图,用门电路设计出七人表决器。

(3)运用半加器,全加器,实现表决器的设计。

(4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。

当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。

通过状态用LED1表示,未通过用LED2表示。

四、实验步骤1.首先打开QuartusII软件,新建工程voter7。

实验五--4选1多路复用器和4位比较器设计与仿真

实验五--4选1多路复用器和4位比较器设计与仿真

实验五 4选1多路复用器和4位比较器设计与仿真班级信息安全一班姓名邓一蕾学号2指导老师袁文澹一、实验目的1.熟悉QuartusⅡ仿真软件的基本操作,并用VHDL语言和逻辑图设计四选一多路选择器,4位比较器。

二、实验内容1.参照芯片74LS153的电路结构,用逻辑图和VHDL语言设计四选一多路复用器;2.从QuartusⅡ中取7485器件(比较器)进行仿真与分析;用VHDL语言设计4位比较器,接着进行仿真与分析,电路逻辑结构参照芯片74x85三.实验原理1.(1)四选一多路选择器逻辑电路的原理4选1多路选择器,GN为使能端,AB为选择通道控制端,c0,c1,c2,c3为数据输入端.Y为输出端。

当GN为1时,y=0;当GN为0,AB=00时,Y为c0的值;当GN为0,AB=01时,Y为c1的值;当GN为0,AB=10时,Y为c2的值;当GN为0,AB=11时,Y为c3的值;(2)通过实验实现逻辑的原理2.(1)4位比较器的逻辑电路图A0,B0,A1,B1,A2,B2,A3,B3为相比较数输入端,ALBI,AEBI,AGBI为级联输入端ALBO,AEBO,AGBO为比较输出端。

2)通过实验实现逻辑的逻辑功能表为四、实验方法与步骤实验方法:采用基于FPGA进行数字逻辑电路设计的方法。

采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。

1.4选1多路选择器实验步骤:编写源代码。

打开QuartusⅡ软件平台,点击File中得New建立一个文件。

编写的文件名与实体名一致,点击 as以“.vhd”为扩展名存盘文件。

2、按照实验箱上FPGA的芯片名更改编程芯片的设置。

操作是点击Assign/Device,选取芯片的类型。

建议选“Altera的EPF10K20TI144_4”3、编译与调试。

确定源代码文件为当前工程文件,点击Complier进行文件编译。

七人表决器——精选推荐

七人表决器——精选推荐

七人表决器一:实验目的1.掌握用VHDL硬件描述语言做数字电路综合和设计的方法。

2.熟练掌握程序的编译,仿真,生成模块及引脚号码锁定方法并下载到目标芯片。

二:实验仪器ZY11EDA12BE三:实验要求设计一个七人表决电路,当参与表决的7人中有4人或4人以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过。

实验时,可用7个电平开关作为表决器的7个输入变量,输入“1”表示表决者“赞同”输入“0”表示表决者“不赞同”。

可在上述电路的基础上,增加数码管显示功能,显示赞同和不赞同的票数。

四:实验原理根据设计任务要求,实验电路如上图,其中key表示七个输入cp为输入脉冲,result为表决结果显示,seg[6。

0]为送数码管显示结果,sel为选择要显示的数码管其vhdl语言编写后连接,程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity biaojue isport (cp:in std_logic;key_in:in std_logic_vector(6 downto 0);result:out std_logic;seg_out:out std_logic_vector(6 downto 0);sel:out std_logic_vector(2 downto 0));end biaojue;architecture arc of biaojue issignal sum:std_logic_vector(3 downto 0);signal seg1,seg0:std_logic_vector(6 downto 0);signal sel1: std_logic_vector(2 downto 0);beginprocessvariable sum1:std_logic_vector(3 downto 0);beginsum1:="0000";for i in 0 to 6 loopif key_in(i)='1' thensum1:=sum1+"0001";elsesum1:=sum1;end if;end loop;sum<=sum1;if sum(2)='1' thenresult<='1';elseresult<='0';end if;case sum iswhen "0000"=>seg1<="0111111";seg0<="0000111";when "0001"=>seg1<="0000110";seg0<="1111101";when "0010"=>seg1<="1011011";seg0<="1101101";when "0011"=>seg1<="1001111";seg0<="1100110";when "0100"=>seg1<="1100110";seg0<="1001111";when "0101"=>seg1<="1101101";seg0<="1011011";when "0110"=>seg1<="1111101";seg0<="0000110";when"0111"=> seg1<="0000111";seg0<="0111111";when others=>seg1<="0000000";seg0<="0000000"; end case;end process;process(cp)beginif(cp'event and cp='1') thenif sel1<="001"thensel1<="000";else sel1<=sel1+"001";end if;end if;end process;sel<=sel1;process(cp)beginif(cp'event and cp='1')then--sel<=sel1;if sel1="001"thenseg_out<=seg0;--sel<=sel1;elsif sel1="000" thenseg_out<=seg1;--sel<=sel1;end if;end if;end process;end arc;五:管脚锁定输入:1.掌握了用vhdl语言常用的设计方法,原理图和vhdl语言硬件描述法2.理解动态扫描电路的基本原理并实现七:参考资料《EDA技术习题与实践》《EDA与数字系统设计》。

四选一、四位比较器、加法器、计数器、巴克码发生器、七人表决器

四选一、四位比较器、加法器、计数器、巴克码发生器、七人表决器

EDA实验报告姓名:学号:班级:实验14选1数据选择器的设计一、实验目的1.学习EDA软件的基本操作。

2.学习使用原理图进行设计输入。

3.初步掌握器件设计输入、编译、仿真和编程的过程。

4.学习实验开发系统的使用方法。

二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。

实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。

本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。

实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。

例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。

学会管脚锁定以及编程下载的方法等。

四、实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。

五、实验结果4选1数据选择器的原理图:仿真波形图:管脚分配:实验2 四位比较器一、实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。

2.学习层次化设计方法。

二、实验仪器与器材1.EDA 开发软件 一套2.微机 一台3.实验开发系统 一台4.打印机 一台5.其它器件与材料 若干三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M (A=B ),G (A>B )和L (A<B )(如图所示)。

用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。

四、实验要求1.用硬件描述语言编写四位二进制码 比较器的源文件; 2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行 硬件验证。

(最新整理)4人表决器

(最新整理)4人表决器

(完整)4人表决器编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)4人表决器)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)4人表决器的全部内容。

四人表决器设计方案设计人:设计目的:目的是熟悉中小规模集成电路功能,掌握不同类型门电路或集成电路实现“四人表决器电路”方法和工作原理。

设计思想:多数同意才通过,可以推出只有三人或三人以上才输出结果为真。

真值表:ABCD代表四个人,Y代表结果1代表通过,0代表不通过逻辑函数式: Y=ABCD’+ABC’D+AB’CD+A’BCD+ABCD 卡诺图化简:化简结果:Y=ABD+ABC+BCD+ACD实现控制通过部分:用门电路实现或译码器实现1.用门电路实现(1)用与门或门实现Y=ABD+ABC+BCD+ACD(2)用与非门实现Y=((ABD+ABC+BCD+ACD)')'=((ABD)’(ABC)'(BCD)’(ACD)')'这里用与非门实现,结果如下仿真结果:ABCD任意三人通过,结果如下:2.用译码器实现Y=ABCD’+ABC’D+AB'CD+A’BCD+ABCD =m7+m11+m13+m14+m15=((m7)'(m11)’(m13)'(m14)’(m15)')’仿真结果任意三个人同意就通过:由于在后面的数码管显示部分还要用到译码器,所以用第二种方案:用译码器实现比较好,这种方法可以节约器件,大大简化电路,有效降低成本。

数码管显示通过人数部分Z1表示0个人通过Z1=A’B’C’D’=m0Z2表示1个人通过Z2=A’B’C’D+A’B’C D’+A’BC’D’+AB’C’D’=m1+m2+m4+m8同理Z3=A’B’CD+A’BC’D+AB’C’D+A’BCD'+AB’CD'+ABC’D’=m3+m5+m9+m6+m10+m12Z4=ABCD'+ABC’D+A'BCD=m7+m11+m13+m14Z5=ABCD=m15用与非形势写出Z1=(m0’)’Z2=((m1)’(m2)’(m4)’(m8)’)’Z3=((m3)'(m5)’(m6)’(m9)’(m10)’(m12)’)’Z4=((m7)’(m11)’(m13)’(m14)')’Z5=(m15)’仿真结果四人表决器最终电路运用数码管的译码器来实现控制通过部分的部分电路,大大简化器件使用,有效节约成本以三人通过为例,结果如下。

数字集成电路综合设计7人表决器电路前端设计--大学毕业设计论文

数字集成电路综合设计7人表决器电路前端设计--大学毕业设计论文

摘要7人表决器电路是一简单的输入信号检测与处理、产生运算控制信号的逻辑电路。

本文详细介绍了依据功能要求进行运算控制电路方案设计的过程,并在此基础上将整体电路分为数据接收模块、数据处理模块、结果显示模块等主要功能模块。

电路设计完成后通过Design Compiler对电路进行逻辑综合。

使用Tcl命令编写电路的约束文件,设定约束条件,对电路进行优化以保证设计的功能性,同时生成网表文件、时序报告、面积报告,并进行结果分析。

再通过延时文件与顶层文件的激励进行电路功能的时序仿真,分析设计的可行性。

再通过Primetime对电路进行静态时序分析,得到静态时序报告。

最后通过IC_Compler对生成的网表进行物理实现,生成GDS II版图信息。

关键词Design Compiler;Primetime;逻辑综合;静态时序分析;物理实现;目录摘要 (1)目录 (2)引言 (4)1 总体电路结构设计 (5)1.1电路功能 (5)1.2 关键功能电路设计 (5)1.3 电路接口 (6)1.4 顶层TOP的设计 (6)2 设计约束及脚本 (8)2.1 约束设计 (8)2.2 脚本设计 (8)3 逻辑综合过程 (11)3.1 综合文件 (11)3.2 综合环境 (11)3.3综合过程 (12)4 结果分析及时序仿真 (16)4.1 时序报告分析 (16)4.2 面积报告分析 (19)4.3时序仿真 (20)5 静态时序分析及脚本 (21)5.1 静态时序分析 (21)5.2 PrimeTime 进行时序分析的流程 (21)5.3 脚本 (22)5.4 静态时序报告分析 (24)6 物理实现 (28)6.1 物理实现文件 (28)6.2物理实现环境 (28)6.3物理实现过程 (29)6.3.1 Floorplan (29)6.3.2 placemant (30)6.3.3 Clock Tree synthesis (30)6.3.4 Routing (31)6.3.5 Write Design Out (32)6.4 报告输出 (32)6.5 LVS和DRC (34)结论 (35)参考文献 (36)附录A:顶层设计源代码 (37)附录B:设计约束代码 (38)附录C:静态时序分析脚本代码 (40)引言现代集成电路技术急剧发展,输百万级晶体管电路使设计面临着巨大的挑战。

EDA实验七人表决器的操作步骤

EDA实验七人表决器的操作步骤

写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII软件设计由多个模块构成的数字系统的主要步骤,及注意事项。

希望对前几个实验未能完全掌握的同学有所帮助。

3.3.2实验内容基于QuartusII软件及VHDL语言实现七人表决器。

当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。

用7个电平开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。

本实验4学时。

3.3.3实验仪器ZY11EDA13BE型实验箱。

3.3.4实验原理分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。

投票计数模块,用来统计赞成和反对的人数,数码显示模块以数码管动态扫描的形式,将赞成和反对的人数显示在数码管上。

实验具体步骤如下:一、建立项目(1)新建文件夹。

路径及文件名中不可出现汉字。

(2)新建项目。

项目取名为bjq7,特别强调的是项目名取好后,顶层文件名必须与项目名一致。

一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层文件,只有顶层文件名可以且必须与项目名相同。

(3)选择芯片二、建立文件1.建立投票计数模块。

(1)新建VHDL文件(2)编辑VHDL程序。

投票计数模块输入为七个电平开关input,输出为同意的人数agree,反对的人数disagree,是否通过指示灯y,程序清单如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity BJQ isport(input:in std_logic_vector(6downto0);agree:out std_logic_vector(3downto0);disagree:out std_logic_vector(3downto0);y:out std_logic);end;architecture one of BJQ isbeginprocess(input)variable cnt:integer range0to7;variable cnt0:integer range0to7;begincnt:=0;for i in6downto0loopif input(i)='1'thencnt:=cnt+1;end if;end loop;cnt0:=7-cnt;if cnt>3then y<='1';else y<='0';end if;case cnt iswhen0=>agree<="0000";when1=>agree<="0001";when2=>agree<="0010";when3=>agree<="0011";when4=>agree<="0100";when5=>agree<="0101";when6=>agree<="0110";when7=>agree<="0111";when others=>agree<="0000";end case;case cnt0iswhen0=>disagree<="0000";when1=>disagree<="0001";when2=>disagree<="0010";when3=>disagree<="0011";when4=>disagree<="0100";when5=>disagree<="0101";when6=>disagree<="0110";when7=>disagree<="0111";when others=>disagree<="0000";end case;end process;end;程序输入完成后进行保存,名字与实体名一致BJQ。

数电七人表决器课程设计

数电七人表决器课程设计

电子技术课程设计课题:表决器电路设计系别:电气与电子工程系专业:电气工程及其自动化姓名: AAA学号: 09AAA河南城建学院2012年 06 月 21 日成绩评定·一、指导教师评语二、评分课程设计成绩评定一、设计目的1.本课程设计是在前导验证性认知实验基础上,进行更高层次的命题设计实验,要求学生在教师指导下独立查阅资料、设计、安装和调试特定功能的电子电路。

培养学生利用模拟、数字电路知识,解决电子线路中常见实际问题的能力,使学生积累实际电子制作经验,目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。

2.用已学过的知识和对数字电子技术的基本理论,基本概念,基本方法和单元电路,逻辑部件的深入认识,而拓宽思路,扩大视野,进一步巩固,扩充所学知识,提高分析问题和解决问题的能力。

二、设计题目和内容题目:表决器电路设计1) 用于七人以下会议表决。

半数以上人同意通过。

2)应考虑弃权情况,有三人以上弃权,推迟会议再议。

3)根据表决情况显示“否决”“通过”“再议”字样。

显示方式自己设计。

三、电路比较方案一:用数据选择器分别将通过、否决、弃权的高低电平进行选择,之后将七人的选择结果用T触发器构成的同步二进制加法计数器进行累加。

然后用数字比较器进行比较,如果弃权的票数大于等于3,则输出为“再议”。

如果弃权的票数小于3且通过的票数大于3,则显示为“通过”。

其余的则显示为“否决”。

方案二:将七人的通过、否决票数用移位寄存器进行寄存,弃权的票数用另一组移位寄存器进行寄存,然后用CLK脉冲信号使其移位寄存器进行右移,用T触发器构成的同步二进制加法计数器进行累加,如果弃权的票数大于等于3,则输出为“再议”。

如果弃权的票数小于3且通过的票数大于3,则显示为“通过”。

其余的则显示为“否决”。

方案对比:方案一用的数据选择器比较多而且反应速度较慢,方案二用器件较少,比较好一些。

方案二:电路的总体结构 1、电路的总体原理框图图1 总体电路原理框图2、工作原理工作原理如图:投票按键部分每人有三个按键,总共21个按键,投票时按下相应的键就可以将相应的信号送入输入转换部分,输入转换部分主要由移位寄存器组成,它的作用是将投票时并行输入的数据串行输出,在控制电路的作用下,数据在这里逐个输出进入票数统计部分,这部分主要是由三个JK 触发器组成的三位二进制计数器。

实验五 4选1多路复用器和4位比较器设计与仿真

实验五  4选1多路复用器和4位比较器设计与仿真

实验五 4选1多路复用器和4位比较器设计与仿真班级信息安全一班姓名邓一蕾学号201208060106指导老师袁文澹一、实验目的1.熟悉QuartusⅡ仿真软件的基本操作,并用VHDL语言和逻辑图设计四选一多路选择器,4位比较器。

二、实验内容1.参照芯片74LS153的电路结构,用逻辑图和VHDL语言设计四选一多路复用器;2.从QuartusⅡ中取7485器件(比较器)进行仿真与分析;用VHDL语言设计4位比较器,接着进行仿真与分析,电路逻辑结构参照芯片74x85三.实验原理1.(1)四选一多路选择器逻辑电路的原理4选1多路选择器,GN为使能端,AB为选择通道控制端,c0,c1,c2,c3为数据输入端.Y 为输出端。

当GN为1时,y=0;当GN为0,AB=00时,Y为c0的值;当GN为0,AB=01时,Y为c1的值;当GN为0,AB=10时,Y为c2的值;当GN为0,AB=11时,Y为c3的值;(2)通过实验实现逻辑的原理2.(1)4位比较器的逻辑电路图A0,B0,A1,B1,A2,B2,A3,B3为相比较数输入端,ALBI,AEBI,AGBI为级联输入端ALBO,AEBO,AGBO为比较输出端。

2)通过实验实现逻辑的逻辑功能表为四、实验方法与步骤实验方法:采用基于FPGA进行数字逻辑电路设计的方法。

采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。

1.4选1多路选择器实验步骤:编写源代码。

打开QuartusⅡ软件平台,点击File中得New建立一个文件。

编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。

2、按照实验箱上FPGA的芯片名更改编程芯片的设臵。

操作是点击Assign/Device,选取芯片的类型。

建议选“Altera的EPF10K20TI144_4”3、编译与调试。

确定源代码文件为当前工程文件,点击Complier进行文件编译。

七人表决器实验报告

七人表决器实验报告

七人表决器一.实验目的1.掌握Quartus II软件安装,熟悉Quartus II操作环境。

2.初步了解VHDL语言。

3.学习使用行为级描述方法设计电路。

二.实验原理七人表决器使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。

当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。

七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。

使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。

当采用行为级描述的时候,采用一个变量记载选举通过的总人数。

当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。

因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。

二.实验内容1.安装Quartus II软件,熟悉Quartus II操作环境。

2.使用VHDL实现上述描述。

3.波形仿真。

4.生成元件以及RTL四.设计提示1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。

2.了解变量和信号的区别。

3.了解进程内外语句的顺序和并行执行的区别。

4.设计文本的端口可如下:设计文本:LIBRARY IEEE;library ieee;USE vote7 ISPORT(men:in std_logic_vector(6 downto 0);LedPass,LedFail:OUT std_logic);END vote7;ARCHITECTURE behave OF vote7 ISsignal pass:std_logic;BEGINPROCESS(men)variable temp:std_logic_vector(2 downto 0);BEGINtemp:="000";for i in 0 to 6 loop--结束if(men(i)='1')thentemp:=temp+1;elsetemp:=temp+0;end if;end loop;pass<=temp(2);END PROCESS;LedPass<='1' WHEN pass='1'ELSE '0';LedFail<='1' WHEN pass='0'ELSE '0';--库和程序包--实体--结构体五.实验报告要求1.记录仿真波形。

单片机七人表决器

单片机七人表决器

一.方案设计1.设计题目:七人表决器。

2.实训要求利用AT89S51单片机设计并制作会议表决计票器电路。

具体要求如下:1、可供57个人进行表决,每个人有一个“同意”和一个“反对”按键,表决时两个键先按下的一个有效,若再按另一个键将清楚前一次按键的效能;每次表决每个按键只能是第一次按的有效,多按的次数无效,除非前一次按键的效能已被清楚或没有生效。

2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。

3、在实现上述功能的基础上增加“同意”数和“反对”数的显示。

二.硬件电路设计和原理。

1.硬件设计思路:设计题目为5—7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个I/O口,因为在单片机内部P1和P2都有上啦电阻,而P0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把P1和P2口选为按键同意和反对的输入端,因为表决考试和结束要利用主持人按键来控制,我采用外部中断0和外部中断一来控制其开始和结束;设计要求中需要四张灯,分别为2个红灯,一个黄灯,一个绿灯,其中三个灯用于输出显示,可用单片机的I/O口,另外一个红灯作为电源灯来显示,判断是否通电,因为P1口和P2口用做按键的同意和反对,把P2剩余的I/O口与三个灯连接,分别连接在P2.3,P2.4,P2.5口,因为P0口是低电平有效所以我的P0口与LED现实器相连用于显示反对与同意的人数的多少,采用动态显示的方式,为了保证两个显示器不再相同时间显示相同的数字,所以LED显示器的公共端受另外一组信号的控制,采用延时的方式让它们分别显示出来。

2.元件参数确定:设计中需要四盏灯,分别为两个红灯,一个绿灯,一个黄灯,P0口的输出端输出高电平一般为5伏左右,最大电流为五毫安,因此必须加上限流电阻,我选用的是470欧的电阻,然后将单片机的最小系统加入此次的电路中。

四人表决器的设计(教案)

四人表决器的设计(教案)

四人表决器的设计教学目标:1. 了解四人表决器的基本原理和功能;2. 学习数字电路的基本组成和设计方法;3. 培养学生的动手能力和团队协作精神。

教学内容:第一章:四人表决器简介1.1 四人表决器的定义和作用1.2 四人表决器的应用领域第二章:数字电路基础2.1 数字电路的基本概念2.2 逻辑门电路2.3 组合逻辑电路第三章:四人表决器的设计原理3.1 四人表决器的逻辑功能3.2 表决器电路的设计方法3.3 四人表决器的真值表和逻辑图第四章:四人表决器的仿真与实验4.1 仿真软件的选择和操作4.2 四人表决器电路的仿真过程4.3 实验操作步骤和注意事项第五章:团队协作与创新5.1 团队协作的意义和重要性5.2 创新思维与设计思路5.3 团队协作与创新在四人表决器设计中的应用教学方法:1. 采用讲授法,讲解四人表决器的原理和设计方法;2. 利用仿真软件,进行四人表决器电路的仿真实验;3. 鼓励学生进行团队协作,培养创新思维和实践能力。

教学评价:1. 课后作业:要求学生完成四人表决器的设计图纸和报告;2. 课堂讨论:评估学生在团队协作中的表现和创新思维;3. 实验报告:评估学生在仿真实验中的操作能力和问题解决能力。

教学资源:1. 教材:《数字电路与逻辑设计》;2. 仿真软件:如Multisim、Proteus等;3. 实验设备:四人表决器实验板、逻辑门电路模块等。

教学进度安排:1. 第一章:2课时;2. 第二章:3课时;3. 第三章:4课时;4. 第四章:3课时;5. 第五章:2课时。

第六章:四人表决器电路的模块化设计6.1 模块化设计概念6.2 表决器模块设计6.3 电路集成与测试第七章:四人表决器的设计与仿真7.1 设计流程概述7.2 电路图绘制7.3 仿真测试与优化第八章:四人表决器的PCB设计8.1 PCB设计基础8.2 表决器PCB布局8.3 布线规则与PCB制作第九章:四人表决器的实物制作与调试9.1 实物制作准备9.2 焊接技巧与注意事项9.3 实物电路调试与问题解决第十章:总结与拓展10.1 课程总结10.2 技术拓展与前沿10.3 课程反馈与改进计划教学方法:6. 采用案例分析法,讲解四人表决器模块化设计的具体应用;7. 利用电路设计软件,进行四人表决器电路的设计与仿真;8. 通过示范和指导,让学生掌握PCB设计的基本技巧;9. 以实践操作为主,培养学生的焊接技能和实物调试能力;10. 通过小组讨论和反馈,总结课程收获并提出改进建议。

四选一多路选择器设计实验

四选一多路选择器设计实验

四选一多路选择器设计实验在网络通信领域,多路选择器是一种重要的技术,它能够在单个处理器上同时处理多个输入/输出通道。

多路选择器可以实现多种功能,例如网络路由选择、数据包排队等。

在本文中,我将设计一个四选一多路选择器并进行实验,以研究和验证其性能和功能。

首先,我们需要了解四选一多路选择器的原理和结构。

四选一多路选择器是一种数字电路,其输入有四个信号,输出则选择其中一个信号进行传输。

为了实现这个功能,我们可以采用多种方式,其中一种常用的方法是使用多个多输入与门。

在我们的设计中,我们将使用四个2输入与门和两个2输入或门来实现四选一多路选择器。

我们给每个输入信号分配两个与门,并将其输出分别与两个或门的一个输入相连,另一个输入与输入控制信号相连。

当输入控制信号为1时,相应的输入信号被传输到输出;当输入控制信号为0时,相应的输入信号被屏蔽。

接下来,我们将进行实验来验证这个四选一多路选择器的性能和功能。

在实验中,我们将使用四个输入信号A、B、C和D,并通过一个控制信号S选择其中一个信号。

首先,我们将进行真值表测试,以验证多路选择器在不同输入和控制信号下的输出是否正确。

通过输入所有的可能组合,并手动确认输出是否符合预期,我们可以确保多路选择器的逻辑电路正确。

接下来,我们将进行时序性能测试,以验证多路选择器的响应时间。

我们可以通过给输入信号和控制信号施加电压脉冲,并测量输出信号的变化时间来评估多路选择器的响应快慢。

通过测试多个输入和控制信号组合下的响应时间,我们可以得出多路选择器的平均响应时间。

除了性能测试,我们还可以进行功能测试。

例如,我们可以测试选择不同输入信号时,多路选择器对于传输信号的正确性。

我们可以通过输入一个或多个特定的输入信号,并观察输出信号是否正确来评估多路选择器的功能。

最后,我们可以进行扩展实验来探索多路选择器的应用。

例如,我们可以通过将多个四选一多路选择器连接起来,实现更复杂的多路选择功能。

我们还可以将多路选择器与其他数字电路组合起来,以构建更复杂的系统。

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

EDA实验报告姓名:学号:班级:实验14选1数据选择器的设计一、实验目的1.学习EDA软件的基本操作。

2.学习使用原理图进行设计输入。

3.初步掌握器件设计输入、编译、仿真和编程的过程。

4.学习实验开发系统的使用方法。

二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。

实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。

本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。

实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。

例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。

学会管脚锁定以及编程下载的方法等。

四、实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。

五、实验结果4选1数据选择器的原理图:仿真波形图:管脚分配:实验2 四位比较器一、实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。

2.学习层次化设计方法。

二、实验仪器与器材1.EDA 开发软件 一套2.微机 一台3.实验开发系统 一台4.打印机 一台5.其它器件与材料 若干三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M (A=B ),G (A>B )和L (A<B )(如图所示)。

用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。

四、实验要求1.用硬件描述语言编写四位二进制码 比较器的源文件; 2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行 硬件验证。

四位比较器功能框图五、实验结果四位比较器VHDL 源文件:library ieee;use ieee.std_logic_1164.all;entity comp4 isport( A3,A2,A1,A0: in std_logic;B3,B2,B1,B0: in std_logic;G,M,L: out std_logic);end comp4;architecture behave of comp4 isbeginp1: process(A3,A2,A1,A0,B3,B2,B1,B0)variable comb1,comb2: std_logic_vector(3 downto 0);begincomb1:=A3&A2&A1&A0;3A 2A 1A 0A B B Bcomb2:=B3&B2&B1&B0;if(comb1>com2) then G<=’1’; M<=’0’; L<=’0’;elsif(comb1<comb2) then M<=’1’; G<=’0’; L<=’0’;else L<=’1’; G<=’0’; M<=’0’;end if;end process p1;end behave;仿真波形图:管脚分配:试验3 并行加法器设计一、试验目的1.设计一个4位加法器。

2.体会用VHDL进行逻辑描述的优点。

3,熟悉层次化设计方法。

二、试验仪器与器材1.EDA开发软件一套2.微机一台3.试验开发系统一台4.打印机一台5.其他器材和材料若干三、试验说明本试验实现一个4位二进制数加法器,其功能框图如图所示。

试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。

四、实验要求1234五、试验结果4library ieee;entity adder4 iscin: in std_logic_vector(3 downto 0);sum: out std_logic_vector(3 downto 0);count: out std_logic);end adder4;architecture behavioral of adder4 isbeginp1:process(a,b,cin)variable vsum: std_logic_vector(3 downto 0);variable carry: std_logic;begincarry:=cin;for i in 0 to 3 loopvsum(i):=(a(i) xor b(i)) xor carry;carry:=(a(i) and b(i)) or (carry and (a(i) or b(i)));end loop;sum<=vsum;count<=carry; co全加器功能框图end process p1;end behavioral;仿真波形图:管脚分配:实验4 计数器设计一、实验目的计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。

二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器材与材料若干三、实验说明计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。

下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。

四、实验要求1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。

2.编制仿真测试文件,并进行功能仿真。

3.下载并验证计数器功能。

4.为上述设计建立元件符号。

5.在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。

五、实验结果十进制计数器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(en,reset,clk:in std_logic;q:buffer std_logic_vector(3 downto 0);co:out std_logic);end counter10;architecture behav of counter10 isbeginprocess(clk,en)beginif clk'event and clk='1' thenif reset='1' then q<="0000";elsif en='1' thenif q<"1001" then q<=q+'1';else q<="0000";end if;end if;end if;end process;co<='1' when q="1001" else '0';end behav;仿真波形图:管脚分配:4_7译码器程序:library ieee;use ieee.std_logic_1164.all;entity decoder4_7 isport( insign: in std_logic_vector (3 downto 0);outsign: out std_logic_vector (6 downto 0)); end decoder4_7;architecture behave of decoder4_7 isbeginprocess(insign)begincase insign iswhen"0000"=>outsign<="0000001";when "0001"=>outsign<="1001111";when "0010"=>outsign<="0010010";when "0011"=>outsign<="0000110";when "0100"=>outsign<="1001100";when "0101"=>outsign<="0100100";when "0110"=>outsign<="1100000";when "0111"=>outsign<="0001111";when "1000"=>outsign<="0000000";when "1001"=>outsign<="0001100";when OTHERS=>outsign<="1111111";end case;end process;end behave ;100进制计数器原理图:仿真波形图:管脚分配:实验5 巴克码发生器一、实验目的1.实现一个在通信领域中经常使用的巴克码发生器。

2.掌握用大规模可编程逻辑器件实现时序电路的方法。

二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其它器件与材料若干三、实验说明巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。

它能自动产生周期性的序列码。

本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。

为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。

巴克码发生器的功能框图如图所示。

四、实验要求1.写出全部设计文件。

2.编写测试向量,进行功能仿真。

3.下载并用实验板验证。

五、实验结果巴克码发生器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity back isport(clk,reset:in std_logic;dout1,dout2:out std_logic);end back;architecture behave of back issignal count7:integer range 0 to 6;beginprocess(clk,reset)beginif reset='1' then count7<=0;elsif clk'event and clk='1' thenif count7<6 thencount7<=count7+1;else count7<=0;end if;end if;dout2<=clk;end process;process(count7)begincase count7 iswhen 0=>dout1<='1';when 1=>dout1<='1';when 2=>dout1<='1';when 3=>dout1<='0';when 4=>dout1<='0';when 5=>dout1<='1';when 6=>dout1<='0';when others=>dout1<='0';end case;end process;end behave;仿真波形图:管脚分配:用VHDL设计七人表决器实验原理用个开关作为表决器的7个输入变量,输入变量为‘1’时表示“赞同”;输入变量为‘0’时表示不赞同。

相关文档
最新文档