欢迎来到天天文库
浏览记录
ID:18629883
大小:141.00 KB
页数:11页
时间:2018-09-19
《数字系统设计技术实验报告模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数字系统设计技术》实验报告专业:班级:姓名:学号:实验一:一位全加器设计一、实验目的熟悉QuartusII软件的使用,学会用原理图输入法设计逻辑电路,进一步巩固全加器原理及其EDA实现。二、一位全加器原理电路示意图如下所示:A、B、Sum均为四位矢量信号。ABCoFulladderCiSumSumi=Ai⊕Bi⊕CiiCoi=AiBi+(Ai+Bi)Cii三、设计过程与步骤此处从建立工程直到原理图设计完成,以及编译综合和仿真的详细步骤要写上。从QuartusII软件实际操作界面中截图。四、仿真
2、结果五、实验总结此处主要写实验中遇到的问题,解决的方法。实验二:数值比较器设计一、实验目的巩固QuartusII软件的使用,熟悉VerilogHDL程序结构,学会用文本输入法设计逻辑电路。二、数值比较器原理根据两位二进制数的大小得到对应的比较结果,其电路示意图及电路特性表为:比较器电路示意图比较器特性表ABAB00010011001000111010三、程序四、仿真结果五、实验总结实验三:四选一数据选择器设计一、实验目的掌握Verilog语言中的case语句、if-else语句。二、四选一数据选
3、择器原理电路功能表及其电路图如下:电路功能表D0D1YMux4-1A1D2D3A0A1A0Y00D001D110D211D3三、程序四、仿真结果五、实验总结实验四:8/3优先编码器设计一、实验目的掌握VerilogHDL语言中的if条件语句和always模块的使用。二、8/3优先编码器原理电路功能表及其电路图如下:电路功能表三、程序四、仿真结果五、实验总结实验五:十六进制加/减可逆计数器设计一、实验目的练习时序逻辑电路的Verilog实现。二、实验要求实现一个具有加减可逆计数功能的十六进制计数器
4、,用一位控制信号,控制加/减两种计数模式。三、程序四、仿真结果五、实验总结实验六:智能交通灯控制器设计一、实验目的练习用QuartusII软件设计具有一定复杂度和实际意义的功能电路。二、功能描述设计一个十字路口智能交通灯控制器,其示意图如图8-27:AB方向和CD方向各有红灯、黄灯、绿灯和左拐灯四种类型灯,四种灯按照合理的顺序依次亮灭,并能够将对应灯亮的时间以倒计时形式显示出来。CABD图8-27十字路口交通示意图三、控制器状态转换表智能交通灯状态转移转换表如表8-1所示。表中“1”表示灯亮,“
5、0”表示灯灭。AB方向和CD方向有四种灯。AB方向CD方向绿灯黄灯左转灯红灯绿灯黄灯左转灯红灯1000000001000000001000000100000000001000000001000000001000000100交通灯状态转移表从状态表可以看出,每个方向四种亮灭是有顺序的,循环的顺序是:绿灯黄灯左转黄灯红灯每个方向红灯亮的时间正好等于另一方向绿灯、2次黄灯、左转灯亮的时间相等。四、设计思路与实现根据交通灯状态转移表,我们可以采用8个状态机来设计,因为红灯亮的时候正好是别的颜色灯在亮,所
6、以我们利用三个计数器,分别对应绿灯、黄灯、左转灯,在本设计中,为了方便,我们分别让绿灯亮的时间是:64秒、黄灯亮的时间是4秒、左转灯亮的时间是15秒。利用三个信号监测三种灯计数完毕。当检测信号变化状态就转换到下一个状态,即完成灯亮变化。在显示方面,AB方向和CD方向各需要4个数码管显示,计数输出采用BCD码。参考程序://采用状态机和计数设计moduletraffic_ctr(clk,rest,lamp_ab,lamp_cd);inputclk;//标准时钟信号inputrest;//系统复位信
7、号output[3:0]lamp_ab,lamp_cd;//灯的顺序是绿色灯、黄色灯、左转灯、红色灯reg[5:0]count_green;//绿色灯寄存器变量,灯亮时间64秒reg[1:0]count_yellow;//黄色灯寄存器变量,灯亮时间4秒reg[3:0]count_turn;//转向灯寄存器变量,灯亮时间16秒reg[2:0]pres_state,next_state;//状态机变量reg[3:0]lamp_ab,lamp_cd;//对应灯的寄存器变量wireflag1,flag2
8、,flag3;//作为进行下一个状态标志assignflag1=(count_green==0)?1:0;assignflag2=(count_yellow==0)?1:0;assignflag3=(count_turn==0)?1:0;always@(flag1orflag2orflag3orrest)beginif(!rest)pres_state<=0;elsepres_state<=next_state;endalways@(posedgeclk)begincase(pres_state
此文档下载收益归作者所有