工程教育中级报告2

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

工程教育中级报告
题目: FPGA实验板设计
专业通信与信息工程
学号 07125110
学生姓名柴秋云
目录
1.绪论(对FPGA的认识)-----------------------------------------2
2.第一章(硬件组成,软件设计流程)-----------------------------2
3.第二章(对VERILOG的简单描述)---------------------------------4
4.第三章(实验目的及内容)--------------------------------------5
5.第四章(程序简介)---------------------------------------------5
6.第五章(总结)-------------------------------------------------6
7.第六章(参考文献)---------------------------------------------9
绪论对FPGA的认识
FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA这样一个概念,内部包括可配置逻辑模块CLB、输出输入模块IOB和内部连线三个部分。

FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

FPGA主要生产厂商:
1、Altera
2、Xilinx
3、Actel
4、Lattice
其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。

Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。

第一章硬件组成以及软件设计流程
一硬件组成
1块电路板,8个发光二极管,8个电阻,5个数码管,1个下载端口,1个下载芯片,9个按键,一片FPGA芯片,一根正极电线,一根负极电线,
二软件设计流程
(1)打开quartus 2软件,进入编辑环境。

(2)新建一个项目(文件扩展名为.qpf),选择芯片类型为cyclone系列的EP1C6T144C8芯片。

(3)点开新建文件窗口,选择block或者verilog file,进行程序设立。

(4)画原理图或者verilog程序输入,保存,编译,查错,直至通过编译。

(5)点开新建文件窗口,选择“vector waveform file”,建立波形仿真文件(文件扩展名为.vwf)。

(6)选择需仿真的节点:定义输入节点的波形;保存;开始波形仿真。

查仿真波形有无错误,有错返回修改verilog程序或者原理图,直到结果正确。

(7)分配管脚。

(8)保存,再次编译。

(9)选择Assignments->device->configuration,选择EPCS1类型,编译。

(10)连上数据线,将数据线接上实验电板和主机插口。

(11)进行烧写,选择active serial progamming模式以及ByteBlasterMV[LPT1]口( program configure项应该打勾)。

(12)观察实验结果,看是否在硬件上能够正确运行,如果不是则继续查错。

第二章对verilog的简单描述
Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。

设计者可用它进行各种级别的逻辑设计,可用它进行数字逻辑系统的仿真验证,时序分析,逻辑综合。

它是目前应用最广泛的以中国硬件描述语言。

因为数电课上学过VHDL,CPLD实验的时候用过VHDL,所以不免会将VERILOG HDL与VHDL做个比较。

Verilog HDL和VHDL相比,最大的优点就是,它比VHDL更容易掌握。

但是VERILOG HDL在系统级抽象方面比VHDL略差一些,而在门级开关电路描述方面比VHDL强得多。

VERILOG是一种自顶向下的设计,在高层次上往往编写一些行为级的模块,并通过仿真加以验证,其主要目的是系统性能的总体考虑和各模块的指标分配,并非具体的电路的实现,因为综合及其以后的步骤往往不需进行。

而当设计的层次比较接近底层时,行为描述往往需要用电路逻辑来
实现,这时的模块不仅需要通过仿真加以验证,还需要进行综合,优化,布线和后仿真。

第三章实验的目的及内容
一实验目的
1 掌握FPGA的工作原理,特点以及使用方法。

2 熟悉常用按钮以及数码管的使用。

3 掌握缓冲器的工作原理以及其应用方法。

二实验内容
一分频器
在FPGA的输出频率为16384000HZ的前提下要求实际程序输出的频率应为1HZ。

也就是说,需要得到流水灯为1秒钟亮一个,数码管为一秒钟显示一次。

要求将分频器的输出接入下一级的使能段,目的是为了统一时钟域。

二发光二极管
一共有八个发光二极管,要求是按照一秒钟为周期从左至右依次流水点亮,第八个灯亮好以后再跳回第一个灯,使得第一个灯亮,再依次流水。

三数码管显示
用八位的数码管显示器显示,频率也是1HZ,以0~9为显示周期,显示完9以后再跳回零,依次继续显示。

注意的是,实验板中的数码管为共阳输出。

四按键控制
用两个按键进行控制,按键J1按下去时为从左至右流水灯依次显示,数码管也是开始以1HZ频率计数;J1抬起时,表明暂停,同时暂停流水灯
和数码管;按键J2按下表明清零,同时清零流水灯和数码管。

值得注意的是,在分配管脚时,按键的管脚并不如发光二极管的那么简单,每一个按键都是由两根线来控制的,一根为上拉,一根为接地。

