404数字电路EDA实验

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

count_out=count_out-1;
2013-4-11 end endmodule 14
Fra Baidu bibliotek CUST
七段数码显示译码器部分VHDL程序
module decode7n(disp_data,outdata); input[3:0] disp_data; output[7:0] outdata; reg[7:0] outdata; always @(disp_data) //显示译码输出 begin 4'h6: outdata = 8'h82; //显示6 4'h7: outdata = 8'hf8; //显示7 4'h8: outdata = 8'h80; //显示8 4'h9: outdata = 8'h90; //显示9 4'ha: outdata = 8'h88; //显示a 4'hb: outdata = 8'h83; //显示b 4'hc: outdata = 8'hc6; //显示c 4'hd: outdata = 8'ha1; //显示d 4'he: outdata = 8'h86; //显示e 4'hf: outdata = 8'h8e; //显示f endcase end endmodule 15
序仿真和引脚锁定等。
三、实验结果
1、原理图输入电路
2013-4-11
5
CUST
2、仿真波形
2013-4-11
6
CUST
四、思考题
1、分析仿真结果的延时情况。 2、说明组合逻辑电路的设计步骤。
五、实验报告
1、实验目的;实验原理;实验内容;实验步骤及 方法;实验仿真;实验结论;思考题解答。 2、本实验项目要求给出程序,简单原理图及其对 应的仿真。 3、根据实验结果,分析表决器的延时情况,回答思 考题,并写出实验的结论和体会。
2013-4-11 13
CUST
三、实验结果
1、四位可变模值加/减计数器部分VHDL程序
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;
2013-4-11 7
实验二:组合逻辑模块设计
一:实验目的
熟悉MAX+plusII的VHDL或VerilogHDL文本设计 全过程,掌握简单组合逻辑电路的VHDL描述,文本输 入设计和仿真,并进一步掌握译码器的工作原理。
CUST
二:实验内容
1、使用VHDL的case语句,设计七段译码器的程序, 并完成文本输入、编译、仿真。 2、用文本输入法设计带使能控制端的3/8译码器和 4/16译码器,并完成文本输入、编译、仿真。
绿灯 黄灯
左转灯
黄灯
红灯
2013-4-11
19
CUST
2、设计一个十字路口智能交通灯控制器,AB方向和CD
方向各有红灯、黄灯、绿灯和左转灯四种类型灯,
四种灯按照合理的顺序依次亮灭,并能够将对应灯 亮的时间以倒计时形式显示出来。
2013-4-11
20
CUST
3、利用三个计数器,分别对应绿灯、黄灯、左转灯。 利用三个信号监测3种灯的计数是否完毕。当检测到 信号发生变化时状态就转换到下一个状态,即完成 灯亮的变化。在显示方面,AB方向和CD方向各需要
2013-4-11 12
实验三:可变模四位加/减计数器的设计
一:实验目的
1、熟悉MAX+plusII的VHDL或Verilog文本设计过程, 学会时序电路的设计和仿真,并进一步掌握计数器的工 作原理。 2、学习并掌握基于MAX+plusII的电路系统多层次的 设计方法。
CUST
二:实验内容
1、用文本输入法分别完成可变模四位加/减计数器和七 段显示译码器的设计,生成图元文件,并进行功能仿真。 2、设计的计数器和译码器为底层文件,完成顶层设计, 并对顶层文件进行功能仿真。
if(!g1)
y=8'hff; else if (g2an | g2bn) y=8'hff;
else
2013-4-11
endmodule
9
CUST
4/16译码器部分VHDL程序
module decode7n(disp_data,outdata);
input[3:0] disp_data; output[7:0] outdata; reg[7:0] outdata; always @(disp_data) 4'h7: outdata = 8'hf8; //显示7 4'h8: outdata = 8'h80; //显示8 4'h9: outdata = 8'h90; //显示9 4'ha: outdata = 8'h88; //显示a 4'hb: outdata = 8'h83; //显示b 4'hc: outdata = 8'hc6; //显示c 4'hd: outdata = 8'ha1; //显示d 4'he: outdata = 8'h86; //显示e 4'hf: outdata = 8'h8e; //显示f endcase
四个数码管显示,记数输出采用BCD码,每个方向红
灯亮的时间=每个方向绿灯(64s)+2次黄灯(2*4s)+ 左转灯(15s)的时间。
2013-4-11
21
CUST
4、交通灯的状态转移表
2013-4-11
22
CUST
5、状态机和计数器的部分程序
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) end always@(posedge clk) begin case(pres_state) begin if(!rest) pres_state<=0; else pres_state<=next_state;
case (disp_data) //选择输出数据
//显示0 //显示1 //显示2 //显示3 //显示4 //显示5 2013-4-11 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;
长春理工大学 电工电子实验教学中心
数字电路EDA实验
404 EDA实验室
CUST
实验目的和基本要求
数字电路EDA实验是电子信息工程学院各个专业的一门必修课, 它是一门实践性很强的课程,是实践教学中不可缺少的重要教学环
节。
EDA实验使学生了解通过软件仿真的方法可以高效的完成硬件电 路设计的计算机技术,初步掌握自顶向下的设计方法、EDA设计流
CUST
二:实验内容
1、用门电路设计3人表决器电路,2人或2人以上同意表决 通过,否则不通过,设输入变量A,B,C,参加表决者3 人,同意为1,不同意为0,输出变量F,通过为1,不通 过为0。
2013-4-11 4
CUST
2、利用MAX+plusⅡ软件设计数字电路的流程,原理图输 入法完成3人表决器电路设计,目标器件选择及编译、时
4'h5: outdata = 8'h92;
CUST
2、电路图
打开图形编辑窗,调出已设计的七段译码显示器和可逆计数 器元件,按图示电路连接,完成原理图输入、编译、仿真。
2013-4-11
16
CUST
3、仿真波形
2013-4-11
17
CUST
四、思考题
1、分析输出的仿真结果。 2、说明时序逻辑电路的设计步骤。 3、说明时序逻辑电路四位可变模值加/减计数器和七段 数码显示译码器部分VHDL程序流程。
2013-4-11 8
CUST
三、实验结果
1、 3/8译码器部分VHDL程序
module m0000001(a,b,c,g1,g2an,g2bn,y); case(in) 3'd0:y=8'b00111111; input a,b,c,g1,g2an,g2bn; output[7:0]y; reg[7:0]y; wire[2:0]in; assign in={a,b,c}; always @(in or g1 or g2an or g2bn) begin 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
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'h5: outdata = 8'h92; //显示5
1、学会较复杂数字电路系统的设计,熟悉 MAX+plusII并掌握用硬件语言描述有限状态机的方法。 2、学习并掌握基于MAX+plusII的电路系统多层次的 设计方法
二:实验内容
1、根据交通灯“红灯停,绿灯行,黄灯提醒”,按下 图要求,可以采用8个状态机来设计用Verilog或VHDL 完成上述交通灯控制器的设计,并进行功能仿真。
0://AB方向绿灯亮
2013-4-11
23
CUST
begin if(!flag1) begin 1://AB方向黄灯亮 begin if(!flag2) begin lamp_ab<=4'b0100; lamp_cd<=4'b0001; count_yellow<=count_yellow+1; end else begin 2://AB方向转向灯亮 begin if(!flag3) begin lamp_ab<=4'b0010; lamp_cd<=4'b0001; count_turn<=count_turn+1; end else begin
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
4'h6: outdata = 8'h82; //显示6
2013-4-11
end
endmodule 10
CUST
2、仿真波形
2013-4-11
11
CUST
四、思考题
1、分析输出的仿真结果。 2、说明组合逻辑电路3/8译码器部分VHDL程序和 4/16译码器部分VHDL程序流程。
五、实验报告
1、实验目的;实验原理;实验内容;实验步骤及 方法;实验仿真;实验结论;思考题解答,详 细叙述文本输入法的设计流程。 2、说明部分程序和对应的仿真波形及其分析报。 3、根据实验结果,写出实验结论和体会
五、实验报告
1、实验目的;实验原理;实验内容;实验步骤及 方法;实验仿真;实验结论;思考题解答,并叙 述实验步骤和详细设计流程。 2、给出实验参考程序,顶层原理图,仿真波形图,并对 仿真结果进行分析。 2013-4-11 3、实验的结论和体会。
18
实验四:综合设计 智能交通灯控制器设计 CUST
一:实验目的
程等,会用原理图输入和硬件描述语言VHDL设计逻辑电路。
2013-4-11
2
CUST
实验设备
微型计算机45台
2013-4-11
3
实验一:三人表决器设计
一:实验目的
熟悉利用MAX+plusII的原理图输入方法设计简单 组合电路,初步了解相关EDA软件,通过三人表决器 的设计掌握利用EDA软件进行数字电路设计的详细流 程。
相关文档
最新文档