第1篇:FPGA使用入门实验报告示例
FPGA使用入门实验报告示例
一.实验目的
(1) 掌握ISE 13.2集成开发环境和Modelsim软件的使用方法;
(2) 熟悉S6 Card实验板的.使用方法。
(3) 掌握使用Verilog HDL语言实现常用组合逻辑和时序逻辑的方
法。
(4) 了解Chipscope的功能与使用方法。
二. 实验内容
(1) 熟悉S6 CARD实验板;
(2) 熟悉ISE集成开发环境;
(3) 3比特加法器仿真与上板实验
(4)m序列产生器仿真与在板Chipscope调试。
三. 实验过程依照指导书进行
四. 实验代码分析
(1)3bit加法器(见注释)
module m_seq_gen(
//端口I/O定义
input clk,//定义clk为输入类型
input reset,//定义resert为输入类型
output seq//定义seq为输出类型
);
//内部信号说明
reg [3:0] state;//定义变量state,为寄存器型,位宽为4
//功能定义
always @(posedge clk or negedge reset)//当clk上升沿来到或者reset下降沿来到,//触发敏感事件,执行以下程序
begin
if(!reset)//如果不是reset下降沿来到
state <= 4b1111;//state输出结果为4位的二进制数字1111
else
begin
state[3:1] <= state[2:0];//state从第二位到第四位输出结果为其第一位//到第三位的数值
state[0] <= ^(state & 4b1001);//state第一位输出结果为state原来的//值与二进制数1001相与的结果
end
end
assign seq = state[0]; //连续赋值,将state第一位值赋给seqEndmodule
(2)m序列测试文件代码分析(见注释)
module test_m;
// Inputs,将clk和reset定义为寄存器类型
reg clk;
reg reset;
// Outputs
wire seq;//将seq定义为连线类型
// Instantiate the Unit Under Test (UUT)
m_seq_gen uut (
.clk(clk),
.reset(reset),
.seq(seq)
);
initial begin
// Initialize Inputs,将初始值均设为0
clk = 0;
reset = 0;
// Wait 100 ns for global reset to finish
#100;
reset = 0;
#50 reset = 1;
// Add stimulus here
end
always #10 clk = ~clk;//产生测试时钟,延时10s后使时钟取反endmodule
五. 实验仿真结果分析
1.3比特加法器(见注释)
(1)功能仿真波形
由上图可知加法器功能正常,且当a、b之和大于7时产生进位
(2)时序仿真波形
板子上拨码开关的6、7、8和1、2、3分别作为加法器的输入,D1-D4 LED灯分别表示cout和sum,拨动拨码开关,观察
LED
的变化。
实验板实照
由上图可证程序运行正常,3比特加法成功
2. m序列产生器
(1)产生原理:每一个周期内,第一个和第四个寄存器的值作异或
运算后,寄存器移位,运算出的值赋给第一个寄存器,构成新的系统寄存器状态值。
(2)功能仿真波形
第一行为时钟信号,第二行为重置信号,第三行为输出的m序列。
(3)Chipscope波形
第2篇:FPGA实验报告
FPGA实验报告
专业:XXX 姓名:XXX 学号:XX
一:实验目的 1.熟悉Modelsim和Quartus II软件的运行环境和使用
2.熟练使用Quartus II仿真软件生成网表。
3.熟悉FPGA前仿真和后仿真的整个流程。二:实验内容
编写counter计数器,在Quartus II仿真软件中生成网表,再在Modelsim中进行后仿真。三: 实验步骤
1.在Modelsim编写源程序(counter计数器及激励),编译源文件,确保程序的正确性,并进行前仿真,生成波形图如下:
附:源程序如下:
module counter(q,clk,reset);
input clk,reset;
output [3:0] q;
reg [3:0] q;
always @(posedge reset or negedge clk)
if(reset)
q
else
q
reg CLK,RESET;
wire [3:0] Q;
counter c1(Q,CLK,RESET);
initial
CLK=1'b0;
always
#1 CLK=~CLK;
initial
$monitor($time,“Q=%d”,Q);
initial
begin
RESET=1'b1;
#5 RESET=1'b0;
#180 RESET=1'b1;
end endmodule 2.新建文件夹,将源程序counter.v放进去。然后启动Quartus II仿真软件,生成网表。
1).在【File】下拉菜单中选中New Project Wizard选项,出现对话框。并指定工程工作目录、工程名称和顶层模块名,如图(a)所示。
2).添加(Add)counter.v文件。如图(b)所示。
3).选择器件系列
4).指定其它EDA工具,如图(d)所示。
5).完成工程设置,如图(e)所示。
6).单击启动编译按钮,完成工程的编译。
7).选中【proceing】-【Start】-【Start analysis & synthesis】进行综合和分析。
(a)
(b)
(c)
(d)
(e)
8).选中【Tools】-【Netlist viewer】-【RTL viewer】生成网表如下图所示:
3.新建文件夹,将生成的vo,sdo文件,altera时延文件cyclone-atoms.v及编写的top.v文件拷入,在Modelsim中进行后仿真。
1).新建工程,向工程中添加vo,top,及时延文件。
2).将vo文件时延尺寸改为ns,并在top程序的首部添加命令:`timescale 1 ns / 1 ns。
3).编译并进行仿真,生成波形图如下:
四:心得体会
通过本次实验,我基本熟悉掌握了前仿真、后仿真的整个实验步骤及流程,熟练掌握了Modelsim和Quartus仿真软件的使用方法。
第3篇:FPGA秒表实验报告
课程设计报告
专业班级 课 程 题 目 秒表的设计 学 号 姓 名 同 组 人 成 绩
2013年5月
一、设计目的1.进一步熟悉七段码译码器的硬件接口。2.掌握用扫描方法驱动多个数码管硬件接口。3.掌握秒表VHDL的编程方法。
二、系统总体设计(1).设计要求:
1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。
2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。
(2).实验
第4篇:FPGA交通灯实验报告
交通灯实验报告
一,实验目的实现两路信号灯交替亮起,并利用两组数码管分别对两路信号进行倒计时。
两路信号时间分别为:
V:绿灯(30S)
H:红灯(35S)
黄灯(5s)
绿灯(30S)
红灯(35S)
黄灯(5S)
二,实验步骤 建立工程
可在欢迎界面点击“Creat a New Project”进入工程建立界面,亦可关闭欢迎界面,点击菜单栏的“File”,点击“New Project Wizard”进入建立工程界面。右侧为建立工程界面,点击next。
在此界面选定工程路径,取好工程名,点击“Next”。注意:路径中不能有中文,工程名也不能有中文。
一直点击“Next”进入器件设置界面,DE2-70开发工具采用的Cyclone II系列的EP2C70F896C6N。点击“Finish”,完成工程建立
1、点击“Fil
第5篇:FPGA可调数字时钟实验报告
浙江大学城市学院
实验报告纸
一、实验要求
1、用vhdl编程,实现10进制计数器
2、用vhdl编程,实现60进制计数器
3、用vhdl编程,实现数字时钟,时、分、秒、毫秒分别显示在数码管上。
4、实现可调数字时钟的程序设计,用按键实现时、分、秒、毫秒的调整。
二、实验原理
用VHDL,行为级描述语言实现实验要求。思路如下:
1、分频部分:由50MHZ分频实现1ms的技术,需要对50MHZ采取500000分频。
2、计数部分:采用低级影响高级的想法,类似进位加1的思路。对8个寄存器进行计数,同步数码管输出。
3、数码管输出部分:用一个拨码开关控制显示,当sw0=0时,四位数码管显示秒、毫秒的计数。当sw0=1时,四位数码管显示时、分得计数。
4、调整部分:分别用四个按键控制时、分、秒、毫秒的数值。先由一个开关控制计
第6篇:FPGA实验报告北航电气技术实验
FPGA电气技术实践
实验报告
院(系)名称 专业名称 学生学号 学生姓名 指导教师
宇航学院
飞行器设计与工程(航天)
XXXXXXXX
XXXXXX
XXXX
2017年11月XX日
`
` 实验一
四位二进制加法计数器与一位半加器的设计 实验时间:2017.11.08(周三)晚
实验编号20
一、实验目的1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。
2、掌握简单逻辑电路的设计方法与功能仿真技巧。
3、学习并掌握VHDL语言、语法规则。
4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。
二、实验原理
.略
三、实验设备
1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套
四、调试步骤
1四位二进制加法计数器
(1)参照指
第7篇:FPGA中同步FIFO的使用小结
FPGA中同步FIFO的使用小结
FPGA中的FIFO,分为同步FIFO,异步FIFO和双向FIFO。同步FIFO一般用于数据的缓存,异步FIFO一般用于跨时钟域的同步上。在这里只讨论同步FIFO的使用。
由于课题中要用FPGA做图像处理,生成3*3的模板。首先我们来分析图像数据的传输方式,线阵CCD1209D为2048个有效像元,经AD采样,每行有2048个图像数据,以串行数据流的形式来传输的,一个时钟周期传输一个像素数据。图像在交由算法模块处理之前要将得到的串行数据变成并行数据,3*3模板就是一个串并转换模块,串行数据经过此模块后变为并行输出。在图像处理算法中的实现过程若选用3*3模板,该滑动窗在某一个时刻读取图像的某个像素和其相邻像素,经过相关的处理后,用处理结果取代模板中间位置的像素值并传
第8篇:实验一 SQL SERVER 入门实验报告
实验一
SQL SERVER 2008环境
一、实验目的1、了解SQL SERVER 2008的安装过程中的关键问题;
2、掌握通过SQL Server Management Studio管理数据库服务器、操作数据库对象的方法;
3、掌握数据库的还原与备份操作。
二、实验过程
1、启动SQLSERVER服务 实验室机器上既安装了SQL Server 2008服务器端工具又安装了客户端工具,在使用客户端工具SQL Server Management Studio连接数据库引擎之前,需要将本地数据库引擎服务启动,启动方法如下:(1)打开配置管理器 开始菜单——>所有程序——> Microsoft SQL Server 2008——>配置工具——>SQL Server配置管理器
(2)启动SQL Server