按键示意图:
第四章程序简介
一分频器:
module divide(clk,en);
input clk;
output en;
reg en;
reg[23:0] cnt;
always@(posedge clk)
begin
if(cnt==16384000)
begin
cnt<=0;
en<=1;
end
else
begin
cnt<=cnt+1;
en<=0;
end
end
endmodule
二流水灯
module lsd(clk,l,rst,en1,en2); input clk,rst,en1,en2;
output [7:0] l;
reg[7:0] l;
reg[2:0] q;
always@(posedge clk)
begin
if(en1==0||en2==0)
q<=q;
else
begin
if(rst==0)
q<=0;
else
q<=q+1;
case(q)
3'd0:l=8'b00000001;
3'd1:l=8'b00000010;
3'd2:l=8'b00000100;
3'd3:l=8'b00001000;
3'd4:l=8'b00010000;
3'd5:l=8'b00100000;
3'd6:l=8'b01000000;
3'd7:l=8'b10000000;
default:l=8'b00000000;
endcase
end
end
endmodule
三数码管
module smg(clk,l,rst,en1,en2); input clk,rst,en1,en2;
output[6:0]l;
reg[6:0]l;
reg[3:0]q;
always @(posedge clk)
begin
if(en1==0||en2==0)
q<=q;
else
begin
if(rst==0)
begin
q<=0;
l=8'b00000011;
end
else
begin
if(q==9)
q<=0;
else
q<=q+1;
end
begin
case(q)
4'd0:l=7'b0000001;
4'd1:l=7'b1001111;
4'd2:l=7'b0010010;
4'd3:l=7'b0000110;
4'd4:l=7'b1001100;
4'd5:l=7'b0100100;
4'd6:l=7'b0100000;
4'd7:l=7'b0001111; 4'd8:l=7'b0000000; 4'd9:l=7'b0000100; default:l=8'b0000000; endcase end end end
endmodule
四 按键
module aj(st,qs); input st; output qs; assign
qs=!st; endmodule
五 原理图:
VCC
cp
INPUT VCC
st
INPUT l[7..0]
OUTPUT
s[7..0]
OUTPUT
c3OUTPUT
bc
OUTPUT dp
OUTPUT st qs
aj
inst
clk en
div ide
inst1
clk rst en1en2
l[7..0]
lsd inst8
VCC
clk
rst en1en2
l[7..0]
smg inst13
GND
GND
VCC
rst
INPUT
第五章总结
这次学习了工程教育中级,我的感悟颇深。

因为这次的学习完全是通过自己的双手,和动脑来完成的。

这次老师绝对不是像专业课堂上那样,一步一步的手把手教,一句一句的叮咛重点,所有的一切都是在老师开始的简单介绍与演示下,通过自己的推敲去慢慢发现问题的所在,从而达到解决问题的目的。

老师这次的角色便成为了慢慢带领我们走向成功的指明灯,比起手把手一步一步的教我们做,工程教育中级的特点实践性就由此变得更加明显了。

因为接触一个新的软件,新的语言,不免会碰到这样那样的问题,通过自己发现问题,从而做到解决问题,实在是认为有困难,便会找老师,由老师给与最专业也是最有效的解答。

在这近10周的日子中,我从一个完全不懂什么是Verilog语言的人,变成现在懂得一些基本运用,也能尝试调试编写一些小程序的人;我从一个完全不认知何为quartus2软件的人,变成现在已经能够熟练运用软件的基础部分的人,这些都要归功于实践,只有在不断地实践之中才能最终不断发现问题去予以解决。

解决的方法有很多,通过翻阅不同的参考文献,通过不断仿真程序,通过和同组的同学一同努力探讨问题,实在不行,便会询问老师,有时候老师的解答便会让我们很郁闷,因为很多时候确实是一个很低级的问题,从而导致整个程序无法正常的运行,不过,老师并没有嘲笑我们,而是给了我们更多的鼓励与自信,同时,这些问题也就更让我牢记在心,不会再犯第二次了。

通过这短短的十周时间,我更能了解到,其实普普通通的我们也能成为一个“工程师”,虽然我们编的程序还很有漏洞,虽然我们的语言还是很生疏,虽然我们的思维可能并不是很灵活,虽然我们还是需要在不断地失败中成长,但是这一切并不会打败我们,因为,这次的工程教育中级已经燃起了我对这一领域的求知欲,可能我之后的路途还很遥远,但是,我相信,只要我能够坚持下去,在以后的生活学习中继续磨练自己,也就一定会取得相应的成功。

也许工程师需要的资质,我现在还差许多许多,因为,就像张老师说的那样,毕竟不
工程教育(中级)
是人人都能做工程师的。

但是只要自己肯继续在实践中发现自己,完善自己,其实,工程师也并不遥远!
第七章参考文献
1、赵伟良,丁晓青《工程教育中级实验指导书》上海大学通信学院电子电工实验中心
2 夏宇闻《verilog数字系统设计教程》北京航空航天大学出版社
3 王金明《verilog HDL 程序设计教程》PDF版
4 王钿卓兴旺《基于verilog HDL的数字系统应用设计》国防工业出版社
10。

相关文档
最新文档