可编程逻辑器件实验.docx

上传人:b****0 文档编号:17537791 上传时间:2023-07-26 格式:DOCX 页数:17 大小:17.47KB
下载 相关 举报
可编程逻辑器件实验.docx_第1页
第1页 / 共17页
可编程逻辑器件实验.docx_第2页
第2页 / 共17页
可编程逻辑器件实验.docx_第3页
第3页 / 共17页
可编程逻辑器件实验.docx_第4页
第4页 / 共17页
可编程逻辑器件实验.docx_第5页
第5页 / 共17页
可编程逻辑器件实验.docx_第6页
第6页 / 共17页
可编程逻辑器件实验.docx_第7页
第7页 / 共17页
可编程逻辑器件实验.docx_第8页
第8页 / 共17页
可编程逻辑器件实验.docx_第9页
第9页 / 共17页
可编程逻辑器件实验.docx_第10页
第10页 / 共17页
可编程逻辑器件实验.docx_第11页
第11页 / 共17页
可编程逻辑器件实验.docx_第12页
第12页 / 共17页
可编程逻辑器件实验.docx_第13页
第13页 / 共17页
可编程逻辑器件实验.docx_第14页
第14页 / 共17页
可编程逻辑器件实验.docx_第15页
第15页 / 共17页
可编程逻辑器件实验.docx_第16页
第16页 / 共17页
可编程逻辑器件实验.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

可编程逻辑器件实验.docx

《可编程逻辑器件实验.docx》由会员分享,可在线阅读,更多相关《可编程逻辑器件实验.docx(17页珍藏版)》请在冰点文库上搜索。

可编程逻辑器件实验.docx

可编程逻辑器件实验

可编程逻辑器件及应用实验教学大纲

一、课程中文名称:

可编程逻辑器件及应用

DesignandApplicationofProgrammingLogicDevice

二、课程编码:

1021579006

三、课程目标和基本要求:

本课程是高等院校电气、信息、通信类专业的一门技术专业课。

通过本课程的学习,使学生获得数字系统设计和可编程逻辑器件方面的基本概念、基本知识和基本技能,培养他们对数字系统的分析与设计的能力,为后续课程的学习及今后的实际工作打下良好的基础。

四、课程总学时:

66学时(严格按教学计划时数)[理论:

48学时;实验:

18学时]

五、课程总学分:

3.5学分(严格按教学计划学分)

六、适用专业和年级:

09电科本、09电信本、09通信本

七、实验项目汇总表:

序号 

实验编号

实验名称

时数

实验类别

实验类型

实验要求

每组人数

实验一

102157900601

ISE集成开发环境练习

3

基础

演示性

必修

1

实验二

102157900602

七段显示译码电路设计

3

基础

验证性

必修

1

实验三

102157900603

跑马灯电路设计

3

基础

验证性

必修

1

实验四

102157900604

十进制计数器设计

3

专业基础

验证性

必修

1

实验五

102157900605

交通灯设计

6

专业基础

设计性

必修

1

八、大纲内容:

实验一ISE集成开发环境练习

[实验目的和要求]

1、熟悉ISE开发环境

2、学习ISE开发环境的使用方法

[实验内容]

1、熟悉各菜单功能及使用方法

2、熟悉数字系统设计的流程

3、熟悉ISE调试VerilogHDL程序的方法

[主要实验仪器与器材]

1、计算机

2、FPGA实验开发板

实验二七段显示译码电路设计

[实验目的和要求]

1、学习always语句和if、case等分支语句的基本编程方法

2、了解敏感变量的含义和用途

3、写出调试通过的实验程序

4、分析实验结果

[实验内容]

1、使用VerilogHDL编写七段显示译码实验程序,在仿真器上调试运行

2、编写实验程序代码

3、在FPGA开发板上调试运行并观察结果编程序的方法

[主要实验仪器与器材]

1、计算机

2、FPGA实验开发板

moduleone(in,out,enable);

input[3:

0]in;

output[6:

0]out;

outputenable;

reg[6:

0]out;

regenable;

always@(in)

begin

case(in)

4'b0000:

out=7'b1111110;

4'b0001:

out=7'b1100000;

4'b0010:

out=7'b1011011;

4'b0011:

out=7'b1110011;

4'b0100:

out=7'b1100101;

4'b0101:

