FPGA课程设计报告

合集下载

fpga在线课程设计

fpga在线课程设计

fpga 在线课程设计一、教学目标本课程旨在通过FPGA(现场可编程门阵列)在线课程设计,让学生掌握FPGA的基本概念、原理及其在数字电路设计中的应用。

通过本课程的学习,学生将能够:1.知识目标:理解FPGA的工作原理、结构及编程方法;掌握FPGA在数字信号处理、通信、嵌入式系统等领域的应用。

2.技能目标:学会使用FPGA设计工具进行电路图绘制和编程;具备分析、解决实际工程问题的能力。

3.情感态度价值观目标:培养学生对电子技术的兴趣,提高创新意识和团队合作能力,使其意识到FPGA技术在现代社会中的重要性。

二、教学内容本课程的教学内容主要包括以下几个部分:1.FPGA基本概念:介绍FPGA的定义、发展历程、特点及应用领域。

2.FPGA结构和工作原理:讲解FPGA的内部结构、工作原理及其与外部电路的接口。

3.FPGA编程方法:介绍FPGA的编程语言、开发工具及编程过程。

4.FPGA应用案例分析:分析FPGA在数字信号处理、通信、嵌入式系统等领域的具体应用。

5.实践环节:安排学生进行FPGA设计实践,巩固所学知识,提高实际操作能力。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解FPGA的基本概念、原理及其应用,使学生掌握相关理论知识。

2.案例分析法:通过分析实际案例,让学生了解FPGA在各个领域的应用,提高学生的实践能力。

3.实验法:安排实践环节,让学生亲自动手进行FPGA设计,培养学生的动手能力和创新意识。

4.讨论法:学生进行小组讨论,分享学习心得,提高团队合作能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的FPGA教材,为学生提供系统的理论知识。

2.参考书:提供相关的FPGA技术参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT、教学视频等多媒体资料,提高学生的学习兴趣。

4.实验设备:准备FPGA开发板、编程器等实验设备,为学生提供实践操作的机会。

FPGA设计的报告课程设计

FPGA设计的报告课程设计

FPGA课程设计实验报告实验一:设计一个可控的100进制可逆计数器一、实验要求用DE2-115开发板下载。

(1)计数器的时钟输入信号周期为200ns。

(2)以十进制形式显示。

(3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用clr plus minus 功能0 ××复位为01 1 0 递增计数1 0 1 递减计数1 1 1 暂停计数二、关键词可控制、可逆、100进制、复位、暂停、递增、递减三、内容摘要module updown_count(qout,reset,clk,plus,minus);output[7:0] qout;/*定义一个8位的输出,其目的是低四位和高四位分别表示计数器的个位和十位。

*/input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零reg[7:0] qout;//qout的数据类型为寄存器型always @(posedge clk)//当clk上升沿到来时执行一遍下列程序beginif(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过elsebegincase({minus,plus})//case语句模块,包含加,减和暂停四个模块2'b10:if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一beginqout[3:0]<=9;//给个位赋值if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值elseqout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一endelseqout[3:0]<=qout[3:0]-1;//个位减一/*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/ 2'b01:if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一beginqout[3:0]<=0;//若上面个位为9判断成立,则给个位赋值if(qout[7:4]==9) qout[7:4]<=0;//判断十位是否为9,若为9,则赋0elseqout[7:4]<=qout[7:4]+1;//若十位不为9,十位加一endelseqout[3:0]<=qout[3:0]+1;//个位加一/*这一部分是加计数模块,首先判断个位是否为9,若不为9,个位加1;否侧,再判断十位是否为9,若为9,十位赋0,否侧十位加1。

fpga技术课程设计

fpga技术课程设计

fpga技术课程设计一、教学目标本课程的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。

1.知识目标:通过本课程的学习,学生将掌握FPGA技术的基本概念、原理和应用,了解FPGA技术的发展趋势及其在电子工程领域的广泛应用。

2.技能目标:学生将能够熟练使用FPGA开发工具,如ISE、Vivado等,掌握FPGA编程语言,如VHDL、Verilog等,并具备一定的FPGA硬件设计和验证能力。

3.情感态度价值观目标:培养学生对FPGA技术的兴趣和热情,使其认识到了解和掌握FPGA技术对于个人职业发展的重要性,树立正确的科学态度和创新精神。

二、教学内容教学内容将根据课程目标进行选择和,确保内容的科学性和系统性。

教学大纲如下:1.FPGA技术概述:介绍FPGA的基本概念、工作原理和分类,以及FPGA技术的发展历程和趋势。

2.FPGA硬件描述语言:讲解VHDL和Verilog两种主流的FPGA硬件描述语言,包括基本语法、语句结构和常用库函数。

3.FPGA设计与验证:介绍FPGA设计的基本流程,包括设计输入、综合、布局布线和仿真验证等环节。

4.FPGA应用案例:分析典型的FPGA应用案例,如数字信号处理、网络通信、嵌入式系统等,使学生了解FPGA技术在实际工程中的应用。

5.FPGA开发工具:介绍FPGA常用的开发工具,如ISE、Vivado等,以及这些工具的使用方法和技巧。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:教师通过讲解、演示和举例等方式,向学生传授FPGA技术的基本概念、原理和应用。

2.讨论法:学生针对FPGA技术的相关话题进行讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:分析典型的FPGA应用案例,使学生了解FPGA技术在实际工程中的应用,提高学生的实践能力。

4.实验法:安排学生进行FPGA实验,让学生亲自动手操作,巩固所学知识,提高实际操作能力。

FPGA课程设计报告

FPGA课程设计报告

FPGA课程设计报告学部:信息科学与技术学部专业:通信工程班级:10级1班学号:姓名:万洁指导老师:祝宏合作伙伴:张紫君一.《任务书》:实验一 100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周)实验三多功能数字钟系统(14-15周)二.实验书写格式:一:题目要求二:程序代码三:操作步骤及运行结果截图四:心得体会三.实验附录:一:老师提供的资源二:关于实验所用EP4CE115F29板的简介实验一 100进制的可逆计数器一、设计一个可控的100进制可逆计数器,要求用实验箱下载。

