数字电子系统设计实践.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数字电子系统设计实践.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子 系统 设计 实践
- 资源描述:
-
1、第八章 数字电子系统设计实践第第 1 1 页页第八章 数字电子系统设计实践第八章 数字电子系统设计实践第第 2 2 页页8.1 移位相加8位硬件乘法器电路设计 硬件乘法器的功能-实现两个8位二进制数的乘法运算 硬件乘法器的设计思路硬件乘法器的乘法运算可以通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。第八章 数字电子系统设计实践第第 3 3 页页硬件乘法器的设计 第八章 数字电子系统设计实践第第 4 4 页页LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sre
2、g8b IS -8位右移寄存器 PORT(clk:IN STD_LOGIC;LOAD:IN STD_LOGIC;din:IN STD_LOGIC_VECTOR(7 DOWNTO 0);qb:OUT STD_LOGIC );END sreg8b;ARCHITECTURE behave OF sreg8b IS SIGNAL reg8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(clk,load)BEGIN IF load=1 THEN reg8=din;-装载新数据 ELSIF CLKEVENT AND CLK=1 THEN reg8(6 DOWNTO
3、0)=reg8(7 DOWNTO 1);-数据右移 END IF;END PROCESS;qb=reg8(0);-输出最低位END behave;右移寄存器 模块设计第八章 数字电子系统设计实践第第 5 5 页页LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder8 IS PORT(b,a:IN STD_LOGIC_VECTOR(7 DOWNTO 0);s:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END adder8;ARCHITECTURE beha
4、v OF adder8 ISBEGIN s=0&a+b;END behave;8位加法器模块设计第八章 数字电子系统设计实践第第 6 6 页页LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY andarith IS PORT(abin:IN STD_LOGIC;din:IN STD_LOGIC_VECTOR(7 DOWNTO 0);dout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END andarith;ARCHITECTURE behave OF andarith ISBEGIN PROCESS(abin,din)BE
5、GIN FOR I IN 0 TO 7 LOOP -循环,完成8位与1位运算 DOUT(I)=DIN(I)AND ABIN;END LOOP;END PROCESS;END behave;选通与门模块设计第八章 数字电子系统设计实践第第 7 7 页页LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY reg16b IS PORT(clk,clr :IN STD_LOGIC;d:IN STD_LOGIC_VECTOR(8 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END reg16b;ARCHITECT
6、URE behave OF reg16b IS SIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0);BEGIN PROCESS(clk,clr)BEGIN IF clr=1 THEN R16S 0);-清零信号 ELSIF CLKEVENT AND CLK=1 THEN R16S(6 DOWNTO 0)=R16S(7 DOWNTO 1);-右移低8位 R16S(15 DOWNTO 7)=D;-将输入锁到高8位 END IF;END PROCESS;q=R16S;END behave;16位锁存器模块设计第八章 数字电子系统设计实践第第 8 8 页页波形仿真 第八
7、章 数字电子系统设计实践第第 9 9 页页8.2 十字路口交通管理器设计十字路口交通管理器设计16位锁存器模块设计第八章 数字电子系统设计实践第第 1010 页页交通管理器的设计思路第八章 数字电子系统设计实践第第 1111 页页交通管理器的设计第八章 数字电子系统设计实践第第 1212 页页控制器模块设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY traffic_control IS PORT(clk:IN STD_LOGIC;c1,c2,c3:OUT STD_LOGIC;-各定时计数器的使能信号 w1,w2,w3:IN STD_LOGIC
8、;-各定时计数器的工作信号 r1,r2:OUT STD_LOGIC;-两个方向的红灯信号 y1,y2:OUT STD_LOGIC;-两个方向的黄灯信号 g1,g2:OUT STD_LOGIC;-两个方向的绿灯信号 reset:IN STD_LOGIC);-复位信号END traffic_control;ARCHITECTURE behave OF traffic_control IS TYPE state_space IS(s0,s1,s2,s3);SIGNAL state:state_space;BEGIN第八章 数字电子系统设计实践第第 1313 页页 PROCESS(clk)BEGIN
9、IF reset=1 THEN stateIF w1=1 THEN-条件信号赋值语句 stateIFw2=1 THEN stateIF w3=1 THEN stateIF w2=1 THEN state=s0;END IF;END CASE;END IF;END PROCESS;第八章 数字电子系统设计实践第第 1414 页页c1=1 WHEN state=s0 ELSE0;c2=1 WHEN state=s1 OR state=s3 ELSE0;c3=1 WHEN state=s2 ELSE0;r1=1 WHEN state=s1 OR state=s0 ELSE0;y1=1 WHEN st
10、ate=s3 ELSE0;g1=1 WHEN state=s2 ELSE0;r2=1 WHEN state=s2 OR state=s3 ELSE0;y2=1 WHEN state=s1 ELSE0;g2=1 WHEN state=s0 ELSE0;END behave;第八章 数字电子系统设计实践第第 1515 页页定时器设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY count30 IS PORT(clk:IN STD_LOGIC;enable:IN STD_LOGIC;c:OUT STD_LOGIC);END count30;ARCHI
11、TECTURE behave OF count30 ISBEGIN PROCESS(clk)VARIABLE cnt:INTEGER RANGE 30 DOWNTO 0;BEGIN IF(clkEVENT AND clk=1)THEN IF enable=1 AND cnt30 THEN cnt:=cnt+1;ELSE cnt:=0;END IF;END IF;IF cnt=30 THEN c=1;ELSE c=0;END IF;END PROCESS;END behave;第八章 数字电子系统设计实践第第 1616 页页波形仿真第八章 数字电子系统设计实践第第 1717 页页8.3 可编程定
12、时可编程定时/计数器设计计数器设计 可编程定时/计数器的功能 硬件定时就是利用可编程定时/计数器,在简单软件控制下产生准确的延时时间。其基本原理是通过软件确定定时/计数器的工作方式、设置计数初值并启动计数器工作,当计数到给定值时,便自动产生定时信号。第八章 数字电子系统设计实践第第 1818 页页可编程定时/计数器设计思路 可编程定时/计数器工作过程 第八章 数字电子系统设计实践第第 1919 页页同定时/计数器1。模型结构包含1个时钟输入,1个清零信号输入,1个写入信号输入,1个3位的控制字输入,1个2位的选通信号输出,1个计数器1载入控制输出,1个计数器2载入控制输出。(1)控制字寄存器(
13、2)定时/计数器1包含1个时钟输入,1个载入控制输入,1个门控制输入,1个2位选通方式输入,1个8位数据输入,1个8位数据输出,1个波形输出。(3)定时/计数器2第八章 数字电子系统设计实践第第 2020 页页SC2、M1、M0定义控制字格式为:对应功能:SC20,计数器1;M1 M001,频率发生器方式SC21,计数器2;M1 M010,计数结束中断方式计数器的模式输入为2 位,可自定义最多四种模式;数据输入8 位,计数范围为0256;每个计数器各有一个门控信号和对应门控信号的波形输出,在门控信号作用下,计数/定时延时。控制字定义第八章 数字电子系统设计实践第第 2121 页页内部结构 所设
14、计定时/计数器的内部结构图如图所示第八章 数字电子系统设计实践第第 2222 页页可编程定时/计数器顶层电路 第八章 数字电子系统设计实践第第 2323 页页可编程定时/计数器仿真波形 第八章 数字电子系统设计实践第第 2424 页页8.4 智能函数发生器设计智能函数发生器设计 函数发生器总体框图 第八章 数字电子系统设计实践第第 2525 页页递增斜波 递减斜波 三角波 第八章 数字电子系统设计实践第第 2626 页页方波 正弦波 阶梯波 第八章 数字电子系统设计实践第第 2727 页页8.5 数据采集系统设计数据采集系统设计 模拟输入A/D转换控制核心D/A转换模拟输出显示数据采集系统示意
15、图 第八章 数字电子系统设计实践第第 2828 页页A AD DC C0 08 80 09 912345678910111213142827262524232221201918171615IN3IN0IN7IN4IN2IN5IN6IN1STARTEOCD3OECLOCKVccREF(+)EDND1A0A1A2ALED7D6D5D4D0REF(-)D23V2.5V2V1.5V1V+5VCP+5V3.5V4V4.5V数据输入单元 第八章 数字电子系统设计实践第第 2929 页页数据采集系统总体框图 第八章 数字电子系统设计实践第第 3030 页页D DA AC C0 08 83 32 213141
16、51645672019891112D7D6D5D4D323D2D1D0+15V76451-15VV01 2 3 10 17 18RP15K2CK1310K50KVcc+5V数据输出单元 第八章 数字电子系统设计实践第第 3131 页页【例8-19】-控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY control IS PORT(d:IN STD_LOGIC_VECTOR(7 DOWNTO 0);clk,k1:IN STD_LOGIC;fun:IN STD_LOGIC_VECT
17、OR(1 DOWNTO 0);q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);alm:OUT STD_LOGIC);END control;ARCHITECTURE behave OF control ISBEGIN PROCESS(clk)VARIABLE x:STD_LOGIC;VARIABLE cnt:STD_LOGIC_VECTOR(2 DOWNTO 0);第八章 数字电子系统设计实践第第 3232 页页BEGIN IF clkEVENT and clk=1 THEN IF k1=0 THE
18、N-循环检测模式 IF x=0 THEN sel10000000 THEN-常数决定电压超过几伏时报警改变常数可改变设置电压 alm=1;ELSE alm=0;x:=0;END IF;END IF;第八章 数字电子系统设计实践第第 3333 页页 ELSE-数据处理模式 IF fun=00 THEN -直接将数据送出,因为已经实现了增大到2倍,所以得到的电压为2倍 q=d;ELSIF fun=01 THEN-缩小到1/2 q=0&0&d(7 DOWNTO 2);ELSE-对数据不作处理 q=0&d(7 DOWNTO 1);END IF;END IF;END IF;END PROCESS;END
19、 behave;第八章 数字电子系统设计实践第第 3434 页页【例8-20】-2选1模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ch21 IS PORT(a,b:IN STD_LOGIC_VECTOR(2 DOWNTO 0);s:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END ch21;ARCHITECTURE behave OF ch21 ISBEGIN PROCESS(s,a,b)BEGIN IF s=0 THEN q=a;ELSE q=b;END IF;END PROCESS
20、;END behave;第八章 数字电子系统设计实践第第 3535 页页【例8-21】-七段译码器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY disp IS PORT(d:IN STD_LOGIC_VECTOR(2 DOWNTO 0);clk:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END disp;ARCHITECTURE behave OF disp ISBEGIN PROCESS(clk)VARIABLE x:STD_LOGIC;VARIABLE tmp:STD_LOGIC_V
展开阅读全文