out=7'b0110111;

4'b0110:

out=7'b0111111;

4'b0111:

out=7'b1100010;

4'b1000:

out=7'b1111111;

4'b1001:

out=7'b1110111;

default:

out=7'b0000001;

endcase

enable=0;

end

endmodule

 

实验三跑马灯电路设计

[实验目的和要求]

1、学习使用加减法电路的编程方法和调试步骤

2、学习使用分频电路的编程方法和调试步骤

3、写出调试通过的实验程序

4、分析实验结果

[实验内容]

1、使用VerilogHDL编写半加器、半减器电路实验程序,在仿真器上调试运行

2、编写分频电路程序代码

3、完成跑马灯电路的程序代码,并调试分析结果

[主要实验仪器与器材]

1、计算机

2、FPGA实验开发板

modulepaomadeng(clk,deng8,rst);

inputclk;

output[7:

0]deng8;

inputrst;

reg[7:

0]deng8;

wirenewclk;

fenpinga1(clk,newclk,rst);

always@(posedgenewclk)

begin

if(!

rst)

deng8<=8'b11111110;

else

begin

deng8[7]<=deng8[0];

deng8[6:

0]<=deng8[7:

1];

end

end

endmodule

 

modulefenping(clk,newclk,rst);

inputclk,rst;

outputnewclk;

regnewclk;

reg[27:

0]out;

always@(posedgeclk)

begin

if(!

rst)

begin

out<=0;

newclk<=0;

end

else

begin

out<=out+1;

if(out==25000000)

begin

out<=0;

newclk<=~newclk;

end

end

end

endmodule

实验四十进制计数器设计

[实验目的和要求]

1、熟悉计数器电路的基本原理和实现方式

2、掌握通用计数器的编程方法和调试步骤

3、分析实验结果

[实验内容]

1、采用边沿触发方式设计程序代码

2、使用VerilogHDL编写完成程序程序并调试

3、焊接显示数码管,完成硬件电路设计

4、下载程序演示计数器

[主要实验仪器与器材]

1、计算机

2、FPGA实验开发板

moduleone(in,out,enable);

input[3:

0]in;

output[6:

0]out;

outputenable;

reg[6:

0]out;

regenable;

always@(in)

begin

case(in)

4'b0000:

out=7'b1111110;

4'b0001:

out=7'b1100000;

4'b0010:

out=7'b1011011;

4'b0011:

out=7'b1110011;

4'b0100:

out=7'b1100101;

4'b0101:

out=7'b0110111;

4'b0110:

out=7'b0111111;

4'b0111:

out=7'b1100010;

4'b1000:

out=7'b1111111;

4'b1001:

out=7'b1110111;

default:

out=7'b0000001;

endcase

enable=0;

end

endmodule

 

modulecounter(clk,c);

inputclk;

output[3:

0]c;

reg[3:

0]c;

always@(posedgeclk)

begin

