北邮数字逻辑课程设计..
北邮数字逻辑课程设计
北邮数字逻辑课程设计一、教学目标本课程的教学目标是使学生掌握数字逻辑的基本概念、原理和方法,能够运用数字逻辑设计简单的数字系统。
具体来说,知识目标包括:了解数字逻辑的基本概念,掌握逻辑门、逻辑函数、逻辑电路、组合逻辑电路、时序逻辑电路等基本知识;技能目标包括:能够使用数字逻辑设计简单的数字系统,能够进行逻辑电路的仿真和测试;情感态度价值观目标包括:培养学生的创新意识,提高学生的问题解决能力,使学生认识到数字逻辑在现代科技中的重要性。
二、教学内容本课程的教学内容主要包括数字逻辑的基本概念、原理和方法。
具体来说,包括以下几个部分:1. 逻辑门:介绍与门、或门、非门、异或门等基本逻辑门的功能和特点;2. 逻辑函数:介绍逻辑函数的定义、表达式和性质,以及逻辑函数的化简方法;3. 逻辑电路:介绍逻辑电路的分类、功能和特点,以及逻辑电路的设计方法;4. 组合逻辑电路:介绍组合逻辑电路的分类、功能和特点,以及组合逻辑电路的设计方法;5. 时序逻辑电路:介绍时序逻辑电路的分类、功能和特点,以及时序逻辑电路的设计方法。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
在教学过程中,将结合具体的教学内容,采用不同的教学方法,以激发学生的学习兴趣和主动性。
例如,在讲解逻辑门、逻辑函数、逻辑电路等基本概念时,可以采用讲授法,通过清晰的讲解,使学生掌握基本知识;在讲解组合逻辑电路、时序逻辑电路等设计方法时,可以采用案例分析法,通过分析具体的案例,使学生理解设计方法的应用;在讲解实验时,可以采用实验法,通过实际的操作,使学生掌握逻辑电路的测试和仿真方法。
四、教学资源本课程的教学资源主要包括教材、实验设备和多媒体资料。
教材是学生学习的基本资源,将提供清晰的逻辑电路图和丰富的实例,帮助学生理解和掌握基本知识;实验设备是学生进行实验的重要资源,将通过实际的操作,使学生掌握逻辑电路的设计和测试方法;多媒体资料是学生学习的辅助资源,将通过视频、动画等形式,使学生更直观地理解逻辑电路的工作原理。
北京邮电大学数字电路与逻辑设计本科课件 第六章
Q0
1
C1
R
(1)74161:4位同 D0
& G9
& 1K
步二进制计数器。 功能:二进制加法
G5
& G10G17
FF1 & 1J
Q1
&
1
C1
R
计数、预置数、保持、D1
异步清零等。
CP
1 G2
计数脉冲
G6
& G11
& G12G18
& 1K
FF2 & 1J
Q2
&
1
C1
R
LOAD 为预置数控 D2
制端;
RD
(3)复位功能 复位也称为“清零”,将计数器的状态恢复到0状
态。复位是由复位控制端来控制。复位也分异步复
位和同步复位,异步复位不受时钟的控制,同步复
位除需要复位信号有效外,还必须在时钟的有效边 沿到来才能实现复位。
(4)进位(借位)功能 同步计数器可以有进位(借位)输出信号功能。当计
数器进入最大状态(例如输出全1),会产生进位输 出;或者当减法计数进入最小状态(输出全0),会 产生借位输出。进位/借位输出一般都是宽度等于 一个周期的脉冲,但是,脉冲的极性(正脉冲或负脉 冲)则要取决于具体的芯片,可从手册中的描述或功 能表中获得。
CKB的时钟),实现8421码十进制异步计数;
4.从CKB输入外部时钟,且 QD接到CKA,实现5421
码十进制异步计数。QA
QB
QC
QD
1J SD
C1
1KRD
1J C1
1KRD
1J C1
1KRD
& SD
大学数字逻辑实验课程设计
大学数字逻辑实验课程设计一、课程目标知识目标:1. 掌握数字逻辑电路的基本原理和设计方法;2. 熟悉数字逻辑电路的仿真与实验操作;3. 了解数字逻辑电路在实际工程中的应用。
技能目标:1. 能够运用所学知识设计简单的数字逻辑电路;2. 能够使用相关软件对数字逻辑电路进行仿真与测试;3. 能够分析并解决数字逻辑电路中存在的问题。
情感态度价值观目标:1. 培养学生对数字逻辑电路的探究兴趣,激发学生学习积极性;2. 培养学生的团队协作能力,增强合作意识;3. 培养学生的创新意识,提高实践能力。
课程性质:本课程为大学电子信息类专业的实验课程,旨在帮助学生将数字逻辑理论知识与实际操作相结合,提高学生的动手能力和实践能力。
学生特点:学生已具备一定的数字逻辑理论知识,但对于实验操作和相关软件的使用相对陌生。
教学要求:结合学生特点,注重理论与实践相结合,强调实验操作技能的培养。
通过课程学习,使学生能够将所学知识应用于实际工程设计中,提高学生的综合素质。
课程目标分解为具体学习成果,以便于后续教学设计和评估。
1. 数字逻辑电路基本原理:包括逻辑门、组合逻辑电路、时序逻辑电路等基本概念和原理。
- 教材章节:第1章 数字逻辑电路基础- 内容列举:逻辑门功能与真值表、组合逻辑电路设计、时序逻辑电路原理。
2. 数字逻辑电路设计方法:介绍常用数字逻辑电路设计方法,如原理图设计、硬件描述语言等。
- 教材章节:第2章 数字逻辑电路设计方法- 内容列举:原理图设计方法、硬件描述语言基础、数字逻辑电路设计实例。
3. 数字逻辑电路仿真与实验操作:学习使用相关软件进行数字逻辑电路的仿真与实验操作。
- 教材章节:第3章 数字逻辑电路仿真与实验- 内容列举:仿真软件介绍、仿真流程、实验操作步骤。
4. 数字逻辑电路在实际工程中的应用:分析数字逻辑电路在通信、计算机等领域的应用案例。
- 教材章节:第4章 数字逻辑电路应用- 内容列举:数字通信系统中数字逻辑电路的应用、计算机硬件中数字逻辑电路的应用。
北京邮电大学数字电路与逻辑设计实验报告.
北京邮电大学数字电路与逻辑设计实验报告学院:xxxx学院姓名:xxx班级:xxxxxxxxxx128学号:xxxxxxxxxx实验一Quartus II原理图输入法设计与实现一、实验目的(1)熟悉用Quartus II原理图输入法进行电路设计和仿真;(2)掌握Quartus II图形模块单元的生成与调用;(3)熟悉实验板的使用。
二、实验所用仪器及元器件(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。
三、实验任务要求(1)用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
(2)用实验(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
(3)用3线-8线译码器(74LS138)和逻辑门设计实现函数,仿真验证其功能,并下载到实验板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
四、实验原理图及仿真波形图228328(1)半加器【实验原理图】【仿真波形图】【仿真波形图分析】由波形图可以看出,真值表如下:a b so co 000001101010111由此可得,,满足半加器的设计要求。
(2)全加器428【实验原理图】【仿真波形图】【仿真波形图分析】由波形图可以看出真值表如下:ain bin cin sum cout 00000001100101001101100101115281100111111用分别表示信号ain 、bin 、cin 、sum 和cout ,则可得逻辑表达式为满足全加器的设计要求。
(3)3线-8线译码器实现函数【实验原理图】【仿真波形图】【仿真波形图分析】由波形图可得真值表如下:A B C F00010011010101101000101011001111则逻辑表达式为。
实验二用VHDL设计与实现组合逻辑电路一、实验目的(1)熟悉用VHDL语言设计组合逻辑电路的方法;(2)熟悉用Quartus II文本输入法进行电路设计;(3)熟悉不同的编码及其之间的转换。
北邮数字逻辑课程设计实验报告(交通灯控制)
实验三:交通灯控制一、实验目的(1)学习采用状态机方法设计时序逻辑电路。
(2)掌握ispLEVER 软件的使用方法。
(3)掌握用VHDL 语言设计数字逻辑电路。
(4)掌握ISP 器件的使用。
二、实验所用器件和设备在系统可编程逻辑器件ISP1032 一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容以实验台上的4个红色电平指示灯,4个绿色电平指示灯模仿路口的东南西北4个方向的红,绿,黄交通灯。
控制这些交通灯,使它们按下列规律亮,灭。
VHDL源代码:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY light isport (restfunc,emergency,clk: in std_logic;--restfunc为复位信号,emergency为紧急信号,clk为50kHz频率时钟light : out std_logic_vector(11 downto 0));--12个指示灯ARCHITECTURE func of light istype state is (s1,s2,s3,s4); --交通灯4个状态signal current_state,next_state: state;--current_state,next_state为别为当前状态,转移状态signal en1,en2,en3,en4, c,c1,c2,c3,c4: std_logic;--en为使能信号,c为进位信号signal temp1: integer range 0 to 49999;signal temp2: integer range 0 to 99999;signal temp3: integer range 0 to 249999;signal temp4: integer range 0 to 9999;begin--1s计数器,对50kHz进行50000分频process(clk,en1)beginif (clk'event and clk='1') then --上升沿判断if (temp1=49999 and en1='1' and emergency='0') thentemp1<=0;c1<='1';--进位elsif (en1='1' and emergency='0') thentemp1<=temp1+1;c1<='0';end if;end if;if (en1='0') thenc1<='0';temp1<=0;end if;end process;process(clk,en2)--2s计数器,对50kHz进行100000分频beginif (clk'event and clk='1') thenif (temp2=99999 and en2='1' and emergency='0') thentemp2<=0;c2<='1';elsif (en2='1'and emergency='0') thentemp2<=temp2+1;c2<='0';end if;end if;if (en2='0') thenc2<='0';temp2<=0;end if;end process;process(clk,en3)--5s计数器,对50kHz进行250000分频beginif (clk'event and clk='1') thenif (temp3=249999 and en3='1' and emergency='0') thentemp3<=0;c3<='1';elsif (en3='1' and emergency='0') thentemp3<=temp3+1;c3<='0';end if;end if;if (en3='0') thentemp3<=0;c3<='0';end if;end process;process(clk,en4) --0.2s计数器,对50kHz进行10000分频beginif (clk'event and clk='1') thenif (temp4=9999 and en4='1') thentemp4<=0;c4<=not c4;elsif (en4='1') thentemp4<=temp4+1;end if;end if;end process;c<=c1 or c2 or c3; --进位信号process (c,restfunc) --状态转移,复位情况beginif (restfunc='1') then--复位信号current_state<=s1;elsif (c'event and c='0') then--遇到计数器进位转移到下一状态current_state<=next_state;end if;end process;process (current_state,emergency) --状态转移,紧急情况beginif(emergency='1') then--紧急状态红灯全亮light<="000000001111";elsecase current_state iswhen s1=> --东西方向绿灯亮,南北方向红灯亮,延时5秒en1<='0';en2<='0';light<="010*********";en3<='1';next_state<=s2; --继续下一状态,下同when s2=>--东西方向黄灯闪,南北方向红灯亮,延时2秒en3<='0';en2<='1';en4<='1';light(11 downto 7 )<="00000";light(6)<=c4;light(5)<='0';light(4)<=c4;light(3 downto 0)<="1010";next_state<=s3;when s3=>--东西方向红灯亮,南北方向绿灯亮,延时5秒en2<='0';en4<='0';en3<='1';light<="101000000101";next_state<=s4;when s4=> --东西方向红灯闪,南北方向黄灯闪,延时2秒en3<='0';en2<='1';en4<='1';light(11 downto 8 )<="0000";light(7)<=c4; --闪灯控制light(6)<='0';light(5)<=c4;light(4 downto 0)<="00101";next_state<=s1;end case;end if;end process;end func;四、实验小结依旧注意4个分频。
北邮数电实验之组合逻辑电路、时序逻辑电路
北京邮电大学数字电路与逻辑设计实验报告(实验2)电子202-赵依然-2018212048摘要:本次数字电路与逻辑设计实验以初步掌握VHDL语言设计简单的数字电路,并且在QuartusⅡ上仿真为目的,加深组合逻辑电路和时序逻辑电路的基本原理、设计理念、运转方式。
关键词:组合逻辑电路时序逻辑电路VHDL QuartusⅡ仿真一:实验1实验内容11.1.1实验名称:VHDL组合逻辑电路设计-4选1数据选择器1.1.2实验任务要求:用VHDL语言设计实现一个4选1数据选择器,根据地址端的不同取值选择不同的数据端到输出端,仿真验证其功能。
1.2 电路设计及VHDL代码及注释1.2.1 设计原理:利用功能表进行判断。
设计数据输入端a3-a0和地址端s1-s0,输出端c,当地址端为11时c端输出a3的值,当地址端为10时c端输出a2的值,当地址端为01时c端输出a1的值,当地址端为00时c端输出a0的值。
这样就确定了电路的逻辑。
1.2.2 VHDL代码及注释:library ieee;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_arith.all;use ieee.STD_LOGIC_unsigned.all;entity mux4 isport(a:in std_logic_vector(3 downto 0);s:in std_logic_vector(1 downto 0);c:out std_logic);end mux4;architecture mux4_arch of mux4 isbeginprocess(s)begincase s iswhen "00"=>c<=a(0);--当输入00,输出a(0)when "01"=>c<=a(1);when "10"=>c<=a(2);when "11"=>c<=a(3);end case;end process;end;1.3仿真波形图(请放大查看)1.4 仿真波形图分析由图可知,当s端地址端输入11,c端输出和a3一致,s端输入10,c端输出和a2一致,s端输入01,c端输出和a1一致,s端输入00,c端输出和a0一致。
北邮数电教材
北邮数电教材
北邮数电教材是《数字逻辑与微处理器设计》。
这本教材是北京邮电大学出版社出版的,主要是为数电与微处理器课程编写的教材。
该教材涵盖了数字逻辑电路的基础知识和原理、数字系统的设计方法、数字逻辑电路的建模和仿真等内容。
此外,还包括了微处理器的基本原理和设计方法,以及常用的微处理器体系结构和指令集。
《数字逻辑与微处理器设计》教材的特点是理论与实践相结合,重点突出了数字逻辑与微处理器的系统设计和应用。
教材中还包括了大量的实例和案例,帮助学生理解和应用所学的知识。
此外,北邮数电教材还有其他一些参考书,如《数字系统设计与应用》、《数字逻辑与设计》等,提供给学生更多的资料和参考。
需要注意的是,北邮数电教材可能会随着课程的不同而有所变化,因此建议参考学校或教师提供的具体教材名称和版本。
北邮数字逻辑课程设计..
实验要求
●熟练掌握isp EXPERT软件的使用方法
●熟练掌握isp器件的使用方法
●熟练掌握用VHDL进行数字逻辑电路设计 ●熟练掌握isp器件的下载方法 ●认真写出课程设计报告 ●7月7日~7月17日在实验室完成四个实验
实验要求
信号流程 Multimedia
输入信号
→
I/O单元 → 全局布线
→ 通用逻辑单元 →
结构体
x1 x2
f
x3
VHDL语言结构
存放已编译的实体、 结构体、程序包和 配置
存放各种设计模块 能共享的数据类型、 常数、程序等
库
描述所设计硬件系 统的外部接口信号
程序包
实体 结构体
描述所设计硬 件系统的内部 结构和功能
用来从库中选取 所需单元来组成 新系统
配置 VHDL结构
VHDL语言结构组成
ispLSI 1032
1~1MHz 时钟基 检 待测信号 准信号 测 100KHz 开 始
计 数
显 示
实验二
交通灯控制
√ 1、初始四个方向的红灯全亮。延时1秒。 √ 2、东西方向绿灯亮,南北方向红灯亮。延时5秒。 √ 3、东西方向黄灯闪,南北方向红灯亮。延时2秒。 √ 4、东西方向红灯亮,南北方向绿灯亮。延时5秒。 √ 5、东西方向红灯闪,南北方向黄灯闪。延时2秒。 6、返回2,继续运行。 √ 7、紧急情况时手动控制四个方向红灯全亮。之 后返回打断时的状态继续。 六个时序状态 设计思想
A B
S CO
结构体格式
实体名一致
A B
tmp1
S
tmp2
ARCHITECTURE <结构体名> OF <实体名> IS
院校资料-北邮数字逻辑课程设计_简易电子琴
北邮数字逻辑课程设计_简易电子琴简易电子琴实验报告综合设计:程序编写:实验报告撰写:北京邮电大学计算机学院某人一.实验目的1.掌握较复杂逻辑的设计和调试。
2.掌握用VHDL语言设计数字逻辑电路。
3.掌握ispLEVER软件的使用方法。
4.掌握ISP器件的使用。
5.用途: 有电子琴的基本功能,可弹奏出简单的乐曲。
二.实验器材1.在系统可编程逻辑器件1032E2.示波器3.逻辑测试笔4.TEC-5实验系统三.实验容设计一个简易电子琴,有两种模式,既可以音阶弹奏,也可以自动播放乐曲。
要求音阶弹奏的时候,可以弹奏高音低音一共14个不同音符,自动播放乐曲的时候,要求可以按一定节奏自动播放一首预存在系统中的乐曲。
四.实验设计原理从试验系统外部接入一个时钟信号,对时钟信号进行分频,可以得到不同分频的脉冲信号。
当这个分频值设定为一定的数值时,就可以使试验系统的喇叭发出不同的音符,从而完成音阶演奏。
自动演奏时,除了对外部时钟进行分频得到不同的音符外,还需要通过时钟信号对节拍进行控制,设置该音乐最短的音符为基本单位,一步一步往后执行,根据某个音符的节拍数来确定执行时间,从而可以按照节奏将一段音乐自动演奏出来。
五.设计方案1.一共有14个琴键,表示中音的1-7到低音的1-7,按照电子琴的排列布局来安排琴键位置。
2.根据不同音符的频率,用多模计数器对时钟信号进行分频,得到特定的脉冲信号,为了使信号稳定,需要对其进行翻转得到2分频信号再输出。
3.综合原理图4.外部输入50kHz的时钟信号,根据下表用多模计数器对时钟信号进行分频,得到分频系数。
六.程序实现*********************************实体部分************************************* library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity Orgen isport(moderm:in std_logic;--模式选择,0为音阶自演奏模式,1为自动播放模式clk:in std_logic;--时钟信号Index:in std_logic_vector(13 downto 0);--琴键选择信号,1表示选择摸个琴键,共有14个琴键,可以选择14个音,分别是低音1-7和中音1-7 Code:out std_logic_vector(6 downto 0);--七段发光二极管编码,用于显示弹奏的音符high:out std_logic;--如果是中音,小灯亮,反之不亮tone0:inout integer range 0 to 2047;--分频系数result:inout std_logic--输出音频信号);end Orgen;*******************************结构体部分************************************architecture Orgen_Player of Orgen is--程序使用的是50kHz的时钟信号beginSearch:process(Index,clk,moderm)--Search进程,根据琴键选择信号得到不同的分variable step:integer range 0 to 2000;variable count2:integer range 0 to 2000;begin***************************音阶演奏模式部分********************************** if Moderm='0' then--手动音阶演奏模式case Index iswhen "00000000000001"=> tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0 tone0键信号,分配了不同的分频系数,为不同音名的发光二极管编码,同时调整高低音显示信号end case;end if;******************************自动演奏部分************************************ if (moderm='1') and (clk'event and clk='1') then--自动演奏模式--tone0防止影响if count2count2:=count2+1;--1秒输出1拍elsecount2:=0;case step iswhen 0=>tone0step:=step+1;when 1=>tone0step:=step+1;when 2=>tone0step:=step+1;when 3=>tone0step:=step+1;tone0step:=step+1;when 5=>tone0step:=step+1;when 6=>tone0step:=step+1;when 7=>tone0step:=step+1;when 8=>tone0step:=step+1;when 9=>tone0step:=step+1;when 10=>tone0step:=step+1;when 11=>tone0step:=step+1;when 12=>tone0step:=step+1;when 13=>tone0step:=step+1;when 14=>tone0step:=step+1;when 15=>tone0step:=step+1;--step不同,表示乐曲演奏到不同的位置,赋予不同的分频系数,然后step+1end case;end if;end if;end process;**************************发生进程,控制喇叭发声****************************** Made_Code:process(clk)--发声进程,发出不同的音频variable count1:integer range 0 to 2000;beginif clk'event and clk='1' thenif count1count1:=count1+1;--事先查好每个音名的频率,根据音频系数进行分频,得到是正确频率两倍的音elsecount1:=0;result音频信号end if;end if;end process;end Orgen_Player;七.基于QuartusII9.0的仿真实现1.仿真电路图2.仿真波形图八.基于TEC-5试验系统的实现效果1.音阶模式下,可以根据琴键的输入演奏低音1-7和中音1-7一共14个音符。
北邮数字逻辑课程设计实验报告(可编辑)
北邮数字逻辑课程设计实验报告(可编辑)(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)实验四:电子钟显示一、实验目的(1)掌握较复杂的逻辑设计和调试。
(2)学习用原理图+VHDL语言设计逻辑电路。
(3)学习数字电路模块层次设计。
(4)掌握ispLEVER 软件的使用方法。
(5)掌握ISP 器件的使用。
二、实验所用器件和设备在系统可编程逻辑器件ISP1032 一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容数字显示电子钟1、任务要求(1)、时钟的“时”要求用两位显示;上、下午用发光管作为标志;(2)、时钟的“分”、“秒”要求各用两位显示;(3)、整个系统要有校时部分(可以手动,也可以自动),校时时不能产生进位;(4)*、系统要有闹钟部分,声音要响5秒(可以是一声一声的响,也可以连续响)。
VHDL源代码:LIBRARY ieee;----主体部分-ENTITY clock isport(clk,clr,put,clk1 : in std_logic; -- clr 为清零信号,put 为置数脉冲,clk1 为响铃控制时钟choice : in std_logic; --用来选择时钟状态的脉冲信号lighthour : out std_logic_vector(10 downto 0);lightmin : out std_logic_vector(7 downto 0);lightsec : out std_logic_vector(7 downto 0); --输出显示ring : out std_logic); --响铃信号end clock;--60进制计数器模块ARCHITECTURE func of clock iscomponent counter_60port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(3 downto 0);co : out std_logic);end component;--24进制计数器模块component counter_24port(clock : in std_logic;clk_1s : in std_logic;putust : in std_logic;clr : in std_logic;load : in std_logic;s1 : out std_logic_vector(3 downto 0);s10 : out std_logic_vector(6 downto 0));end component;signal sec,a:std_logic; --- 2 分频产生1s信号signal l1,l2,l3:std_logic; ---判定对时间三部分修改signal c1,c2:std_logic; ---进位信号signal load:std_logic_vector(1 downto 0);signal temp:integer range 0 to 2499;signal temp1:integer range 0 to 95; --计数信号signal sec_temp:std_logic_vector(7 downto 0);--总进程beginu1 : counter_60 port map (sec,sec,put,clr,l1,sec_temp(3 downto 0),sec_temp(7 downto 4),c1); u2 : counter_60 port map (c1,sec,put,clr,l2,lightmin(3 downto 0),lightmin(7 downto 4),c2);u3 : counter_24 port map (c2,sec,put,clr,l3,lighthour(3 downto 0),lighthour(10 downto 4)); lightsec(7 downto 0)<=sec_temp(7 downto 0);--状态转换process (choice)beginif (choice'event and choice='1') thencase load iswhen "00" => l1<='0'; --非修改状态l2<='0';l3<='0';load<="01";when "01" => l1<='0'; --此状态下对小时进行修改l2<='0';l3<='1';load<="10";when "10" => l1<='0'; --此状态下对分钟进行修改l2<='1';l3<='0';load<="11";when others => l1<='1'; --此状态下对秒进行修改l2<='0';l3<='0';load<="00";end case;end if;end process;--计数进程process(clk)beginif (clk'event and clk='1') then --分频if (temp=2499) thentemp <= 0;sec<=not sec;elsetemp <= temp+1;end if;end if;end process;--响铃进程process(clk1)beginif(clk1'event and clk1='1') thenif (temp1=95) thentemp1<=0;a<=not a;elsetemp1<=temp1+1;end if;end if;end process;ring<=a when (c2='1' and sec_temp<5 and sec='1') else --5s整点响铃'0';end func;library IEEE;entity counter_60 isport (clock : in std_logic; --计数信号,即低位的进位信号或时钟脉冲信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic; --调表置数信号clr : in std_logic; --清零load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(3 downto 0); --计数器的十位co : out std_logic );end counter_60;if(load=1 ) --防止脉冲产生进位co_ temp<=’0’;architecture func of counter_60 issignal s1_temp: std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(3 downto 0);signal clk,co_temp : std_logic;beginclk<=clock when load='0' elseputust;process (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "0000";elsif (clk'event and clk='1')then --进位判断if (s1_temp=9) thens1_temp <= "0000";if (s10_temp=5) thens10_temp <= "0000";co_temp<='1';elseco_temp<='0';s10_temp <= s10_temp+1;end if;elseco_temp<='0';s1_temp <= s1_temp+1;end if;end process;s1 <= s1_temp when (clk_1s='1'or load='0') else"1111";s10 <= s10_temp when (clk_1s='1' or load='0') else"1111";co <= co_temp when (load='0') else'0';end func;library IEEE;--24进制计数器entity counter_24 isport(clock : in std_logic; --计数信号clk_1s : in std_logic; --周期1s 的时钟信号putust : in std_logic;clr : in std_logic; --清零信号load : in std_logic; --判定信号s1 : out std_logic_vector(3 downto 0); --计数器的个位s10 : out std_logic_vector(6 downto 0)); --计数器的十位end counter_24;architecture func of counter_24 issignal s1_temp : std_logic_vector(3 downto 0);signal s10_temp : std_logic_vector(1 downto 0);signal clk : std_logic;beginclk<=clock when load='0' elseprocess (clk,clr)beginif (clr='1') thens1_temp <= "0000";s10_temp <= "00";elsif (clk'event and clk='1') thenif (s1_temp=3 and s10_temp=2) then s1_temp <= "0000";s10_temp <= "00";elsif (s1_temp=9) thens1_temp<="0000";s10_temp<=s10_temp+1;elses1_temp <= s1_temp+1;end if;end if;end process;--显示进程process(s10_temp)beginif (clk_1s='1' or load='0') thencase s10_temp iswhen "00" => s10<="1111110";when "01" => s10<="0110000";when "10" => s10<="1101101";when others => null;end case;elses10<="0000000";end if;end process;s1 <= s1_temp when (clk_1s='1' or load='0') else"1111";end func;四、实验小结:注意当时钟处于被修改状态时,即对时、分、秒的值进行修改时,不应产生进位,产生很多莫名其妙的错误,如修改后有进位(分钟为00)时,或者自行到整点响铃后,再次给脉冲会进位的情况。
北京邮电大学17数字逻辑3-1
[R] 表示移位寄存器的内容,2[R]内容乘以2,即左移一位
20S20/7L/为12 左移串入
41
八位通用移位寄存器74LS299
工作模式:并行置数,左移、右移、保持(寄存数据) 功能选择控制端 S1 , S0
2020/7/12
逻辑结构
42
8位通用移位寄存器74LS299
功能控制端S1 , S0: 对应保持、左移、右移、置数 四种工作模式。
43
8位通用移位寄存器74LS299
输出端G1’G2’ 任何模式下,只要输出控制有效,实现寄存器读出。
(清除端)清除模式 清除端低电平时,寄存器内容被清除。
数据输入/输出端(三态门)A/QA、B/QB... 输入时关闭三态门,输出时打开。
时钟端
上升沿时实现左移、右移、置数模式( 寄存器时序工 作\保持和清除模式例外)。
2020/7/12观测波形图3.6 (PP 60)
14
门控D锁存器
一个数据输入端D。 工作原理: D=1且 EN=1,锁存器置“1”; D=0且 EN=1,锁存器置“0”。 EN=0,锁存器状态不变。 先决条件:数据信号D先到,信号EN后到。
2020/7/12
波形图3.8 (PP 61)
12
门控SR锁存器
增加控制门G3 、 G4和控制信号EN EN=1, 锁存器接受输入信号 EN=0, (S’=R’=1)状态不变 先决条件: 数据信号S,R先到,EN后到。
2020/7/12
13
门控SR锁存器
存在问题: 1 避免S=R=1:如EN=1,输出不稳定 2 EN=1, 状态易受干扰.
2020/7/12
37
移位寄存器
右移寄存器结构 触发器串联 时钟CP并联 输入 DI 输出QI (串、并) 连接关系 D1=x(串入)
北邮-数字逻辑实验报告
北京邮电大学课程设计报告目录实验一:交通灯控制器设计........................................ 实验二:电子钟设计 ............................................. 实验三:药片装瓶系统设计........................................ 附:数字逻辑课程设计调试日志及个人心得体会......................实验一:交通灯控制器设计一、实验目的①学习采用状态机方法设计时序逻辑电路。
②掌握ispLEVER软件的使用方法。
③掌握用VHDL语言设计数字逻辑电路。
④掌握ISP器件的使用。
二、实验所用器件和设备在系统可编程逻辑器件ISP1032一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B数字电路实验系统一台三、实验内容以实验台上的4个红色电平指示灯,4个绿色电平指示灯模仿路口的东南西北4个方向的红,绿,黄交通灯。
控制这些交通灯,使它们按下列规律亮,灭。
(1)初始状态为4个方向的红灯全亮,时间1s。
(2)东,西方向绿灯亮,南,北方向红灯亮。
东,西方向通车,时间5s。
(3)东,西方向黄灯闪烁,南,北方向红灯,时间2s。
(4)东,西方向红灯亮,南,北方向绿灯亮。
南,北方向通车,时间5s。
(5)东,西方向红灯闪烁,南,北方向黄灯闪烁,时间2s。
(6)返回(2),继续运行。
(7)如果发生紧急事件,例如救护车,警车通过,则按下单脉冲按钮,使得东,南,西,北四个方向红灯亮。
紧急事件结束后,松开单脉冲按钮,将恢复到被打断的状态继续运行。
四、设计思路(1) 将本实验分为分频,状态计数器,led输出三大模块;(2) 分频模块需要注意到占空比,采用when-else语句;(3) 状态计数器都分为5s,2s,5s,2s,四个状态时间,通过计数器作状态转移;(5) led输出模块的黄灯闪烁可通过2HZ的方波信号实现。
数字逻辑设计课程设计
数字逻辑设计课程设计一、教学目标本课程的教学目标是使学生掌握数字逻辑设计的基本概念、原理和方法,培养学生运用数字逻辑设计解决实际问题的能力。
1.掌握数字逻辑的基本概念和术语。
2.理解数字逻辑电路的组成和功能。
3.熟悉数字逻辑电路的设计方法和步骤。
4.了解数字逻辑电路的应用领域。
5.能够运用数字逻辑设计方法设计简单的数字电路。
6.能够使用电子设计自动化工具进行数字电路的设计和仿真。
7.能够分析数字电路的性能指标,并进行优化设计。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神。
2.培养学生的动手能力和实践能力。
3.培养学生的科学思维和问题解决能力。
二、教学内容本课程的教学内容主要包括数字逻辑的基本概念、数字逻辑电路的组成、设计方法和步骤,以及数字逻辑电路的应用领域。
1.数字逻辑的基本概念:数字逻辑电路的定义、数字逻辑电路的种类、数字逻辑电路的特点。
2.数字逻辑电路的组成:逻辑门、逻辑电路、逻辑函数、逻辑代数。
3.数字逻辑电路的设计方法:组合逻辑电路设计、时序逻辑电路设计、数字电路的优化设计。
4.数字逻辑电路的应用领域:数字系统、数字电路在计算机中的应用、数字电路在其他领域的应用。
三、教学方法本课程的教学方法主要包括讲授法、讨论法、案例分析法、实验法等。
1.讲授法:通过教师的讲解,使学生掌握数字逻辑设计的基本概念和原理。
2.讨论法:通过小组讨论,培养学生的团队合作精神和创新意识。
3.案例分析法:通过分析实际案例,使学生了解数字逻辑电路的应用领域和设计方法。
4.实验法:通过动手实验,培养学生的实践能力和问题解决能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:选用权威、实用的教材,如《数字逻辑设计》。
2.参考书:提供相关的参考书籍,如《数字电路与逻辑设计》。
3.多媒体资料:制作课件、教学视频等,以丰富教学手段和学生的学习体验。
4.实验设备:提供数字逻辑电路设计所需的实验设备,如逻辑门电路、数字电路仿真器等。
北邮vhdl小学期实验报告
数字逻辑课程设计实验实验报告姓名徐同学、陈同学、连同学、朱同学、熊同学学院计算机学院专业计算机科学与技术班级 xxxxxxxxxx学号xxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxx2015年7 月北京邮电大学课程设计报告课程设计名称数字逻辑学院计算机指导教师班级班内序号学号学生姓名成绩xxxxxxxxxx30 xxxxxxxxxx 徐同学xxxxxxxxxx14 xxxxxxxxxx 陈同学xxxxxxxxxx13 xxxxxxxxxx 连同学xxxxxxxxxx28 xxxxxxxxxx 朱同学xxxxxxxxxx26 xxxxxxxxxx 熊同学课程设计内容教学目的:掌握 QuartusII 软件的使用方法,用VHDL进行较复杂逻辑电路的设计和调试基本内容:1.交通灯控制 2.电子钟 3.药片装瓶系统团队分工:连同学:负责编写、调试交通灯。
徐同学、陈同学:负责编写、调试电子钟,其中徐同学负责实验报告的撰写朱同学、熊同学:负责编写调试药片装瓶系统。
课程设计报告(附页)课程设计成绩评定遵照实践教学大纲并根据以下四方面综合评定成绩:1、课程设计目的任务明确,选题符合教学要求,份量及难易程度2、团队分工是否恰当与合理3、综合运用所学知识,提高分析问题、解决问题及实践动手能力的效果4、是否认真、独立完成属于自己的课程设计内容,课程设计报告是否思路清晰、文字通顺、书写规范评语:成绩:指导教师签名:2015年月日注:评语要体现每个学生的工作情况,可以加页。
实验一:交通灯一、实验目的1)学习采用状态机方法设计时序逻辑电路2)掌握QuartusII软件的使用方法3)掌握用VHDL语言实现有限状态机4)掌握ISP器件的使用二、实验所用器件和设备可编程逻辑器件MAX7000S系列一片TEC_8实验系统一台USB—BLASTER下载线一条三、实验要求以实验台上的12个指示灯分别代表红,黄,绿三种信号的灯。
北邮数电实验报告
数字电路与逻辑设计实验报告一、要求要求:设计制作一个简易计算器,实现最大输入两位十进制数字的加减乘运算。
基本要求:1、实现最大输入两位十进制数字的加减乘运算;八个拨码开关按两位8421bcd码输入。
2、能够实现多次连算(无优先级,从左到右计算结果),如12+34×56-78=2498。
3、最大长度以数码管最大个数为限,溢出报警。
提高要求:1、有正负数区分。
2、实现除法(不能整除时小数保留2位有效数字)。
3、其它扩展功能。
二、系统设计:设计思路:1、将该程序进行分模块设计。
可以将程序分为:主程序、译码模块和防抖模块。
其中,主程序负责将输入的数据进行存储,对数据进行运算,将数据输出到数码上等;防抖模块负责对按键输入的数防抖;译码模块负责对输入的数据进行译码(由8421bcd码转化为十进制的编码)。
2、分模块进行相应模块的编写。
3、对编好的模块进行测试。
4、编写主程序并进行调试。
总体框图:流程图:分块设计:(按实际操作的分块)输入模块:由符号开关和拨码开关构成。
采用序列存储的方式存储相应的输入。
输入译码模块:将输入的符号序列转化成先用状态,以便选取对应的计算方法;将输入的8421bcd码转化成相应的两位十进制数。
数码显示模块:将寄存器内的数进行输出到数码管上。
显示所输入的第一个数以及最后的结果。
计算模块:调用相应的计算方式,对所输入的数进行计算。
防抖模块:在用按键输入时,所得到的信号可能会有抖动,因此加入此抖动电路。
三、仿真波形及波形分析:分析(波形仿真时,为了方便观察,将8421bcd码输入方式,该为了十进制的直接输入方式,并将输出,有原来的数码管显示改成了直接数字显示)由图中可以看出,当输入12 ,按下“确定”,数字就输入到了寄存器中,输入“+”号(对应仿真中的fuhao“100000”),在输入一个数35,按下“确定”,该计算器就件寄存器中的数与第二次输入的数进行相加,得到结果47。
此时该结果又被直接保存到了寄存器中,继续输入运算符“-”(对应仿真中得fuhao“010000”),输入第三个数18,按下“确定”,计算器对其做减法运算,得到结果29,该结果又在寄存器中存储着。
北京邮电大学 计算机学院数字逻辑实验
实验内容: 1.双D构成的二进制计数器:按设计接线,将 Q0,Q1,Q2,Q3复位;由时钟端CLK输 入单脉冲,记录输出状态;由时钟端CLK输 入连续脉冲,观测输出波形。 2.用74LS73构成一个二进制计数器,重做内 容1的实验。
TEC-8
3
3.异步十进制计数器:按设计接线,将Q0, Q1,Q2,Q3复位;由时钟端CLK输入单 脉冲,记录输出状态;由时钟端CLK输入 连续脉冲,观测输出波形。
TEC-8
21
3.画出实验2的电路图。 4.写出实验3中,用单次脉冲做计数脉冲时, Q3,Q2,Q1,Q0的状态转移表;画出连 续时钟下Q3,Q2,Q1,Q0的波形; 5.画出实验4的电路图。用单次脉冲做计数脉 冲时,Q3,Q2,Q1,Q0的状态转移表。
TEC-8
22
TEC-8
17
自循环寄存器实验电路:
TEC-8
18
自循环计数器输出波形:
TEC-8
19
右移/循环寄存器实验电路:
TEC-8
20
实验报告要求: 1.写出实验内容1中,用单次脉冲做计数脉冲 时,Q3,Q2,Q1,Q0的状态转移表; 画出连续时钟下Q3,Q2,Q1,Q0的波形; 2./Q3,/Q2,/Q1,/Q0构成计数器吗?如 果是,那么是递增还是递减?
TEC-8
9
JK触-8
10
JK触发器构成的二进制计数器输出波形:
TEC-8
11
TEC-8
12
TEC-8
13
异步十进制计数器实验电路:74LS73
TEC-8
14
TEC-8
15
异步十进制计数器实验电路: 74LS107
北邮电子院课程设计
北邮电子院课程设计一、课程目标知识目标:1. 掌握电子电路的基本原理,理解并应用基础电子元件的功能和特性。
2. 学习并掌握数字逻辑电路的设计与分析方法,能运用所学知识构建简单的数字系统。
3. 了解电子电路在通信领域的应用,理解电子技术与现代通信技术的关系。
技能目标:1. 能够正确使用测试仪器和工具,进行电子电路的搭建、调试与故障排查。
2. 培养学生运用所学知识解决实际问题的能力,能够设计简单的电子电路和数字逻辑电路。
3. 提高学生的团队协作能力和沟通能力,培养在项目实践中分析与解决问题的技巧。
情感态度价值观目标:1. 培养学生对电子科学的兴趣和好奇心,激发他们探索未知、勇于创新的科学精神。
2. 增强学生的环保意识,让他们认识到电子技术在可持续发展中的重要作用。
3. 培养学生具有良好的职业道德和敬业精神,为我国电子信息技术产业的发展贡献自己的力量。
课程性质:本课程为专业核心课程,旨在帮助学生建立扎实的电子电路基础知识,培养具备实际操作能力和创新精神的高素质电子信息技术人才。
学生特点:学生已具备一定的基础知识,具有较强的求知欲和动手能力,但需进一步提高理论知识与实践技能的融合。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,采用项目驱动、任务导向的教学方法,提高学生的综合运用能力和创新能力。
通过课程学习,使学生达到上述课程目标,为后续专业课程打下坚实基础。
二、教学内容1. 电子元件原理与应用:包括电阻、电容、电感、晶体管等基础元件的工作原理、特性参数及其在电路中的应用。
教材章节:第一章 电子元件2. 数字逻辑电路设计:介绍逻辑门、组合逻辑电路、时序逻辑电路的设计方法,以及数字电路的仿真与实现。
教材章节:第二章 数字逻辑电路3. 电子电路仿真与测试:学习Multisim、Protel等软件的使用,进行电子电路的仿真与测试,掌握电路调试方法。
教材章节:第三章 电子电路仿真与测试4. 通信电子电路:分析放大器、滤波器、调制解调器等在通信系统中的应用,了解通信电子电路的特点与设计方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CLK q3 q2 q1 q0
× 0 0 0 0 上升 预置值 上升 计数值加1 × 保持不变
同步预置为 “1010”
仿真波形 counter16.vhd
简易电子琴
音符 (C)
1
2
3
4
5
6
7
i
频率(Hz) 262 294 330 349 392 440 494 523
输入的主频=100KHz 不同的键对100KHz进行分频
实验要求
●熟练掌握isp EXPERT软件的使用方法
●熟练掌握isp器件的使用方法
●熟练掌握用VHDL进行数字逻辑电路设计 ●熟练掌握isp器件的下载方法 ●认真写出课程设计报告 ●7月7日~7月17日在实验室完成四个实验
实验要求
信号流程 Multimedia
输入信号
→
I/O单元 → 全局布线
→ 通用逻辑单元 →
A B
S Co
实体说明、结构体格式
四位二进制同步计数器 areset R sset S enable EN CLK clk
R 1 0 0 0 S × 1 0 0 EN × × 1 0
CO Q0 Q1 Q2 Q3
cout
q0 q1 q2 q3
LIBRARY IEEE; 标准无符号 USE IEEE.std_logic_1164.ALL; 类型程序包 USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL; ENTITY counter IS PORT (clk, areset, sset ,enable : IN std_logic; cout : OUT std_logic; q : BUFFER std_logic_vector(3 DOWNTO 0)); END counter; ARCHITECTURE rtl_arc OF counter IS BEGIN PROCESS (clk,areset) BEGIN IF (areset ='1') THEN q <= '0'; ELSIF (clk'event AND clk ='1') THEN IF (sset ='1') THEN q <= "1010"; ELSIF (enable ='1') THEN q <= q +1; ELSE q <= q; END IF; END IF; END PROCESS; cout <= '1' WHEN q = "1111" AND enable ='1' ELSE '0'; END rtl_arc;
输出布线
→ I/O单元→ 输出信号
1032管脚定义
设计四位二进制计数器 (模16)
74LS163
演示_WEB
74LS163
模16计数器
用VHDL语言设计四位二进制计数器(模16)
ispLSI 1032
时钟 信号 K1 复 K2 位
模16计数器VHDL语 言
可编程逻辑的VHDL文本设计方式
● VHDL语言结构 LIBRARY ieee ;
● 简易电子琴 ● 简易频率计 ● 交通灯控制 ● 电子钟显示
● 药片装瓶系统
内容概要
知识准备
● 复习
《数字逻辑与数字系统》 第五章 在系统编程技术
●图书馆借阅《VHDL数字电路设
计与应用实践教程》或硬件描述 语言类书籍
实验环境
● 主楼720实验室
● 60台实验仪
● 四人一组(限定每班7组)
知识准备
实体说明、结构体格式
半加器
A 0 0
B 0 1
S 0 1
Co 0 0
1
1
0
1
1
0
0
1
LIBRARY ieee ;
A B
Σ
ቤተ መጻሕፍቲ ባይዱS CO
USE ieee.std_logic_1164.all ;
ENTITY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic); END half_adder; ARCHITECTURE rtl OF half_adder IS BEGIN S <= A XOR B; Co <= A AND B; END rtl;
ispLSI 1032 多模计数器
时 钟 信 号
设计思想 1234567i K0K1K2K3K4K5K6K7 二分频计数器 判断当前按键 是否有效
A B
S CO
结构体格式
实体名一致
A B
tmp1
S
tmp2
ARCHITECTURE <结构体名> OF <实体名> IS
Co
[ 结构体说明部分 ];
BEGIN
<并行处理语句> ; END <结构体名> ;
ARCHITECTURE rtl OF half_adder IS SIGNAL tmp1,tmp2 : std_logic; BEGIN tmp1 <= A OR B; tmp2 <= A NAND B; Co <= NOT tmp2; S <= tmp1 AND tmp2; END rtl;
USE ieee.std_logic_1164.all ; ENTITY example1 IS PORT ( x1, x2, x3 f END example1 ; 库 每个部分通过关 键字引导出来
引用库中程序包
: IN BIT ; : OUT BIT ) ;
实体
ARCHITECTURE LogicFunc OF example1 IS BEGIN f <= (x1 AND x2) OR (NOT x2 AND x3) ; END LogicFunc ; 描述逻辑功能
实体说明格式 端口说明部分
ENTITY <实体名> IS [ 类属参数说明 ]; [ 端口说明部分 ]; [ 实体说明部分 ]; END <实体名>; ENTITY half_adder IS PORT ( A,B : IN std_logic; Co : OUT std_logic; S : OUT std_logic); END half_adder;
结构体
x1 x2
f
x3
VHDL语言结构
存放已编译的实体、 结构体、程序包和 配置
存放各种设计模块 能共享的数据类型、 常数、程序等
库
描述所设计硬件系 统的外部接口信号
程序包
实体 结构体
描述所设计硬 件系统的内部 结构和功能
用来从库中选取 所需单元来组成 新系统
配置 VHDL结构
VHDL语言结构组成