(1)计数器的时钟输入信号周期为200ns。

(2)以十进制形式显示。

(3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。

二、程序如下:module keni100(CLR,CLK,PLUS,MINUS,OUT);——图在出现的输入界面内输入程序,点击file→save as,在出现的对话框中点击Yes,然后在出现的new project Wizard对话框中点击next,在Family&Device Settings 对话框中选择如下图所示的选项,在选择第三方软件的对话框中的选项选为none后点击next,在随后出现的对话框中,点击finish。

设置完成。

——图2、点击project→Set as Top-Level Entity,指向所输入的文件。

3、点击Processing→Start→Start Analysis & Synthesis。

——图4、点击File→New出现上面第一步时出现的对话框,如图,选择Vector Waveform File。

5、点击View→Utility Windows→Node Finder,在出现的对话框中点击List,如下图所示——图选择所需要的节点,将其拉到后面的Name栏中,并设置输入数据6、选择End Time:点击Edit→End Time,设置参数,如下图所示——图7、输入参数的数据设置完成后,保存,仿真图形如下图所示:——图8.点击Assigment→Settings,在出现的对话框(如图所示)中,选择Simulator Settings,在Simulation mode中选择Functional,进行功能编译。

基于fpga的简单课程设计

基于fpga的简单课程设计

基于fpga的简单课程设计一、课程目标知识目标:1. 学生能理解FPGA的基本概念,掌握FPGA的基本结构和原理;2. 学生能描述数字电路的基本组成,了解数字电路在FPGA中的应用;3. 学生能掌握Verilog HDL语言的基本语法和编程方法,并运用其设计简单的数字电路。

技能目标:1. 学生能运用FPGA设计软件进行电路设计和仿真;2. 学生能通过Verilog HDL编程实现基本的数字电路功能;3. 学生能对设计的FPGA电路进行调试和优化,提高电路性能。

情感态度价值观目标:1. 培养学生积极主动探索新知识、新技术,增强其对电子工程领域的兴趣;2. 培养学生具备团队协作精神,学会与他人共同解决问题,提高沟通与表达能力;3. 培养学生具备工程素养,关注工程伦理,认识到科技发展对社会的重要意义。

课程性质:本课程为实践性课程,注重培养学生的动手能力和创新能力。

学生特点:学生具备一定的电子技术基础,对FPGA技术有一定了解,具备基本的计算机操作能力。

教学要求:教师需结合学生特点和课程性质,采用任务驱动、案例教学等方法,引导学生主动参与课堂实践,提高学生的实际操作能力。

同时,注重培养学生的自主学习能力和团队合作精神,提高学生的综合素质。

通过课程目标的分解与实施,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。

二、教学内容1. 数字电路基础- 数字逻辑基础:逻辑门、逻辑函数、逻辑代数;- 组合逻辑电路:编码器、译码器、多路选择器、算术逻辑单元;- 时序逻辑电路:触发器、计数器、寄存器。

2. FPGA基本原理- FPGA结构:逻辑单元、查找表、寄存器、布线资源;- FPGA编程原理:配置、重配置、上电配置;- FPGA设计流程:设计输入、综合、布局布线、仿真、下载。

3. Verilog HDL编程- 基本语法:模块、端口、信号、数据类型;- 语句结构:顺序语句、并行语句;- 基本数字电路设计:组合逻辑电路、时序逻辑电路、状态机。

FPGA课程设计报告

FPGA课程设计报告

FPG课程设计—256个8位计数器技术规范一、实现功能:用一个8×256的单口RAM完成256个8位计数器,计数器的初值分别为0-255,时钟频率为10MHz,计数器计数频率为5/256MHz。

具体功能描述如下:1、分频模块:时钟频率为10MHz,要实现计数器计数频率为5/256MHz,将其时钟频率进行2分频送入。

每来一个时钟,计数器计一个数。

第一个时钟来时,第一个计数器计1,此时,此计数器中的值变为1,其余的计数器中的值不变,以此类推,直到第256个时钟来时,第256个计数器计1,计数器中的值255变为0,以此类推,完成256个8位计数器,得到计数器计数频率即为5/256MHz。

2、8x256的单口RAM模块:定义一块内存为8x256的单口RAM,只有一条地址线,读写共用一个地址单元,当使能信号we=1时,写有效,可以将数据写入RAM,当使能信号we=0,读有效,可以将RAM中的值输出。

3、写模块:当时能信号we=1时,写有效,当clk的上升沿到来时,可以将数据写入寄存器,在时钟的上升沿和reset的下降沿时,如果reset=0,则地址addr=0,计数器a=0;否则,如果使能信号we=1,地址addr递加,当addr大于255时,addr=0,计数器a=a+1,将addr+a送入数据输入data_in.。

二、系统I/O管脚的描述:三、拟选用的FPGA类型:ep1cq240c8n总体设计方案一、整体设计方案我构想了如下两个总体设计方案:第一个总体设计方案:将10MHz的时钟clk_in通过分频器进行2分频送入系统clk,触发条件是clk的上升沿,这就可以实现计数器计数频率为5/256MHz。

由于是单口RAM,所以只有一条地址线,要么只能写入数据,要么只能读出数据。

因此,我先将所有的寄存器清零,将0—255这256个计数器初值分别送入256个寄存器,此时采用一个加法计数器完成。

然后每来一个时钟clk,计数器中的值计1,同时地址加1,即第一个寄存器的0变成1,地址加到第二个寄存器,以此类推,完成256个8位计数器的计数,并且将计数器的值读出。

fpga课程设计总结

fpga课程设计总结一、教学目标本课程的教学目标是使学生掌握FPGA的基本原理、设计和应用。

具体来说,知识目标包括:了解FPGA的基本结构和工作原理;掌握FPGA的编程语言和设计方法;熟悉FPGA在数字信号处理、嵌入式系统等方面的应用。

技能目标包括:能够使用FPGA设计简单的数字系统;能够使用FPGA进行嵌入式系统设计;能够进行FPGA的编程和调试。

情感态度价值观目标包括:培养学生的创新意识和团队合作精神;使学生认识到FPGA技术在现代科技中的重要地位和应用价值。

二、教学内容根据课程目标,教学内容主要包括FPGA的基本原理、设计和应用。

具体包括以下几个方面:1. FPGA的基本结构和工作原理;2. FPGA的编程语言和设计方法;3. FPGA在数字信号处理、嵌入式系统等方面的应用;4. FPGA的设计工具和实验方法。

三、教学方法为了达到课程目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

通过这些方法,我们将引导学生从不同角度理解和掌握FPGA技术和应用。

具体来说:1. 讲授法:通过讲解FPGA的基本原理、设计和应用,使学生掌握相关知识;2. 讨论法:通过分组讨论和课堂讨论,引导学生深入思考和理解FPGA技术;3. 案例分析法:通过分析实际案例,使学生了解FPGA在实际应用中的优势和局限;4. 实验法:通过FPGA实验,使学生掌握FPGA的设计和编程方法,提高实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1. 教材:选用权威、实用的教材,为学生提供系统、全面的学习材料;2. 参考书:推荐一些与FPGA相关的参考书,拓展学生的知识视野;3. 多媒体资料:制作课件、视频等多媒体资料,提高课堂教学效果;4. 实验设备:准备FPGA实验设备,为学生提供实践操作的机会。

五、教学评估本课程的评估方式包括平时表现、作业和考试等。

平时表现主要评估学生的课堂参与、提问和讨论等情况,占总评的20%。

FPGA课程设计实验报告

1.标题多功能数字钟电路的分层次设计2. 内容摘要设计一个具有时、分、秒计时的电子钟电路,按24小时制计时。

①准确计时,以数字形式显示时、分、秒的时间;②具有分、时校正功能,校正输入脉冲频率为1Hz;③具有仿广播电台整点报时的功能,即每逢59分51秒、53秒、55秒、57秒时发出4声500Hz低音,在59分59秒发出一声1KHz高音,它们的持续时间均为1秒,最后一声高音结束时刻恰为正点时刻;④具有定时闹钟功能,且最长闹铃时间为1分钟。

3. 总体方案或工作原理示意框图(或流程图)①模24计数器的Verilog HDL设计(counter24.v)小时计数器的计数规律为00—01—…—22—23—00…,即在设计时要求小时计数器的个位和十位均按BCD码计数。

②模60计数器的Verilog HDL设计(counter60.v)分和秒计数器的计数规律为00—01—…—58—59—00… ,可见个位计数器从0~9计数,是一个10进制计数器;十位计数器从0~5计数,是一个六进制计数器。

可以先分别设计一个十进制计数器模块(counter10.v)和一个六进制计数器模块(counter6.v),然后将这两个模块组合起来,构成六十进制计数器。

4. 顶层逻辑电路图组成及原理简单叙述仿真波形如下:分析结论:经仿真波形分析①走时正常;②能〝校时〞〝校分〞;③整点报时;④时段控制到位。

功能完全符合设计要求,可以下载。

5. 对应各模块功能仿真波形(数据分析)分析及结论1、小时计时模块:仿真波形:当小时的高四位为0、1时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当小时的高四位为2,同时低四位为3时,小时的高低四位都清零。

实现从00到23的循环计数。

2、分钟计时模块:仿真波形:当分钟的高四位为0、1、2、3、4时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当分钟的高四位为5时,同时低四位为9时,分钟的高低四位都清零,实现从00到59的循环计数。

fpga课程设计报告

第一部分 EDA技术的仿真1、奇偶校验位产生器1.1奇偶校验位的技术要求奇偶校验是通信中常用的一种数据校验方式,试设计一个奇偶校验位产生器,根据输入字节(8位)产生相应的奇偶校验位(1的个数为奇数时输出低电平,即奇校验位为1)和偶校验位(1的个数为偶数时输出高电平,即偶校验位为1)1.2奇偶校验位的原理通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。

在被校验的数据后加一位校验位或校验字符用作校验码实现校验。

其生成方法是:奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”;偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”。

1.3奇偶校验位的功能及其仿真波形奇偶校验位的功能具体见下表所示:输入8位的二进制序列奇校验位even偶校验位odd1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1其具体实现程序如下所示:module parity(data,odd,even);input [0:7]data;output odd,even;assign odd=^data;assign even=~odd;endmodule根据程序我们得到如下的仿真波形:图1 奇偶校验位仿真波形中国计量学院信息工程学院课程设计报告P.22、十六位数据选择器2.1数据选择器的原理在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。

在数据选择器中,我们设定一个控制输入端ENA ,当ENA=1时,电路不能工作,输出Y=0;而当ENA=0时,电路才处于工作状态。

由于我们设计的是16选1数据选择器,因而其有4个数据控制端,即S0,S1,S2,S3,根据这4个控制端的状态有选择性的输出。

fpga简单课程设计

fpga简单课程设计一、教学目标本课程旨在让学生了解FPGA(现场可编程门阵列)的基本概念、特性和应用,掌握FPGA的基本编程和设计方法,培养学生的创新意识和实践能力。

知识目标:使学生了解FPGA的基本原理、结构和工作原理,熟悉FPGA的编程语言和开发环境,掌握FPGA的基本设计方法和流程。

技能目标:培养学生使用FPGA相关软件进行简单程序设计和调试的能力,使学生具备分析和解决实际问题的能力。

情感态度价值观目标:培养学生对电子技术的热爱,激发学生创新和实践的兴趣,培养学生的团队合作意识和综合素质。

二、教学内容本课程的教学内容主要包括FPGA的基本概念、FPGA的编程语言和开发环境、FPGA的基本设计方法和流程、以及FPGA在实际应用中的案例分析。

具体包括以下几个部分:1.FPGA的基本概念:介绍FPGA的定义、特点和应用领域。

2.FPGA的编程语言:介绍VHDL和Verilog这两种常用的FPGA编程语言。

3.FPGA的开发环境:介绍FPGA开发过程中所使用的软件工具,如ISE、Altera等。

4.FPGA的基本设计方法:介绍FPGA设计的流程,包括硬件描述语言的编写、逻辑综合、布局布线、编程和调试等。

5.FPGA的应用案例:分析FPGA在实际应用中的案例,如数字信号处理、嵌入式系统等。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,使学生了解和掌握FPGA的基本概念、原理和方法。

2.讨论法:引导学生针对实际问题进行思考和讨论,培养学生的创新意识和解决问题的能力。

3.案例分析法:分析FPGA在实际应用中的案例,使学生了解FPGA的应用领域和设计方法。

4.实验法:让学生动手进行FPGA的设计和调试,提高学生的实践能力和动手能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用国内外优秀的FPGA相关教材,为学生提供系统的理论知识和实践指导。

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

FPGA课程设计报告学部:信息科学与技术学部专业:通信工程班级:10级1班学号:************姓名:***指导老师:***合作伙伴:张紫君2012.12.13一.《任务书》:实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周)实验三多功能数字钟系统(14-15周)二.实验书写格式:一:题目要求二:程序代码三:操作步骤及运行结果截图四:心得体会三.实验附录:一:老师提供的资源二:关于实验所用EP4CE115F29板的简介实验一100进制的可逆计数器一、设计一个可控的100进制可逆计数器,要求用实验箱下载。

