第八章数字电子系统设计实践

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

-- 将输入锁到高8位
END IF;
END PROCESS;
q <= R16S;
END behave;
第7页
第八章 数字电子系统设计实践 波形仿真
第8页
第八章 数字电子系统设计实践
8.2 十字路口交通管理器设计
16位锁存器模块设计
R1 Y1 Baidu Nhomakorabea1 甲道
G2 Y2 R2 乙道
交通管理器 (控制器)
12 REF(+)
D0 17
+5V
13 EDN 14 D1
REF(-)16 D2 15
数据输入单元
第 28 页
第八章 数字电子系统设计实践
数据采集系统总体框图 第 29 页
第八章 数字电子系统设计实践
D7 13 D6 14 D5 15 D4 16 D3 4 D2 5 D1 6 D0 7
第八章 数字电子系统设计实践
第八章 数字电子系统设计实践
第1页
第八章 数字电子系统设计实践
8.1 移位相加8位硬件乘法器电路设计
硬件乘法器的功能 --实现两个8位二进制数的乘法运算 硬件乘法器的设计思路 硬件乘法器的乘法运算可以通过逐项移位相加
原理来实现,从被乘数的最低位开始,若为1, 则乘数左移后与上一次的和相加;若为0,左 移后以全零相加,直至被乘数的最高位。
第 16 页
第八章 数字电子系统设计实践
8.3 可编程定时/计数器设计 可编程定时/计数器的功能
硬件定时就是利用可编程定时/计数器,在简 单软件控制下产生准确的延时时间。其基本 原理是通过软件确定定时/计数器的工作方式、 设置计数初值并启动计数器工作,当计数到 给定值时,便自动产生定时信号。
第 17 页
第八章 数字电子系统设计实践
可编程定时/计数器设计思路
可编程定时/计数器工作过程
第 18 页
第八章 数字电子系统设计实践
模型结构
(1) 控制字寄存器 包含1个时钟输入,1个清零信号输入,1个写入信号 输入,1个3位的控制字输入,1个2位的选通信号输出, 1个计数器1载入控制输出,1个计数器2载入控制输出。
PROCESS (clk, load)
BEGIN
IF load = '1' THEN reg8 <= din; --装载新数据
ELSIF CLK'EVENT AND CLK = '1' THEN
reg8(6 DOWNTO 0) <= reg8(7 DOWNTO 1); --数据右移
END IF;
END PROCESS;
第 13 页
第八章 数字电子系统设计实践
c1<='1' WHEN state=s0 ELSE'0'; c2<='1' WHEN state=s1 OR state=s3 ELSE'0'; c3<='1' WHEN state=s2 ELSE'0'; r1<='1' WHEN state=s1 OR state=s0 ELSE'0'; y1<='1' WHEN state=s3 ELSE'0'; g1<='1' WHEN state=s2 ELSE'0'; r2<='1' WHEN state=s2 OR state=s3 ELSE'0'; y2<='1' WHEN state=s1 ELSE'0'; g2<='1' WHEN state=s0 ELSE'0'; END behave;
IF clr = '1' THEN R16S <= (OTHERS =>'0') ; -- 清零信号
ELSIF CLK'EVENT AND CLK = '1' THEN
R16S(6 DOWNTO 0) <= R16S(7 DOWNTO 1); -- 右移低8位
R16S(15 DOWNTO 7) <= D;
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
第5页
第八章 数字电子系统设计实践
选通与门模块设计
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) );
第2页
第八章 数字电子系统设计实践 硬件乘法器的设计
第3页
第八章 数字电子系统设计实践
右移寄存器 模块设计
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY sreg8b IS
--8位右移寄存器
PORT ( clk : IN STD_LOGIC; LOAD : IN STD_LOGIC;
第 20 页
第八章 数字电子系统设计实践
内部结构 所设计定时/计数器的内部结构图如图所示
第 21 页
第八章 数字电子系统设计实践
第 22 页
可编程定时/计数器顶层电路
第八章 数字电子系统设计实践
可编程定时/计数器仿真波形
第 23 页
第八章 数字电子系统设计实践
8.4 智能函数发生器设计
函数发生器总体框图
3V 1 IN3 2.5V 2 IN4
2V 3 IN5
IN2 IN1 IN0
28 27 26
3.5V 4V 4.5V
1.5V 4 IN6
A0 25
+5V
1V 5 IN7
6 START
7 EOC
8 D3
9 OE
10 CLOCK
CP
11 Vcc
ADC0809
A1 24 A2 23 ALE 22 D7 21 D6 20 D5 19 D4 18
时钟CLK
C3
W2
W3 C1 W1
C2
甲道通行t3 定时器(Ⅲ)
乙道通行t1 定时器(Ⅰ)
公共停车t2 定时器(Ⅱ)
第9页
交通管理器的设计思路
第 10 页
第八章 数字电子系统设计实践
Q2Q1
S0
00
甲道禁止 乙道通行 R1=1
C1=1
G2=1
N
W1=1?
S1
Y
01 R1=1
甲道禁止 乙道停车 C2=1
PORT(b, a : IN STD_LOGIC_VECTOR(7 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(8 DOWNTO 0) );
END adder8; ARCHITECTURE behav OF adder8 IS BEGIN
s <= '0'&a + b ; END behave;
第 14 页
第八章 数字电子系统设计实践
定时器设计
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; ARCHITECTURE behave OF count30 IS BEGIN PROCESS(clk) VARIABLE cnt:INTEGER RANGE 30 DOWNTO 0; BEGIN IF (clk'EVENT AND clk='1')THEN
第6页
第八章 数字电子系统设计实践
LIBRARY IEEE;
16位锁存器模块设计
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY reg16b IS
PORT ( clk,clr : IN STD_LOGIC;
d : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
END andarith; ARCHITECTURE behave OF andarith IS BEGIN
PROCESS(abin, din) BEGIN
FOR I IN 0 TO 7 LOOP -- 循环,完成8位与1位运算 DOUT(I) <= DIN(I) AND ABIN;
END LOOP; END PROCESS; END behave;
TYPE state_space IS (s0,s1,s2,s3); SIGNAL state:state_space; BEGIN
第 12 页
第八章 数字电子系统设计实践 PROCESS(clk) BEGIN
IF reset='1' THEN state<=s0; ELSIF(clk'EVENT AND clk='1')THEN CASE state IS WHEN s0=>IF w1='1' THEN--条件信号赋值语句
第 24 页
第 25 页
第八章 数字电子系统设计实践 递增斜波 递减斜波
三角波
第 26 页
第八章 数字电子系统设计实践 阶梯波 正弦波 方波
第八章 数字电子系统设计实践
8.5 数据采集系统设计
模拟输入 A/D转换
控制核心
D/A转换
模拟输出
显示
数据采集系统示意图
第 27 页
第八章 数字电子系统设计实践
IF enable='1' AND cnt<30 THEN cnt:=cnt+1;
第 15 页
ELSE cnt:=0; END IF;
END IF; IF cnt=30 THEN c<='1'; ELSE c<='0'; END IF; END PROCESS; END behave;
第八章 数字电子系统设计实践 波形仿真
q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) );
END reg16b;
ARCHITECTURE behave OF reg16b IS
SIGNAL R16S : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
PROCESS(clk, clr)
BEGIN
qb <= reg8(0);
--输出最低位
END behave; 第4页
第八章 数字电子系统设计实践
8位加法器模块设计
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY adder8 IS
(2) 定时/计数器1 包含1个时钟输入,1个载入控制输入,1个门控制 输入,1个2位选通方式输入,1个8位数据输入,1 个8位数据输出,1个波形输出。 (3) 定时/计数器2
同定时/计数器1。
第 19 页
第八章 数字电子系统设计实践
控制字定义 SC2、M1、M0 定义控制字格式为: 对应功能: SC2=0,计数器1; M1 M0=01,频率发生器方式 SC2=1,计数器2; M1 M0=10,计数结束中断方式 计数器的模式输入为2 位,可自定义最多四种模式;数 据输入8 位,计数范围为0~256;每个计数器各有一个 门控信号和对应门控信号的波形输出,在门控信号作用 下,计数/定时延时。
Y2=1
N
W2=1?
S2
Y
11 G1=1
甲道通行 乙道禁止 C3=1
R2=1
N
W3=1?
S3
Y
10 Y1=1
甲道停车 乙道禁止 C2=1
R2=1
N
W2=1?
Y
交通管理器的设计
第八章 数字电子系统设计实践
第 11 页
第八章 数字电子系统设计实践
控制器模块设计
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;--各定时计数器的工作信号 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
state<=s1; END IF; WHEN s1=>IFw2='1' THEN state<=s2; END IF; WHEN s2=>IF w3='1' THEN state<=s3;END IF; WHEN s3=>IF w2='1' THEN state<=s0;END IF; END CASE; END IF; END PROCESS;
相关文档
最新文档