数字电路EDA实验答案(带程序和图)

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




四位可变模值加/减计数器 module clock_updown(in_data,clk,rest,load,up_down,count_out); input clk,rest,load,up_down; input[3:0]in_data; output[3:0]count_out; reg[3:0]count_out; always@(posedge clk) begin if(!rest) count_out=4'b0000; else if(!load) count_out=in_data; else if(up_down) count_out=count_out+1; else count_out=count_out-1; end endmodule
综合设计 智能交通灯控制器设计
一实验目的:熟悉并掌握用硬件语言描述有限状态机的方法. 二实验要求:设计一个十字路口智能交通灯控制器,AB方向
和CD方向各有红灯、黄灯、绿灯和左转灯四种类型灯, 四种灯按照合理的顺序依次亮灭,并能够将对应灯亮的时 间以倒计时形式显示出来。
三实验内容
1.写出控制器状态转换表 2.用硬件描述语言VHDL或Verilog HDL语言编程. 3.编译、仿真,验证其功能。


设计要求




设计一个十字路口智能交通灯控制器,AB 方向和CD方向各有红灯、 黄灯、绿灯和左转灯四种 类型灯,四种灯按照合理 的顺序依次亮灭,并能够 将对应灯亮的时间以倒计 时形式显示出来。
交通灯状态转移表
三:设计思路
根据交通灯状态转移表,可以采用8个状态机来设计。利用三个计数器,分别对应绿 灯、黄灯、左转灯。利用三个信号监测3种灯的计数是否完毕。当检测到信号发生变化 时状态就转换到下一个状态,即完成灯亮的变化。在显示方面,AB方向和CD方向各需 要四个数码管显示,记数输出采用BCD码。

4/16七段数码显示译码器: module decode7n(disp_data,outdata); input[3:0] disp_data; output[7:0] outdata; reg[7:0] outdata; always @(disp_data) //显示译码输出 begin case (disp_data) //选择输出数据 4'h0: outdata = 8'hc0; 4'h1: outdata = 8'hf9; 4'h2: outdata = 8'ha4; 4'h3: outdata= 8'hb0; 4'h4: outdata = 8'h99; 4'h5: outdata = 8'h92; 4'h6: outdata = 8'h82; 4'h7: outdata = 8'hf8; 4'h8: outdata = 8'h80; 4'h9: outdata = 8'h90; 4'ha: outdata = 8'h88; 4'hb: outdata = 8'h83; 4'hc: outdata = 8'hc6;
实验二
一﹑实验目的
组合逻辑模块设计
熟悉MAX+plusII的VHDL或VerilogHDL文本 设计过程,学习简单组合电路的设计和仿真,并 进一步掌握译码器的工作原理。
二﹑实验内容
用文本输入法设计带使能控制端的3/8译码器和 4/16译码器,并进行功能仿真。
三﹑实验报告要求
根据以上实验内容写出实验报告,包括程序 设计、仿真波形图及其分析报告。
输出 begin
case (disp_data)
//显示译码
//选择输出数据 4'h0: outdata = 8'hc0; //显示0 4'h1: outdata = 8'hf9; //显示1 4'h2: outdata = 8'ha4; //显示2 4'h3: outdata= 8'hb0; //显示3 4'h4: outdata = 8'h99; //显示4 4'h5: outdata = 8'h92; //显示5
实验一:三人表决器设计 一:实验目的
熟悉利用MAX+plusII的原理图输入方法设计简单组 合电路,通过三人表决器的设计把握利用EDA软件进行数 字电路设计的详细流程。
二:实验内容 用原理图输入法完成三人表决电路的设计, 包括原理图输入、目标器件选择及编译、 时序仿真和引脚锁定。
三:实验报告要求 详细叙述三人表决器的设计流程;给出原理图及其对 应的仿真波形图,给出表决器的延时情况。
绿灯
黄灯
左转灯
黄灯
红灯
每个方向红灯亮的时间=每个方向绿灯(64s)+2次黄灯(2*4s)+左转灯(15s)的时间
四:实验内容及要求
用Verilog或VHDL完成上述交通灯控制器的设计,并进行功能仿真。
五:实验报告要求
根据以上实验内容写出实验报告,包括程序设计、仿真波形图及其分析报告。



二﹑实验内容
1.用文本输入法分别完成可变模四位加/减计数器和七段显示译码器的设 计,生成图元文件,并进行功能仿真。 2.以内容1设计的计数器和译码器为底层文件,完成顶层设计,并对顶层文 件进行功能仿真。
三、实验报告要求
根据上述实验内容写出实验步骤,给出实验参考程序,顶层原理图,仿真波 形图,并对仿真结果进行分析

七段数码显示译码器 module decode7n(disp_data,outdata); input[3:0] disp_data; output[7:0] outdata; reg[7:0] outdata; always @(disp_data)

else if (g2an | g2bn) y=8'hff; else case(in) 3'd0:y=8'b00111111; 3'd1:y=8'b00000110; 3'd2:y=8'b01011011; 3'd3:y=8'b01001111; 3'd4:y=8'b01100110; 3'd5:y=8'b01101101; 3'd6:y=8'b01111101; 3'd7:y=8'b00000111; default:y=8'bx; endcase end endmodule
Hale Waihona Puke Baidu
//显示0 //显示1 //显示2 //显示3 //显示4 //显示5 //显示6 //显示7 //显示8 //显示9 //显示a //显示b //显示c
实验三可变模四位加/减计数器的设计
一﹑实验目的
1.熟悉MAX+plusII的VHDL或Verilog文本设计过程,学习简单时序电路 的设计和仿真,并进一步掌握计数器的工作原理。 2.学习并掌握基于MAX+plusII的电路系统多层次的设计方法。


//采用状态机和计数设计 module traffic_ctr(clk,rest,lamp_ab,lamp_cd); input clk;//标准时钟信号 input rest;//系统复位信号 output[3:0]lamp_ab,lamp_cd;//灯的顺序是绿灯、黄灯、左转灯、红灯 reg[5:0]count_green;//绿灯寄存器变量,灯亮时间为64s reg[1:0]count_yellow;//黄灯寄存器变量,灯亮时间为4s reg[3:0]count_turn;//转向灯寄存器变量,灯亮时间为16s reg[2:0]pres_state,next_state;//状态机变量 reg[3:0]lamp_ab,lamp_cd;//对应灯的寄存器变量 wire flag1,flag2,flag3;//作为进行下一个状态标志 assign flag1=(count_green==0)?1:0; assign flag2=(count_yellow==0)?1:0; assign flag3=(count_turn==0)?1:0; always@(flag1 or flag2 or flag3 or rest) begin if(!rest) pres_state<=0; else pres_state<=next_state; end always@(posedge clk) begin case(pres_state) 0://AB方向绿灯亮 begin if(!flag1)
相关文档
最新文档