信号与信息处理研究生作业3文档格式.docx
- 文档编号:4462449
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:28
- 大小:192.09KB
信号与信息处理研究生作业3文档格式.docx
《信号与信息处理研究生作业3文档格式.docx》由会员分享,可在线阅读,更多相关《信号与信息处理研究生作业3文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
但是其理论上能在一个时钟周期内完成8位乘法电路,考虑到逻辑门的延时,为了得到最终结果需要经过多个逻辑门的延时,总的延时可能多于一个时钟周期,但也远快于移位相加乘法器的8个时钟周期。
2009研究生VHDL作业习题
题目一、请分别画出如下VHDL程序所描述的一个电路模型。
(1)
Process(CLK)
Begin
if(CLK'
eventandCLK'
1'
)then
X<
=AandB;
Y<
=X;
Z<
=Y;
Endif;
EndProcess;
解答:
(2)
Process(CLK)
VariableX,Y:
std_logic;
If(CLK'
X:
Y:
Z<
Y
X
(3)
Z<
(4)
X:
题目二、采用SR锁存器可实现时钟信号的双相化,其如图所示,请画出其对应输入的输出波形,并指出其特征。
假设上图的或非门和非门的平均传输延迟时间为t,以及初始状态为Q=0。
可得以下波形:
D
A
从上图可以看出两个时钟的相位相反,且不会同时处于状态1
深圳大学实验报告
实验项目名称:
随机数发生器
学院:
信息工程学院
专业:
信号与信息处理
指导教师:
朱明程教授
报告人:
刘万峰
学号:
2080130206
实验时间:
2009-5-10
实验报告提交时间:
2008-7-6
随机数产生器设计
实验要求:
随机数发生器可产生两个随机数,由一开关(RIN)进行控制,RIN为1时随机数发生器被清除,RIN为0时随机数发生器将产生1-6的两个随机数,可由LED数码管显示。
1.根据给出的逻辑电路图,自行分析该随机数发生器的逻辑功能
2.利用图形设计,采用相应的EDA工具,进行设计输入、功能仿真及设计实现等,最后进行数据下载和硬件功能检验。
3.写电路的设计实验和原理分析报告。
实验步骤:
1.将各个功能模块的原理图输入,并分析其逻辑功能。
随机数产生器的顶层设计图如下:
图1.顶层原理图
该随机数产生器可以划分成5大模块:
缓冲模块、随机数产生模块、控制随机数模块、选择器模块、数码管显示模块。
1)缓冲模块ROLL
图2.ROLL模块
此电路为一缓冲器,目的是为了是输入信号R_IN稳定。
2)随机数产生模块RONDOM
图3.产生两个随机数的模块
此模块中包含一子模块DICK其电路图如下:
图4.DICK模块
DICK_SCH模块模块功能如下:
当RL为1,且CLKR上升沿时,便产生一个3位的随机数。
RONDOM模块功能如下:
当RL为1,且CLKR上升沿时,便产生一个3位随机数。
当在q2的上升沿时产生另一随机数。
3)控制随机数模块MUXCOM
图5.MUXCOM模块
电路完成的是一个2位同步计数器的功能:
4)选择器模块SELECT
图6.SELECT模块
此电路完成的功能是:
当S1S0为“01”时选择B3B2B1作为输出;
当“11”时,选择A3A2A1作为输出;
当S1S0为其它状态时,输出0。
5)数码管显示模块SEG7
图7.SEG7模块
6)从图中可以看出,此电路完成的是对1-6的数字进行显示。
对顶层图原理图进行仿真得到如下仿真波形:
图8.对顶层原理图进行仿真的波形
从上图可以看出,当IPAD=1时,不产生随机数,当IPAD=0时产生两个随机数,两随机数交替显示。
交通灯控制器的设计与实现
实验二交通灯控制器的设计与实现
一、问题说明
该交通灯系统为一个十字路口交通管理信号灯,用于主干道与乡间公路的交叉路口,要求是优先保证主干道的畅通,因此平时处于“主干道绿灯,乡间道红灯”状态,只有在乡间公路有车辆要穿行主干道时才将交通灯切向“主干道红灯,乡间道绿灯”,一旦乡间公路无车辆通过路口,交通灯又回到“主绿,乡红”的状态。
此外,主干道每次通行的时间不得短于1分钟,乡间公路每次通行时间不得长于20秒。
而在两个状态交换过程中出现的“主黄,乡红”和“主红,乡黄”状态,持续时间都为4秒。
1)初步方案考虑
交通灯的状态转换规律如图所示
乡有车
S=1
主绿,乡红
主黄,乡红
4秒
主红,乡黄
主红,乡绿
乡无车
S=0
乡间公路有车辆欲穿行路口时,应向交通灯控制器发一个请求信号S,这可以由乡间公路右侧埋设的传感器产生。
根据以上分析画出交通灯控制器的简单框图、简单流程图、简单波形图。
乡
间
道
C
MC,CR
主
干
M
R
交通灯控制器
G
t≥60s
CP
S
MY,CR
t=4s
MG
60s
MY
4s
MR,CG
MR
CR
t≥20s
CG
20s
CY
MR,CY
二、详细方案
由于系统的运行有4个状态,因而控制器也应有4个状态。
系统的6个输出各与一定的状态相对应,只要通过一些门电路即可完成对信号灯的控制,但由于信号灯的功率一般都很大,所以在每盏灯前面必须有驱动电路。
在实验中,不用作驱动电路,只要输出信号驱动二极管发光管。
系统的输入只有传感器S。
S是一个电平信号,有车辆通过时传感器输出S有效。
除了输入输出外,系统的主要部件是计数器,可用外加的信号CP作为时钟信号,计数器计至4秒、20秒、60秒时应分别向控制器反馈信息,表示持续时间已到,根据情况转换状态。
系统应有一信号CLR控制计数器,使被清零同时失效或计数有效。
通过以上分析得到系统的方框图。
控
制
器
CLR
计数
分频
三、实现交通灯控制器的VHDL代码
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitytraffic_lightis
Port(CLK:
instd_logic;
S:
MG:
outstd_logic;
MY:
MR:
CR:
CY:
CG:
outstd_logic);
endtraffic_light;
architectureBehavioraloftraffic_lightis
SIGNALMSTOP:
Bit:
='
;
SIGNALCSTOP:
SIGNALMchange:
SIGNALCchange:
SIGNALRESET:
SIGNALCOUNT:
INTEGER:
=0;
ConstantDelay:
=4;
ConstantMpasstime:
=60;
ConstantCpasstime:
=20;
begin
process(CLK,RESET)
ifRESET='
then
COUNT<
=0;
RESET<
0'
elsifCLK='
andCLK'
eventthen
=COUNT+1;
endif;
ifCOUNT=Mpasstimethen
MSTOP<
ifCOUNT=Cpasstimethen
CSTOP<
ifCOUNT=delaythen
Mchange<
Cchange<
if(s='
ands'
event)or(CSTOP='
andCSTOP'
event)then
RESET<
MG<
MY<
MR<
CR<
CG<
CY<
Cchange<
ifCchange='
andCchange'
eventthen
MSTOP<
ifs='
eventandMSTOP='
then
Mchange<
ifMchange='
andMchange'
CR<
CSTOP<
endprocess;
endBehavioral;
三、系统仿真
简易数字锁
实验三简易数字锁
设计的是一个保险柜的数字锁控制电路。
首先最主要的问题是安全,也就是开锁的密码被破译的可能性要尽可能小;
其次是操作方便,开锁的程序不过于复杂。
此外还有一些特殊要求,例如可预置和更改密码,多次输入错误密码应启动报警系统,使用者在拨错号码时可将原拨号码清除重拨,段码显示等。
1)初步方案
先看安全性问题。
普通机械密码锁保险箱采用3位十进制码,破译的可能性为千分之一,除了密码外还有一个锁孔,需钥匙投对才能开锁,钥匙投对的可能性常也在百分之一到千分之一,因此总的开锁率约为10-6左右。
现改用全数字锁,如采用2进制码,要达到这样高的安全性能,就要采用20位码,这将是一个难以记熟的密码,操作也极麻烦,故宜采用10进制或16进制密码,但即使如此,所使用的密码的位数仍然较多(5至6位)。
其次,密码锁解锁的基本方法是“符合”,即当所有送入的密码与预置的密码相同时解锁。
密码输入的方式有并行和串行。
显然,并行方案需要的输入太多,相应地系统硬件多、成本高,而用串行输入方式,所用器件可以减少,而且还有另一个优点,串行输入必须用时序电路实现,对结果的判别与操作程序无关。
例如,对一个3位密码而言,多拨一位,少拨一位皆属错误,这无疑大大加强了系统的可靠性,因而使用串行方法,码的位数可以减少。
故设计宜采用串行数字锁并对操作过程有所规定。
既然采用串行数字输入,就得有个起始标志和结束标志。
起始标志可采用复位信号,将电路恢复到起始状态。
设复位信号由START键产生,然后开始受数码输入,当接受确定的几个数码(例如3个十进制数)后,应送入结束标志,由ENTER键产生。
若前面输入的3个号码正确,便可开门,否则发出“嘟”一声,提示输入错误,可按START键重新输入,但连续三次输入错误,就不可输入。
若使用者不慎按错号码,也可按START键重新接受密码输入。
系统接通电源即进入安锁状态。
保险箱门被打开后被关上时,数字锁系统还未工作,处于待锁状态,须按一下SETUP键才能使数字锁锁上,进入安锁状态。
通过以上分析,可以确定系统的简单框图、基本操作流程。
接通电源
段码显示
安锁状态
START
发出“嘟”一声
键
盘输入
电
子
锁
拨号状态
正确
开锁状态
关门按“SETUP”
2)详细方案
首先是输入电路。
号码0~9、开始输入(START)、确认密码(ENTER)、安锁(SETUP)等控制信号可用按键开关实现。
密码输入方法是用10个按键开关,不同的数码用不同的键。
其次是输出。
数字锁的输出:
一是开门信号,当拨号正确又按动ENTER键后,应发出信号,打开数字锁(若是自动装置,将启动电机,使保险箱门缓缓打开),此时可用一只绿色信号灯LO标示开门状态;
二是报警,发出报警信号,可以用红色信号灯表示。
以上开门信号、报警信号一旦出现,就一直保持下去,直至使用者按动SETUP键或保安人员按动内部I_SETUP键为止。
再次是预置问题。
方法是在系统内安排一个存储器(EEPROM),各将存放三位十进制数,但三个数的置入,需在控制器控制下按一定程序完成,实验时可用一块已置入密码的EEPROM。
开锁处理事务毕后,应将门关上,按SETUP键,使系统重新进入安锁状态。
(若在报警状态,按SETUP或START应不起作用,需另用一内部I_SETUP键才能使系统进入安锁状态,此内部I_SETUP键应放置在保安人员值班室或其它使用者不能接触的地方。
)
二、实现简易数字锁的VHDL代码
entityELockis
InNum:
std_logic_vector(0to9);
START:
ENTER:
SETUP:
I_SETUP:
OPENdoor:
ALARM:
ERROR:
endELock;
architectureBehavioralofELockis
SIGNALINPUTPASSWORD:
SIGNALIalarm:
SIGNALNumofIn:
SIGNALCOUNT:
TYPEwordISARRAY(2DOWNTO0)OFINTEGER;
Constantpass1:
=2;
Constantpass2:
=3;
Constantpass3:
=6;
SIGNALInpass1:
SIGNALInpass2:
SIGNALInpass3:
process(CLK)
ifCLK='
ifSTART='
andSTART'
eventandIalarm='
INPUTPASSWORD<
NumofIn<
endif;
ifENTER='
andENTER'
ifNumofIn=3then
ifInpass1=pass1andInpass2=pass2andInpass3=pass3then
OPENdoor<
else
COUNT<
=COUNT+1;
NumofIn<
ERROR<
endif;
else
COUNT<
NumofIn<
endif;
ifCOUNT=3then
ALARM<
Ialarm<
ifI_SETUP='
ifSETUP='
andIalarm='
OPENdoor<
NumofIn<
ifINPUTPASSWORD='
Inpass2<
=Inpass1;
Inpass3<
=Inpass2;
=NumofIn+1;
ifInNum="
1000000000"
andInNum'
Inpass1<
elseifInNum="
0100000000"
Inpass1<
=1;
0010000000"
elseifInNum="
0001000000"
0000100000"
0000010000"
=5;
0000001000"
0000000100"
=7;
0000000010"
=8;
0000000001"
=9;
endif;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 信息处理 研究生 作业
![提示](https://static.bingdoc.com/images/bang_tan.gif)