FPGA 简单的组合逻辑电路设计实验报告
- 格式:doc
- 大小:267.00 KB
- 文档页数:7
实验一 组合逻辑实验一、实验目的:1.学习Xilinx 软件的基本使用;熟悉FPGA 的现场可编程特性2.初步掌握用硬件描述语言(HDL )设计电路的方法;掌握top-down 设计方法,并利用FPGA 来实现简单的组合电路3.了解3-8译码器的性能与特点;学习利用多种描述方式实现功能。
4.学习modelsim 仿真工具的使用方法,掌握各种仿真流程与实现方法。
二、实验任务:1、本实验要求利用FPGA 实现常用的标准3-8译码逻辑电路。
利用MODELSIM6.1观察结果。
2、分别利用IF 语句和CASE 语句两种方法实现。
3、用testbench waveform 建立合适的测试向量,看行为仿真和布线后仿真波形。
4、试建立一个顶层文件,将原实现的实体作为元件,重新编译和仿真。
判别在相同测试向量下,行为仿真与布线后仿真波形是否相同。
三、实验设备:1、PC 机一台。
2、清华大学EDA 可编程ASIC 实验箱一套。
3、导线若干。
四、实验原理3-8译码器是一种最常用的小规模集成电路。
它的功能就是对从地址输入端A 、B 、C 输入的二进制数据进行译码,以确定输出端Y0~Y7的哪一个输出端变为有效(低电平),从而达到译码的目的。
只有在G1=1,G2A=0,G2B=0时,3-8译码器才能进行正常译码,否则Y0~Y7输出均为高电平。
电路功能说明:3-8译码器是一种最常用的小规模集成电路。
它的功能就是对从地址输入端A 、B 、C 输入的二进制数据进行译码,以确定输出端Y0~Y7的哪一个输出端变为有效(低电平),从而达到译码的目的。
只有在G1=1,G2A=0,G2B=0时,3-8译码器才能进行正常译码,否则Y0~Y7输出均为高电平。
3-8译码器五、实验报告要求1、写出代码2、贴出行为仿真图3、对设计的流程进行描述;4、通过此次实验的收获、感想及建议;。
实验二组合逻辑电路的设计一、实验目的:1、掌握用VHDL语言和EPLD进行组合逻辑电路的设计方法。
2、加深对EPLD设计全过程的理解。
3、掌握组合逻辑电路的静态测试方法。
二、实验设备:PC机三、实验内容:1、用VHDL语言输入法设计三人表决器,其输入为8421码,要求当输入1的个数大于等于2时,判别电路输出为1;反之为0。
2、用VHDL语言输入法设计8-3编码器。
四、实验步骤:(一)三人表决器1、采用文本编辑器输入三人表决器VHDL语言源程序,建立工程。
VHDL语言源程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bj isport (m:in std_logic_vector(2 downto 0);y:out std_logic);end;architecture one of bj isbeginprocess (m)beginif m="000" then y<='0';elsif m="001"then y<='0';elsif m="010"then y<='0';elsif m="011"then y<='1';elsif m="100"then y<='0';elsif m="101"then y<='1';elsif m="110"then y<='1';elsif m="111"then y<='1';end if;end process;end;2、编译并进行仿真,仿真结果如下所示:由仿真结果可以验证当输入1的个数大于等于2时,判别电路输出为1;反之为0。
1.FPGA硬件系统设计1.1 功能要求利用所给器件:一个8位拨码开关(见图1-1),排针40×1,芯片DAC0832×1,芯片LM358×1,一个电位器构成硬件电路,实现与FPGA相连,输出正弦波,三角波,锯齿波,方波。
(图1-1)1.2FPGA硬件系统组成(见图1-2)(图1-2)FPGA框架结构由三部分组成:可编程输入/输出模块I/OB (I/O Block)——I/OB:位于芯片内部四周,主要由逻辑门、触发器和控制单元组成。
在内部逻辑阵列与外部芯片封装引脚之间提供一个可编程接口。
可配置逻辑模块CLB (Configurable Logic Block)——CLB:是FPGA的核心阵列,用于构造用户指定的逻辑功能,不同生产厂商的FPGA 器件其不同之处主要在核心阵列。
每个CLB 主要由查找表LUT (Look Up Table )、触发器、数据选择器和控制单元组成。
可编程内部连线PI (Programmable Interconnect) ——PI :位于CLB 之间,用于传递信息。
编程后形成连线网络,提供CLB 之间、CLB 与I/OB 之间的连线。
1.3 FPGA 最小系统简介(见图1-3)(图1-3)1.3.1 FPGA 最小系统板(见图1-4)(图1-4)1.3.2 下载接口Alter 提供常用的编程连接电缆有4种: (1)Byte Blaster 配置电缆 (2)Byte Blaster MV 配置电缆(3)Master Blaster/USB 配置电缆(USB – Blaster ) (4)Bit Blaster 配置电缆计算机接口JTAG 接口FPGA / CPLD 芯片晶振复位电源输入接口输出接口下载电缆AS 接口串口连接时编程电缆选择:可以选择Bit Blaster或Master Blaster配置电缆;并口连接时编程电缆选择:可以选择Byte Blaster或Byte Blaster MV配置电缆;USB连接时编程电缆选择:选择Master Blaster配置电缆。
FPGA电气技术实践实验报告院(系)名称宇航学院专业名称飞行器设计与工程(航天)学生学号XXXXXXXX学生姓名XXXXXX指导教师XXXX2017年11月XX日实验一四位二进制加法计数器与一位半加器的设计实验时间:2017.11.08(周三)晚实验编号20一、实验目的1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。
2、掌握简单逻辑电路的设计方法与功能仿真技巧。
3、学习并掌握VHDL语言、语法规则。
4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。
二、实验原理.略三、实验设备1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套四、调试步骤1四位二进制加法计数器(1)参照指导书实例1进行工程建立与命名。
(2)VHDL源文件编辑由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原参考程序改写为减法器,且”q1<= q1+1”对应改为”q1<= q1-1”,以实现每输入一个脉冲“亮为1,灭为0”。
由于参考程序中的rst清零输入作用并未实现,所以应将程序主体部分的最外部嵌套关于rst输入是否为1的判断,且当rst为1时,给四位指示灯置数”1111”实现全灭,当rst为0时,运行原计数部分。
(3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件(4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。
可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。
并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。
2一位半加器(1)参照指导书实例1进行工程建立与命名。
(2)图形源文件编辑:由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原电路图中两个输出管脚与非门串联以实现原参考输出“高电平亮,低电平灭”。
东南大学电工电子实验中心实验报告课程名称:计算机结构与逻辑设计实验第二次实验实验名称:FPGA组合逻辑设计院(系):吴健雄学院专业:工科试验班姓名:学号:实验室: 103 实验组别:同组人员:实验时间:2018年11月01 日评定成绩:审阅教师:一、实验目的1.掌握使用ISE软件的基本方法,包括设计原理图、功能仿真和时序仿真、管脚绑定等。
2.了解竞争与险象出现的原因,通过ISE 仿真观察波形的毛刺。
3.理解数码管的原理。
二、实验原理(主要写用到的的理论知识点,不要长篇大论)1.ISE软件的相关操作。
2.竞争与险象出现的原因。
三、实验内容必做实验:①在ISE中用原理图输入方法,用一个4选1数据选择器实现如下逻辑函数:∑)(m,8,5,2,1,0(YDCBA=)13,1210,2.函数表达式(预习时完成):Y D BA C A DC B=++降维:3.电路原理图(预习时完成):4.仿真结果:5.测试方案:进行管脚绑定,DCBA四个输入与使用大拨码开关。
输出端Y使用LED灯。
数据分析:符合真值表②在ISE中用原理图输入方法,实现如图所示与非门,并利用ISE的软件仿真功能完成以下实验。
电路原理图(预习时完成):a)输入A为10ns的时钟信号,输入B = ‘1’,查看器件数据手册,在I/O Bank1中选择3个器件管脚分别分配给A、B、Y。
观察并记录功能仿真和时序仿真下Y的输出波形,并对结果进行分析。
仿真结果:1.功能仿真:2.时序仿真:绑定的管脚如下数据分析:功能仿真无延时,时序仿真延时约1.653ns。
可见同一块I/O Bank中存在延时。
符合预估情况。
b)查看器件数据手册,在I/O Bank1中选择2个器件管脚分别分配给A、B,I/O Bank2中选择1个器件管脚分配给Y,重复a的实验内容中的时序仿真部分。
绑定的管脚如下:仿真结果:数据分析:延时约1.655ns,可见在不同I/O Bank 之间传输比相同的I/O Bank中延时时间长。
FPGA实验报告一、实验目的本次FPGA实验目的是通过使用FPGA开发板,了解FPGA的基本原理和应用,培养学生对数字电路设计的基本能力。
二、实验原理FPGA(Field-Programmable Gate Array)是一种可编程逻辑芯片,通过在芯片中加入多个查找表、可编程互连和触发器等基本模块,使得用户可以根据实际需求程序设计芯片的逻辑功能和互连关系。
FPGA的主要优点是能快速更新设计并且重配置灵活,而且速度快、功耗低。
本次实验我们使用的FPGA开发板是Xilinx Spartan-6系列,采用的开发环境是Xilinx ISE Design Suite。
三、实验内容1.实验用到的器件及端口我们使用的FPGA开发板上有多个输入输出端口,如LED灯、开关、按键等。
其中LED灯作为输出端口,开关和按键作为输入端口。
实验中,我们通过控制开关的状态,来控制LED灯的亮与灭。
2.设计电路我们的实验电路主要由一个FPGA芯片、多个LED灯、多个开关和按键等组成。
具体设计如下:(插入电路图)3.编写代码我们使用Verilog语言来描述逻辑电路的功能,并将其编写成代码。
代码示例如下:module led_controllerinput wire CLK,input wire [3:0] SWITCH,output reg [7:0] LEDcase(SWITCH)endcaseendendmodule4.烧录代码通过Xilinx ISE Design Suite的工具链,将上述代码综合、实现、生成比特文件。
然后通过JTAG接口将比特文件烧录到FPGA芯片中。
5.实验结果实验结果是通过观察LED灯的亮灭情况来验证代码的正确性。
根据开关的不同状态,LED灯的亮灭也不同。
四、实验总结通过本次实验,我们深入了解了FPGA的基本原理和应用,并且使用了Xilinx Spartan-6系列的开发板完成了LED控制的实验。
通过观察LED灯的亮灭情况,验证了我们编写的代码的正确性。
南京理工大学泰州科技学院FPGA系统设计实验报告教材名称:FPGA系统设计与应用开发指导教师:周莉莉实验室:4401学院(系):电子电气工程学院专业班级:10电信(1)班姓名:周根生朱守超学号:1002040149 1002040150实验学期:2013-2014学年第一学期总评成绩:教师签字:南京理工大学泰州科技学院FPGA系统设计实验报告目录实验一Max+plusII原理图设计输入 (1)实验二简单逻辑电路设计与仿真 (6)实验三组合逻辑电路设计(一) (11)实验四组合逻辑电路设计(二) (16)实验五有限状态机的设计 (26)实验六数字频率计 (32)南京理工大学泰州科技学院FPGA系统设计实验报告课程: FPGA系统设计班级:10电信1班姓名:周根生朱守超学号:10020401491002040150指导教师:周莉莉实验日期:实验题目:Max+plusII原理图设计输入成绩:一、设计任务采用原理图设计输入法,设计一个具有四舍五入功能的电路,其输入为4位二进制数,要求输入大于或等于0101时,电路输出为高电平,小于0101时电路输出为低电平。
二、设计过程根据设计要求列出四舍五入的真值表,如图1.1所示。
图1.1 四舍五入真值表由图1.1可得化简的表达式为OUT=A+BD+BC,由逻辑表达式可知,要设计的电路图有四个输入端(A,B,C,D)和一个输出端OUT,整个电路由两个2输入端的与门和一个3输入的或门组成。
启动MAX+plusII,新建Graphic Editor file文件,后缀为.gdf。
在编辑界面空白处双击左键,出现输入元件对话框如图1.2所示,在Symbol Name栏中直接输入元件的符号名OK,输入端(input),输出端(output),连接电路如图1.3所示。
图1.2 操作图1.3 原理图芯片型号选择单击Assign,选择Device,如图1.4所示。
图1.4 型号引脚命名双击PIN_NAME,使其变黑后输入引脚名,并保存文件然后编译,如图1.5所示。
《电子工程师基本硬件实践技能训练(下)》实验报告系(院):计算机与信息学院专业:通信工程班级:姓名:学号:指导教师:许良凤吴从中周红平学年学期: 2018 ~ 2019 学年第一学期2018年12月23日实验一 7段数码显示译码器设计一、实验目的(1)学习使用Verilog HDL语言设计简单组合逻辑电路。
(2)学习使用case语句来描述真值表。
二、实验设备与器材GW-PK2 EDA实验箱一台。
三、实验内容及实验步骤(1)用Verilog HDL设计一个共阴数码管的译码电路,用case语句描述7段译码器的真值表。
(2)编译、综合、适配、下载,验证结果。
(3)进行功能仿真。
(4)设计提示:建议选实验电路模式6,用数码8显示译码输出(PIO46~PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
注意,在仿真中,4位输入都必须用总线方式给数据。
具体步骤:(1)用文本方式输入设计文件并存盘。
(2)选择目标器件并编译、综合。
(3)进行时序仿真。
(4)锁定引脚,并编译、综合。
(5)在实验箱上选择模式6。
(6)将数据下载到实验箱。
(7)在实验箱上验证7段显示数码器的功能。
实验代码如下module DECL7S (A,LED7S);input[3:0] A; output[6:0] LED7S;reg[6:0] LED7S;always@(A)case(A)4'b0000 : LED7S <= 7'B0111111;4'b0001 : LED7S <= 7'B0000110;4'b0010 : LED7S <= 7'B1011011;4'b0011 : LED7S <= 7'B1001111;4'b0100 : LED7S <= 7'B1100110;4'b0101 : LED7S <= 7'B1101101;4'b0110 : LED7S <= 7'B1111101;4'b0111 : LED7S <= 7'B0000111;4'b1000 : LED7S <= 7'B1111111;4'b1001 : LED7S <= 7'B1101111;4'b1010 : LED7S <= 7'B1110111;4'b1011 : LED7S <= 7'B1111100;4'b1100 : LED7S <= 7'B0111001;4'b1110 : LED7S <= 7'B1111001;4'b1111 : LED7S <= 7'B1110001;default : LED7S <= 7'B0111111;endcaseEndmodule2.编译、综合、适配、下载,验证结果。
上海电力学院实验报告实验课程名称:FPGA应用开发试验实验项目名称:简单的组合逻辑电路设计班级:姓名:学号:成绩:________ 实验时间:一、实验目的1、掌握组合逻辑的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、加深PLD设计的过程,并比较原理图输入和文本输入的优劣。
二、实验原理根据第三章学习的VHDL硬件描述语言来设计一定功能的电路。
三、实验步骤1、四舍五入判别电路设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。
其VHDL描述语言为:时序仿真波形为:2、控灯电路设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;断任一开关,灯灭。
其VHDL描述语言为:功能仿真波形为:时序仿真波形:引脚分配:程序下载:之后在DE2上验证,实验结果与设计要求一致。
3、优先排队电路设计一个优先排队电路,排队优先顺序依次为A,B,C要求输出端最高只能有一端为“1”,即只能为优先级较高的输入端对应的输出端为“1”。
其VHDL描述语言为:功能仿真波形为:时序仿真波形:引脚分配:程序下载:在DE2上验证,实验结果与设计要求一致。
实验连线:1、四位拨码开关连d0,d1,d2,d3信号对应的管脚。
Out1输出信号管脚接LED灯。
2、四位按键开关分别连k0,k1,k2,k3信号对应的管脚。
y输出信号管脚接LED灯。
3、a ,b , c信号对应管脚分别连三个按键开关。
输出y1,y2,y3信号对应的管脚分别连三个LED灯。
五、实验小结通过本次试验,我掌握了组合逻辑的基本设计方法。
能够按照电路功能要求编写出基本的VHDL硬件描述语言,能合理的分配输入输出引脚,并能够在DE2上验证编写程序是否符合电路设计要求。
当然,一开始又有对软件使用不熟练,也出现了一些问题,如引脚分配时未让输出对应LED灯,但是在自己的努力和多次实验的后,终于熟练起来。
FPGA实验报告5篇第一篇: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 <= 4'b0;elseq <= q + 1;endmodule module top;reg CLK,RESET;wire [3:0] Q;counter c1(Q,CLK,RESET);initialCLK=1'b0;always#1 CLK=~CLK;initial$monitor($time,“Q=%d”,Q);initialbeginRESET=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)所示。
上海电力学院
实验报告
实验课程名称: FPGA应用开发试验
实验项目名称:简单的组合逻辑电路设计
班级:
姓名:学号:成绩:________ 实验时间:
一、实验目的
1、掌握组合逻辑的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、加深PLD设计的过程,并比较原理图输入和文本输入的
优劣。
二、实验原理
根据第三章学习的VHDL硬件描述语言来设计一定功能的电路。
三、实验步骤
1、四舍五入判别电路
设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。
其VHDL描述语言为:
时序仿真波形为:
2、控灯电路
设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;
断任一开关,灯灭。
其VHDL描述语言为:
功能仿真波形为:
时序仿真波形:
引脚分配:
程序下载:
之后在DE2上验证,实验结果与设计要求一致。
3、优先排队电路
设计一个优先排队电路,排队优先顺序依次为A,B,C要求输出端最高只能有一端为“1”,即只能为优先级较高的输入端对应的
输出端为“1”。
其VHDL描述语言为:
功能仿真波形为:
时序仿真波形:
引脚分配:
程序下载:
在DE2上验证,实验结果与设计要求一致。
实验连线:
1、四位拨码开关连d0,d1,d2,d3信号对应的管脚。
Out1输出信号管脚接LED灯。
2、四位按键开关分别连k0,k1,k2,k3信号对应的管脚。
y输出信号管脚接LED灯。
3、a ,b , c信号对应管脚分别连三个按键开关。
输出y1,y2,y3信号对应的管脚分别连三个LED灯。
五、实验小结
通过本次试验,我掌握了组合逻辑的基本设计方法。
能够按照电路功能要求编写出基本的VHDL硬件描述语言,能合理的分配输入输出引脚,并能够在DE2上验证编写程序是否符合电路设计要求。
当然,一开始又有对软件使用不熟练,也出现了一些问题,如引脚分配时未让输出对应LED灯,但是在自己的努力和多次实验的后,终于熟练起来。