if(c==4'b1001)

c<=4'b0000;

elseif(c<4'b1001)

c<=c+1;

else

c<=4'b0000;

end

endmodule

 

modulecounter2(clk,c,a,rst);

inputclk,rst;

input[3:

0]c;

output[3:

0]a;

reg[3:

0]a;

always@(posedgeclk)

begin

if(!

rst)

a<=4'b0000;

elseif(a==4'b1001&c==4'b1001)

a<=4'b0000;

elseif(c==4'b1001)

a<=a+1;

end

endmodule

 

moduletop(clk,rst,out,enable);

inputclk,rst;

output[6:

0]out;

outputenable;

wirenclk;

wire[3:

0]c;

fenpinga1(clk,nclk,rst);

countera2(nclk,c);

onea3(c,out,enable);

endmodule

实验五交通灯设计

[实验目的和要求]

1、了解交通灯控制原理

2、了解模块化设计方法

3、掌握数字系统设计的方法

4、通过仿真器观察输入输出波形,并能在FPGA开发板上实现交通灯控制系统

[实验内容]

1、完成系统的模块划分

2、完成控制器部分状态图的画法

3、使用VerilogHDL完成整个系统的代码编写

[主要实验仪器与器材]

1、计算机

2、FPGA实验开发板

代码:

moduletop(clk,rst,out,enable,ou);

inputclk,rst;

output[5:

0]out;

wiref25,f5,en25,en5,nclk;

wire[3:

0]c;

wire[3:

0]a;

wire[3:

0]b;

wirem;

output[1:

0]enable;

output[6:

0]ou;

cona1(clk,rst,en25,en5,f25,f5,out);

timer25a2(clk,rst,en25,f25);

timer5a3(clk,rst,en5,f5);

fenpinga6(clk,nclk,rst);

countera4(nclk,c,a,en5,en25,rst);

onea5(b,ou);

xuanzhea7(a,c,clk,b,rst,enable);

endmodule

modulecounter(clk,c,a,en5,en25,rst);

inputclk,en5,en25,rst;

output[3:

0]c;

reg[3:

0]c;

output[3:

0]a;

reg[3:

0]a;

always@(posedgeclk)

begin

if(!

rst)begin

a<=4'b0010;

c<=4'b0101;

end

elseif(en5)begin

a<=4'b0000;

if(c==4'b0000)begin

c<=4'b0101;end

elsebegin

c<=c-1;end

end

elseif(en25)begin

if(c)begin

c<=c-1;

end

elseif(c==4'b0000)begin

a<=a-1;

c<=4'b1001;

end

else

begin

a<=4'b0010;

c<=4'b0101;

end

end

else

begin

a<=4'b0000;

c<=4'b0000;

end

end

endmodule

modulecon(clk,rst,en25,en5,f25,f5,out);

inputclk,rst,f25,f5;

outputen25,en5;

output[5:

0]out;

regen25,en5;

reg[5:

0]out;

reg[1:

0]state;

parameterS0=0,S1=1,S2=2,S3=3;

always@(posedgeclk)

begin

if(!

rst)

begin

out<=6'b000000;

en25<=0;

en5<=0;

state=S0;

end

elsebegin

case(state)

S0:

begin

out<=6'b011110;

en25<=1;

en5<=0;

if(f25==1)

state=S1;

end

S1:

begin

out<=6'b011101;

en25<=0;

en5<=1;

if(f5==1)

state=S2;

end

S2:

begin

out<=6'b110011;

en25<=1;

en5<=0;

if(f25==1)

state=S3;

end

S3:

begin

out<=6'b101011;

en25<=0;

en5<=1;

if(f5==1)

state=S0;

end

endcase

end

end

endmodule

modulefenping(clk,newclk,rst);

inputclk,rst;

outputnewclk;

regnewclk;

reg[27:

0]out;

always@(posedgeclk)

begin

if(!

rst)

begin

out<=0;

newclk<=0;

end

else

begin

out<=out+1;

if(out==25000000)

begin

out<=0;

newclk<=~newclk;

end

end

end

endmodule

moduleone(in,out);

input[3:

0]in;

output[6:

0]out;

reg[6:

0]out;

always@(in)

begin

case(in)

4'b0000:

out=7'b1111110;

4'b0001:

out=7'b1100000;

4'b0010:

out=7'b1011011;

4'b0011:

out=7'b1110011;

4'b0100:

out=7'b1100101;

4'b0101:

out=7'b0110111;

4'b0110:

out=7'b0111111;

4'b0111:

out=7'b1100010;

4'b1000:

out=7'b1111111;

4'b1001:

out=7'b1110111;

default:

out=7'b0000001;

endcase

end

endmodule

modulexuanzhe(a,c,clk,b,rst,enable);

input[3:

0]a;

input[3:

0]c;

output[3:

0]b;

reg[3:

0]b;

inputclk,rst;

output[1:

0]enable;

reg[1:

0]enable;

regm;

always@(posedgeclk)

begin

if(!

rst)begin

m=0;

enable=2'b11;

end

elseif(m)

begin

b=a;

m=m+1;

enable=2'b01;

end

else

begin

m=m+1;

b=c;

enable=2'b10;

end

end

endmodule

九、主要实验教材(指导书)及参考用书:

1、可编程逻辑器件的开发与应用实验指导书

十、课程考核方式及成绩评定办法:

每个实验成绩根据学生所作实验预习、实验操作、实验结果、实验态度分别计算,各占10%、40%、40%、10%计算。

实验一、二、三、四的实验成绩各占实验总成绩的15%,实验五的成绩作为实验的期末成绩占实验总成绩的40%。

 

撰稿人:

    审稿人:

  2011年9月10日      年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2