(1)计数器的时钟输入信号周期为200ns。

(2)以十进制形式显示。

(3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。

二、程序如下:module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器input CLR,PLUS,MINUS,CLK;output [7:0]OUT;reg [7:0]OUT;always@(posedge CLK)beginif(!CLR) //如果CLR为零,输出为零;反之,运行else程序OUT[7:0]<=0;elsebeginif(PLUS==0 && MINUS==1) //100进制的递减计数beginif (OUT[3:0]==0)beginOUT[3:0]<=9;if (OUT[7:4]==0) OUT[7:4]<=9;elseOUT[7:4]<=OUT[7:4]-1;endelse OUT[3:0]<=OUT[3:0]-1;endif(PLUS==1 && MINUS==0) //100进制的递增计数beginif (OUT[3:0]==9)beginOUT[3:0]<=0;if (OUT[7:4]==9) OUT[7:4]<=0;elseOUT[7:4]<=OUT[7:4]+1;endelse OUT[3:0]<=OUT[3:0]+1;endif(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零endendendmodule三、运行程序1、在quarters II9.1输入程序打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.——图1.1 在出现的输入界面内输入程序,点击file→save as,在出现的对话框中点击Yes,然后在出现的new project Wizard对话框中点击next,在Family&Device Settings 对话框中选择如下图1.2所示的选项,在选择第三方软件的对话框中的选项选为none后点击next,在随后出现的对话框中,点击finish。

设置完成。

——图1.22、点击project→Set as Top-Level Entity,指向所输入的文件。

3、点击Processing→Start→Start Analysis & Synthesis。

——图1.34、点击File→New出现上面第一步时出现的对话框,如图1.1,选择Vector Waveform File。

5、点击View→Utility Windows→Node Finder,在出现的对话框中点击List,如下图1.4所示——图1.4选择所需要的节点,将其拉到后面的Name栏中,并设置输入数据6、选择End Time:点击Edit→End Time,设置参数,如下图1.5所示——图1.57、输入参数的数据设置完成后,保存,仿真图形如下图1.6所示:——图1.68.点击Assigment→Settings,在出现的对话框(如图1.7所示)中,选择Simulator Settings,在Simulation mode中选择Functional,进行功能编译。

——图1.78、点击Processing→Generate Functional Simulation Netlist9、点击Processing→Start Simulation,进行仿真。

四、仿真结果:——图1.8如上图1.8所示,当CLR为0时,OUT清零;当CLR为1时,OUT 开始输出,当PLUS=1,MINUS=0时,OUT开始递加;——图1.9如图 1.9所示,当PLUS=1,MINUS=1时,OUT暂停计数;当PLUS=0,MINUS=1时,OUT开始递减。

五、封装在quartus II11.0中点击file→open project,在弹出的对话框中选择counter100文件,单击右键选择Creat Symbol File for Current File——图1.10上图1.10为counter100的封装图,在quartus中打开此图,双击,将会看到counter100的程序.六、试验箱下载将编好的程序应用于硬件上进行验证,所用的电路板子是:EP4CE115F29C7 外观如下图1.11所示:——图1.111.安装硬件在安装向导中选择如下图1.12所示的安装路径,点击确定。

——图1.122、硬件安装完毕后,在quartus11.0中封装图连接,如下图图1.13——图1.13封装模块div和decode4_7是辅助模块,div是分频模块,decode4_7是译码部分。

(相关程序在报告后面的附件)3、图形连接完毕后,单击File→Save as,确定,修改设置,如下图图1.14所示:——图1.144、单击Processing→Start Compilation,进行编译,没有错误后进行下一步。

编译结果如下图1.15所示。

——图1.155、单击Tools→Programmer,在弹出的对话框中,单击Hardware 弹出一个对话框,选择USB-Blaster[USB-0],如下图1.16所示6、点击Start,开始运行。

——图1.16七、硬件部分照片截图——图1.17如图1.17所示Clk(sw[3])与Clr(sw[0])置为1时,将Plus (sw[1])置为1,Minus(sw[2])置为0,开始从0递增,图为到99时,将Plus与Minus都置为1,暂停计数为99;——图1.18如图1.18,1.19所示,下一时刻,数码管显示为0,重新开始递增计数;——图.1.19将Plus(sw[1])置为0,Minus(sw[2])置为1,开始从99递减计数。

八.实验总结:此次实验,花费的时间有些长,主要是因为代码的编写方面以及封装及连接图方面的不太的熟练,在他人的指导及自己的反复操作练习下,终于完整的完成了第一个实验,很开心。

这次实验,我收获的是对FPGA软件的运用和熟练,也收获了代码编写的积累与熟悉,充分感受到了代码与软件运用,与硬件器件所展现的知识与实践的相统一,体味到了实验的趣味性。

实验二交通灯控制系统一、交通灯控制系统,要求用实验箱下载。

(1)设计一个十字路口交通信号灯的定时控制电路。

要求红、绿灯按一定的规律亮和灭,绿灯亮时,表示该车道允许通行;红灯亮时,该车道禁止通行。

并在亮灯期间进行倒计时,并将运行时间用数码管显示出来。

(2)要求主干道每次通行时间为40秒,支干道每次通行时间为30秒。

每次变换运行车道前绿灯闪烁,持续时间为5秒。

即车道要由主干道转换为支干道时,主干道在通行时间只剩5秒钟时,绿灯闪烁5秒显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。

同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。

(3)定时器要求采用递减计时方式进行计时。

两个定时时间:绿灯闪烁和绿灯停止闪烁4个状态:S0:主干道绿灯亮,支干道红灯亮。

S1:主干道绿灯闪烁,支干道红灯亮。

S2:支干道绿灯亮,主干道红灯亮。

S3:支干道绿灯闪烁,主干道红灯亮。

二.程序如下:module traffic00 (clk,en,lampar,fag,lampbr,fbg,numa,numb);input clk,en;output [7:0]numa,numb;reg [7:0]numa,numb;//计时显示output fag,fbg,lampar,lampbr; //fag:flash a greenreg lampar,lampag,lampbr,lampbg;//表示主路?路共四个灯reg tempa,tempb; //装入计数reg [2:0] counta,countb;//灯亮的顺序reg [7:0] ared,agreen,bred,bgreen;always @(en)if(!en)begin // 设置各种灯的预置数ared <=8'b00110000;agreen <=8'b01000000;bred <=8'b01000000;bgreen <=8'b00110000;endalways @(posedge clk)beginif(en)beginif(!tempa)begin tempa<=1;case(counta) //控制灯亮的顺序0: begin numa<=agreen;lampag<=1;lampar<=0;counta<=1; end1: begin numa<=ared; lampag<=0;lampar<=1;counta<=0; enddefault: lampar<=1;endcaseendelse begin //倒计时if(numa>8'b00000001)begin if(numa[3:0]==0)begin numa[3:0]<=4'b1001; numa[7:4]<=numa[7:4]-1;endelse numa[3:0]<=numa[3:0]-1;endif(numa==8'b0000010) tempa<=0;endendelse begin lampar<=1;lampag<=0;counta<=0;tempa<=0; endEnd三.运行程序步骤与实验一的步骤基本相同,可参照实验一的步骤。

相关文档
最新文档