实验指导书新FPGA

合集下载

FPGA实验_简单计算机的设计与调试实验指导书

FPGA实验_简单计算机的设计与调试实验指导书

实验3 简单计算机系统的设计与调试一、实验目的1.掌握利用指令集编写汇编语言程序2.掌握将编好的汇编语言程序翻译成机器码程序3.熟悉各类型指令执行的数据通道4.设计和调试一个8位单周期简单计算机系统二、实验任务1. 编程练习先采用汇编语言格式编写程序,检查程序的思路、流程,在无误情况下,转换成机器码。

程序1 :完成将两个固定数据(如0x96, 0x2A6)进行加、减、与、或、比较运算,将运算结果顺序存放在地址从0x40开始的10个RAM单元中。

程序2:完成将两个固定数据(如0x96, 0x2A6)进行加、减运算,将运算结果顺序显示在数码管上。

两个结果显示之间需加一定延时(软件延时,可以通过给一个寄存器赋初值,对这个寄存器进行减运算,直至结果为0)。

程序3:从键盘输入一个表达式,如:206 - 814= ,通过执行ROM中的程序代码,将运算结果显示在数码管上。

2. 调试简单计算机系统A在实验2任务5简单计算机系统A的ROM中存放编程练习中的程序1,并进行系统的仿真和调试,下载到实验板上进行测试、运行。

3. 设计简单计算机系统B在简单计算机系统A的基础上,增加I/O端口及其映射模块、数码管输出接口,将I/O 端口及其映射模块中的 IO0[7..0]、IO1[7..0]与数码管输出接口的 datainL[7..0]、datainH[7..0]相连,构成简单计算机系统B。

在ROM中存放编程练习中的程序2,并进行系统的仿真和调试,下载到实验板上进行测试、运行。

4. 设计简单计算机系统C在简单计算机系统B的基础上,增加4x4键盘输入接口模块,将I/O端口及其映射模块中IO3[7..0]~IO6[7..0]分别与键盘输入接口模块的srcL[7..0]、srcH[7..0]、dstL[7..0]、dstH[7..0]、, aluop[7..0]相连,构成简单计算机系统C,在ROM中存放编程练习中的程序3,并进行系统的仿真和调试,下载到实验板上进行测试、运行。

FPGA实验指导书

FPGA实验指导书

FPGA实验指导书——DE2开发板使用实验昆明理工大学实验一 DE2的顶层默认程序这个实验为用户提供连接分配和顶层Verilog模块,这个模块也是这本手册所有其他实验的基础性模块。

这个实验产生的编程文件是DE2开发板在出货时作为默认载入开发板的编程文件。

本实验将介绍如何编译工程并把生成的编程文件下载到DE2开发板中。

启动开发板(1)将USB线和电源连接到DE2板上。

(2)按下电源开关,这时电源指示灯会被点亮。

(3)你将看到以下现象:●所有的LED灯都闪烁。

●所有七段数码管从0到F循环显示。

●液晶屏显示“Welcome to the Altera DE2 Board”。

●在VGA显示器上显示欢迎信息。

●将开关SW17置OFF,从LINEOUT插座输出1khz正弦波的声音;将开关SW17置ON并将一个MP3播放器的输出接到DE2板的LINE—IN端口,可从耳机里听到MP3播放的音乐。

●若将麦克风接到DE2板的MIC端口上,这样用户的声音可与MP3播放器混合。

Cyclone II中的顶层verilog模块这部分将介绍一个Quartus II工程中所需要的所有组件。

它将让你了解如何使用Quartus II将代码转换成数据流下载的整个设计流程。

按照以下步骤进行:(1)打开Quartus II 软件。

(2)点击File→Open Project ,如图1.1。

(3)在D:\DE2_System_v1.5\DE2_demonstrations\DE2_Default目录下选中DE2_Default.qpf工程文件打开。

(4)在“Project Navigator”工程导航区可查看该工程的层次、包含的所有文件、设计单元等信息。

其中“File”下列出了整个工程包含的所有文件。

双击顶层设计文件DE2_Default.v,可以看到文件的内容和I/O口的声明。

在对每个引脚声明时加上了详细的注释,以便用户更好的明白每个引脚的功能。

FPGA实验指导书

FPGA实验指导书

目录第1章FPGA系统 (1)1.1 系统简介 (1)1.2 系统功能特点 (1)1.3 开发平台标准配置 (2)1.4 功能模块介绍 (2)1.4.1 电源 (2)1.4.2 系统时钟 (3)1.4.3 LED灯 (3)1.4.4 8位拨码开关 (3)1.4.5 数码管显示 (4)1.4.6 键盘阵列 (5)1.4.7 独立矩形波信号源 (5)1.4.8 蜂鸣器 (6)第2章基础门电路及触发器 (8)2.1 实验一基本门电路 (8)2.1.1 实验目的 (8)2.1.2 实验内容 (8)2.1.3 实验原理及说明 (8)2.1.4 实验步骤 (8)2.1.5 参考程序及引脚分配 (9)2.2 实验二基本触发器 (10)2.2.1 实验目的 (10)2.2.2 实验内容 (10)2.2.3 实验原理及说明 (10)2.2.4 实验步骤 (10)2.2.5 参考程序及引脚分配 (11)2.3 实验三3-8译码器 (13)2.3.1 实验目的 (13)2.3.2 实验内容 (13)2.3.3 实验原理 (13)2.3.4 实验步骤 (13)2.3.5 参考程序及引脚分配 (14)2.4 实验四8—3编码器 (15)2.4.1 实验目的 (15)2.4.2 实验内容 (15)2.4.3 实验原理 (15)2.4.4 实验步骤 (15)2.4.5 参考程序及引脚分配 (16)2.5 实验五BCD八段显示译码器 (17)2.5.1 实验目的 (17)2.5.2 实验内容 (17)2.5.4 实验步骤 (17)2.5.5 参考程序及引脚分配 (17)2.6 实验六四选一数据选择器 (19)2.6.1 实验目的 (19)2.6.2 实验内容 (19)2.6.3 实验原理及说明 (19)2.6.4 实验步骤 (19)2.6.5 实验参考程序及引脚分配: (20)2.7 实验七数值比较器 (21)2.7.1 实验目的 (21)2.7.2 实验内容 (21)2.7.3 实验原理及说明 (21)2.7.4 实验步骤 (21)2.7.5 参考程序及引脚分配 (22)2.8 实验八4位二进制加法器 (23)2.8.1 实验目的 (23)2.8.2 实验内容 (23)2.8.3 实验原理及说明 (23)2.8.4 实验步骤 (24)2.8.5 参考程序及引脚分配 (24)2.9 实验九4位二进制乘法器 (26)2.9.1 实验目的 (26)2.9.2 实验内容 (26)2.9.3 实验原理及说明 (26)2.9.4 实验步骤 (27)2.9.5 参考程序及引脚分配 (27)第3章逻辑电路 (31)3.1 实验十移位寄存器 (31)3.1.1 实验目的 (31)3.1.2 实验内容 (31)3.1.3 实验原理 (31)3.1.4 实验步骤 (31)3.1.5 参考程序及引脚分配 (31)3.2 实验十一串行并行转换 (33)3.2.1 实验目的 (33)3.2.2 实验内容 (33)3.2.3 实验原理及说明 (33)3.2.4 实验步骤 (34)3.2.5 参考程序及引脚分配 (34)3.3 实验十二单时钟同步可逆计数器 (35)3.3.1 实验目的 (35)3.3.2 实验内容 (35)3.3.3 实验原理及说明 (36)3.3.5 参考程序及引脚分配 (36)3.4 实验十三顺序脉冲发生及其检测 (38)3.4.1 实验目的 (38)3.4.2 实验内容 (38)3.4.3 实验原理及说明 (38)3.4.4 实验步骤 (39)3.4.5 参考程序及引脚分配 (39)3.5 实验十四按键数码管循环左移显示 (41)3.5.1 实验目的 (41)3.5.2 实验内容 (41)3.5.3 实验原理 (41)3.5.4 实验步骤 (42)3.5.5 参考程序和引脚分配 (42)3.6 实验十五电子时钟 (45)3.6.1 实验目的 (45)3.6.2 实验内容 (45)3.6.3 实验原理 (46)3.6.4 实验步骤 (46)3.6.5 参考程序及引脚分配 (46)3.7 实验十六按键控制 (52)3.7.1 实验目的 (52)3.7.2 实验内容 (52)3.7.3 实验原理 (52)3.7.4 实验步骤 (53)3.7.5 参考程序及引脚分配 (53)第4章FPGA综合应用 (60)4.1 实验十七数字密码锁 (60)4.1.1 实验目的 (60)4.1.2 实验内容 (60)4.1.3 实验原理 (60)4.1.4 实验步骤 (61)4.1.5 参考程序及引脚分配 (61)4.2 实验十八智力抢答器 (66)4.2.1 实验目的 (66)4.2.2 实验内容 (66)4.2.3 实验原理及说明 (66)4.2.4 实验步骤 (67)4.2.5 参考程序及引脚分配 (68)4.3 实验十九自动售货机 (74)4.3.1 实验目的 (74)4.3.2 实验内容 (74)4.3.3 实验原理 (74)4.3.4 实验步骤 (75)4.3.5 参考程序和引脚分配 (75)4.4 实验二十数字频率计 (80)4.4.1 实验目的 (80)4.4.2 实验内容 (80)4.4.3 实验原理 (80)4.4.4 实验步骤 (81)4.4.5 参考程序及引脚分配 (81)第1章 FPGA系统1.1系统简介FPGA系统教学开发平台采用国际著名可编程逻辑器件公司Altera 的Cyclone系列5万门芯片为核心,整个平台采用模块化设计,各种模块可以自由组合,同时提供丰富的扩展接口,非常适合于FPGA初学者。

FPGA实验指导书(1)

FPGA实验指导书(1)

实验一组合逻辑3-8译码器的设计 .................... 错误!未定义书签。

实验二基于FPGA的数字钟的设计 ................... 错误!未定义书签。

实验三基于NIOS的交通灯实验 .......................... 错误!未定义书签。

实验四静态图像显示 ............................................. 错误!未定义书签。

实验一组合逻辑3-8译码器的设计一、实验目的:1、通过3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。

2、掌握组合逻辑电路的静态测试方法。

3、初步了解可编程器件设计的全过程。

二、实验步骤:1、打开QuartusII软件。

2、选择路径。

选择File/New Project Wizard,指定工作目录,指定工程和顶层设计实体称;注意:工作目录名不能有中文。

3、添加设计文件。

将设计文件加入工程中。

单击“Next”,如果有已经建立好的VHDL 或者原理图等文件可以在File name中选择路径然后添加,或者选择Add All添加所有可以添加的设计文件(.VHDL ,.Verilog原理图等)。

如果没有直接点击“Next”,等建立好工程后再添加也可,这里我们暂不添加。

4、选择FPGA器件。

Family选择Cyclone II,Available device选EP2C35F484C8,Packge选择Any,Pin Count 选择484,Speed grade选择Any;点击“Next”。

5、选择外部综合器、仿真器和时序分析器。

Quartus II支持外部工具,可通过选中来指定工具的路径。

这里我们不做选择,默认使用Quartus II自带的工具。

6、结束设置。

单击“Next”,弹出“工程设置统计”窗口,上面列出了工程的相关设置情况。

最后单击“Finish”,结束工程设置。

7、建立原理图文件。

FPGA实验指导书3

FPGA实验指导书3

实验九:A/D & D/A转换一、 实验目的1.实现模拟信号和数字信号的相互转化;2.学会利用专用集成电路芯片实现所需功能。

二、 实验内容1.利用D/A转换模块产生一定得波形,例如方波、三角波、正弦波;2.利用信号发生器产生一定波形,然后利用A/D转换模块对信号进行采样转化。

三、 实验要求1.产生的波形在示波器下观察较好;2.将A/D输入波形信号的最大值或最小值显示在数码管上。

四、 实验背景知识1.实验平台介绍该实验的平台为:实验母板和AD&DA子板。

子板用以进行DA转换:在本实验中,信号由FPGA送出,由接插件送入转换芯片DAC7611,通过FPGA控制D/A转换芯片数据的接受和转换,最后在输出端送出模拟信号。

母板用来提供时钟、控制和数据信号,根据模拟信号波形的需要,由FPGA按时序送入相应的数据信号,作为DAC的输入信号。

子板用以进行AD转换:在本实验中,由FPGA输出控制信号控制A/D转换芯片ADS7818对输入的模拟信号进行转化,转化好后的数据又在FPGA提供的时钟信号下传送给FPGA,再经过处理后送至四位LED数码管显示出模拟信号电压值。

母板用来提供时钟和控制信号。

2.主要芯片相关功能介绍(1) D/A转换芯片D/A转换芯片采用的是BB公司的DAC7611。

DAC7611是一款低功耗串行12位快速D/A转换芯片,转换速度为7us,采用5V单电源供电,带有内部基准电压(2.435V),三线串行接口,时钟频率最高可达20Mhz,输出模拟电压范围为0-4.095V。

图9.1、DAC7611原理图引脚说明:VDD 电源CS 芯片选通信号CLK 时钟信号SDI 数据信号线LD 启动转化信号CLR 清空DAC寄存器信号GND 地Vout 模拟信号输出端表9.1、DAC7611引脚说明图9.2、DAC7611信号时序图DAC7611接口为串行方式,D/A转化模块完成一次D/A转换如上图所示。

《FPGA设计与应用》实验指导书全(Verilog版)

《FPGA设计与应用》实验指导书全(Verilog版)

《FPGA设计与应用》实验指导书熊利祥编武汉理工大学华夏学院2011年9月前言一、实验课目的数字电路与系统设计实验课是电子工程类专业教学中重要的实践环节,包括了ISE开发环境基本操作及FPGA的基本原理、基带传输系统的设计、Uart串口控制器电路的设计、PS/2接口的设计、VGA显示接口设计。

要求学生通过实验学会正确使用EDA技术,掌握FPGA器件的开发,熟练使用ISE开发环境,掌握Verilog语言的编程,掌握数字电路和系统的设计。

通过实验,使学生加深对课堂专业教学内容的理解,培养学生理论联系实际的能力,实事求是,严谨的科学作风,使学生通过实验结果,利用所学的理论去分析研究EDA技术。

培养学生使用Basys 2开发板的能力以及运用实验方法解决实际问题的能力。

二、实验要求:1.课前预习①认真阅读实验指导书,了解实验内容;②认真阅读有关实验的理论知识;③读懂程序代码。

2.实验过程①按时到达实验室;②认真听取老师对实验内容及实验要求的讲解;③认真进行实验的每一步,观察程序代码与仿真结果是否相符;④将实验过程中程序代码和仿真结果提交给老师审查;⑤做完实验后,整理实验设备,关闭实验开发板电源、电脑电源后方可离开。

3.实验报告①按要求认真填写实验报告书;②认真分析实验结果;③按时将实验报告交给老师批阅。

三、实验学生守则1.保持室内整洁,不准随地吐痰、不准乱丢杂物、不准大声喧哗、不准吸烟、不准吃东西;2.爱护公务,不得在实验桌及墙壁上书写刻画,不得擅自删除电脑里面的文件;3.安全用电,严禁触及任何带电体的裸露部分,严禁带电接线和拆线;4.任何规章或不按老师要求操作造成仪器设备损坏须论价赔偿。

目录实验一Uart通用串口接口的设计 (4)实验二PS/2接口的设计 (28)实验三VGA显示接口设计 (30)附录一 basys 2开发板资料 (36)实验一 Uart串口控制接口电路的设计一、实验目的1.掌握分频模块的设计方法。

计算机组成原理FPGA实验指导书

计算机组成原理FPGA实验指导书

计算机组成原理FPGA实验指导书《计算机组成原理》实验指导书计算机科学与技术学院⽬录实验⼀熟悉实验平台 (3)实验⼆总线传送 (10)实验三运算器的设计与调试 (14)实验四存贮器的设计与调试 (20)实验五控制器的设计与调试 (26)附录常⽤器件简介 (30)实验⼀熟悉实验平台⼀.实验⽬的1.熟悉使⽤Verilog硬件描述语⾔2.熟悉ISE开发环境3.掌握实验箱组成4.熟悉时序发⽣器的组成原理;5.掌握数字逻辑器件Verilog语⾔的编写;⼆.实验设备1.装有ISE10.1的PC机⼀台2.EDK-3SAISE实验箱⼀台三.实验内容1.节拍信号T1—T4波形如图-1所⽰图-1 节拍时序波形图每个节拍内均包含脉冲clk_m1。

节拍信号有三种⼯作⽅式。

这三种⼯作⽅式时标信号的启动,停⽌受Button,Rstn按钮开关控制。

2.⽤Verilog语⾔实现时序代码如下:module Timeen(input Clk, //System Clock 40Mhzinput Button, // setep clockinput Rstn, // reset, low activeinput Clk_sel, // sequence timing or step timing select input Clk_sel1, output [4:1] t, // Display(T1-T4)output M1);wire Clk_m1;wire Clk_i,Clk_ii;wire PB_R;assign M1=Clk_m1;GenClk_i Clk_i_Module (.Clk_s(Clk),.Clk_i(Clk_i),.Rstn(Rstn));GenClk_ii Clk_ii_Module (.PB_R(PB_R),.Clk(Clk),.Clk_ii(Clk_ii));Debouncer Debouner_Module (.Clk_s(Clk),.PB(Button),.PB_state(),.PB_up(PB_R),.PB_down());ClkSel ClkSel_Module (.Clk_s(Clk),.Clk_i(Clk_i),.Clk_ii(Clk_ii),.Clk_m1(Clk_m1),.Clk_sel(Clk_sel),.Clk_sel1(Clk_sel1));Bit1_Display Bit1_Display_Module (.Clk_s(Clk),.Clk_m1(Clk_m1),.T(t),.Rstn(Rstn),.Clk_i(Clk_i));endmodulemodule GenClk_i(input Clk_s,output Clk_i,input Rstn);reg [24:0] Cnt;assign Clk_i= Cnt[24];always@(posedge Clk_s or negedge Rstn) beginif (!Rstn)Cnt<=0;elseCnt <= Cnt + 1;endendmodulemodule GenClk_ii(input PB_R,input Clk,output Clk_ii);reg Clk_o,Clk_o1,Clk_o2;assign Clk_ii=Clk_o2;always@(posedge Clk )beginClk_o<=PB_R;Clk_o1<=Clk_o;Clk_o2<=Clk_o1;endendmodulemodule Debouncer(Clk_s, PB, PB_state, PB_up, PB_down);input Clk_s; // "clk" 时钟信号input PB; // "PB" 有⽑刺的、异步的、低有效的按键信号output PB_state; // 当按键被按下时输出1output PB_down; // 按键被按下的瞬间输出⼀个⾼电平脉冲output PB_up; // 按键被松开的瞬间输出⼀个⾼电平脉冲// ⾸先使⽤两个触发器来同步PB信号reg PB_sync_0;always @(posedge Clk_s)PB_sync_0 <= ~PB; // 翻转PB,使之⾼有效reg PB_sync_1;always @(posedge Clk_s) PB_sync_1 <= PB_sync_0;// 声明⼀个16位的剖?reg [21:0] PB_cnt;// 当按键被按下或松开时,计数?// 当计数器计数溢出时,便认为按键的状态确定。

FPGA实验指导书2

FPGA实验指导书2

实验四:状态机一、 实验目的1.对有限状态机(FSM)做初步了解。

二、 实验内容1.Gray编码和One-hot编码两种状态机;2.触发器部分和组合逻辑部分结合与分开两种状态机。

三、 实验要求1.对程序中状态和输出稍作修改,在Quartus II 环境下进行时序仿真;2.学会利用状态机编写一个流水灯程序;3.下载至实验板,观察结果。

四、 实验步骤有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只可能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态,究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。

(这里指的是米里Mealy型有限状态机,而莫尔Moore型有限状态机究竟转向哪一状态只取决于当前状态。

)图4.1、用三种不同编码所实现的状态图【例1】 采用Gray编码的状态机源程序:module fsm (Clock, Reset, A, F, G);input Clock, Reset, A;output F,G;reg F,G;reg [1:0] state ;parameter Idle = 2'b00, Start = 2'b01, Stop = 2'b11,Clear = 2'b10;always @(posedge Clock)beginif (!Reset)beginstate <= Idle; F<=0; G<=0;endelse begincase (state)Idle: beginif (A) beginstate <= Start;G<=0;endelse state <= Idle;endStart: beginif (!A) state <= Stop;else state <= Start;endStop: beginif (A) beginstate <= Clear;F <= 1;endelse state <= Stop;endClear: beginif (!A) beginstate <=Idle;F<=0; G<=1;endelse state <= Clear;endendcaseendendendmodule【例2】采用One-hot编码的状态机源程序:module fsm (Clock, Reset, A, F, G);input Clock, Reset, A; output F,G;reg F,G;reg [3:0] state ;parameter Idle = 4'b1000,Start = 4'b0100,Stop = 4'b0010,Clear = 4'b0001;always @(posedge Clock)beginif (!Reset)beginstate <= Idle; F<=0; G<=0;endelsebegincase (state)Idle: beginif (A) beginstate <= Start;G<=0;endelse state <= Idle;endStart: beginif (!A) state <= Stop;else state <= Start;endStop: beginif (A) beginstate <= Clear;F <= 1;endelse state <= Stop;endClear: beginif (!A) beginstate <=Idle;F<=0; G<=1;endelse state <= Clear;enddefault: state <=Idle;endcaseendendendmodule例1中采用Gray编码,例2中采用的是One-hot编码。

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

目录实验1:基本逻辑门电路 (2)EDA设计实验的基本步骤和注意事项 (5)实验2:译码器及其应用 (7)实验3 触发器、移位寄存器的设计和应用 (12)实验4:计数器 (15)实验5:数字系统的设计 (16)实验报告格式和内容 (17)实验1:基本逻辑门电路一、实验目的1:掌握各种门电路的逻辑功能及测试方法。

2:学习用与非门组成其它逻辑门电路。

二、实验用的仪器、仪表TEC —5实验箱 74LS00二输入四与非门 三态门74LS125三、实验原理与非门的逻辑功能是:当输入端中有一个或一个以上低电平时,输出端为高电平。

只有当输入端全为高电平时,输出端才为低电平(即有“0”得“1”,全“1”出“0”)。

三态输出门是一种特殊的门电路。

它与普通的逻辑门电路不同,它的输出状态除了高、低电平两种状态(均为低阻状态)外,还用第三种状态,即高阻态。

处于高阻态时,电路与负载之间相当于开路。

三态门主要用途之一是实现总线传输。

三态输出门符号与功能表如下(此例以高有效的使能器件为例)。

四、实验内容 1:测试二输入与非门的逻辑功能与非门的输入端接逻辑开关电平,输出端接发光二极管。

按表1-2所示测试与非门,并将测试结果填入表中。

B A F ∙=AB2:学习用二输入与非门构成其他逻辑电路的方法,并测试。

● 与门逻辑功能实现:根据布尔代数的理论,B A B A F ∙=∙=,所以用2个与非门即可实现与门逻辑功能。

输入A 、B 接逻辑开关,输出端接发光二极管。

参考表1-1,设计表格,并将测试结果填入表中。

● 或门逻辑功能实现: 根据布尔代数的理论,B A B A F +=∙=,所以用3个与非门即可实现或门逻辑功能。

输入A 、B 接逻辑开关,输出端接发光二极管。

参考表1-1,设计表格,并将测试结果填入表中。

● 异或门逻辑功能实现:根据布尔代数的理论,B A B A F +=,根跟据此异或逻辑表达式经过变换,逻辑图如下,请自行验证此逻辑图的正确性,同时思考如果直接据逻辑表达式画逻辑图,效果如何,近而体会变换的作用。

输入A 、B 接逻辑开关,输出端接发光二极管。

参考表1-1,设计表格,并将测试结果填入表中。

3:测试三态门的逻辑功能三态门输入端、使能端分别接逻辑开关,输出端接发光二极管。

将测试结果填入表1-3中。

表1-3ABAB五、实验报告记录、整理实验结果,并用布尔代数的理论进行分析实验提示:1、K15—K0为普通的电平开关,为输入端提供高低电平信号,拨上去为1,拨下去为0。

2.12个发光二极管位于实验箱的下部中间位置,用于指示信号的高低电平,信号输入孔L0—L11接入高电平时,相应的二极管点亮,信号输入孔L0—L11接入低电平时,相应的二极管熄灭。

实验用芯片内部逻辑图EDA设计实验的基本步骤和注意事项本实验指导书的所有实验基于EDA实验台进行本实验指导书的所有实验均采用软件为Quartus II,硬件芯片为ALTERA 的Cyclonei 系列FPGA芯片EP1C3T44C8N。

使用本EDA实验台进行数字逻辑实验,不需要进行手工接线。

实验工作分3步进行:1:在PC机上,基于Quartus II软件进行原理图(逻辑图)的设计,设计完成后,需要经过引脚锁定、编译下载到EDA实验台上的FPGA芯片中。

下载完成后,即在FPGA 芯片中形成物理的逻辑电路。

此步工作相当于传统实验的基于物理器件的接线操作。

2:在PC机上仿真,验证逻辑的正确性3:下载到板子上,进行物理验证(需要安装USB Blaster线缆驱动,具体安装方法自行上网查找)。

此过程可以用万用表、LED指示灯、七段码等验证实验的正确性。

实验2-5的注意事项1:Quartus II的工程名和顶层实体名字必须为英文,且实体名字必须和VHDL代码的实体名字严格一致。

存储路径最好不要含中文和空格。

2:Quartus II的设计中所有的命名中,名字不要有空格。

3:Quartus II的原理图方式设计中放置“input”“ouput”引脚符号时,引脚符号的虚线框和原件的虚线框要刚好对上,以保证连接上,虚线框分开和部分重叠都不能正确连接。

实验用到的资源包括1:按键2:发光二极管指示灯3:20M方波时钟 4:七段码实验2:译码器及其应用一、实验目的1:理解VHDL语言的设计流程。

2:掌握译码器的逻辑功能及应用。

二、实验用的仪器、仪表EDA实验板(台)万用表PC机三、实验原理译码器是一个多输入、多输出的组合逻辑电路。

它的作用是把给定的代码进行“翻译”,变成相应的状态。

译码器在数字系统中有广泛的用途,如代码变换、数据分配、存储器寻址、组合控制信号等。

本实验以74138为主要实验对象,图2-1为74138的逻辑图和管脚排列图。

其中A2,A1,A0为地址输入端,Y0~Y7为译码输出端,E1,E2,E3为使能端。

表2-1为74138的功能表,当E1=1,E2+E3=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其余输出端均为无信号(全为1)输出。

当E1=0和E2+E3=0两个条件不能同时满足时,译码器被禁止。

所用的输出同时为1。

图2-1 74138的逻辑图和管脚排列图表2-1四、实验内容1:根据功能表,用VHDL语言设计74138,具体步骤如下(可参考实验视频“38译码器实验流程.mp4”):1)建立一个工作目录,用quartusII-File-New project wizard方式以新建目录为工作目录建立一个采用VHDL file作为输入的工程,在完成基于VHDL语言实现138设计和仿真验证之后,打开File—Creat Update—Creat Symbol Files forCurrent File,从而创建一个自己设计的138 。

参考VHDL代码如下:library ieee;use ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY decoder3to8 ISPORT (A2,A1,A0,E3,E2,E1 : IN STD_LOGIC;Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY decoder3to8 ;ARCHITECTURE BHV OF decoder3to8 ISSIGNAL A: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINA <= A2 & A1 & A0;PROCESS ( A )BEGINIF((E1 = '1')and (E2 = '0')and(E3 = '0')) thenCASE (CONV_INTEGER(A)) ISWHEN 0 => Y <= "11111110";WHEN 1 => Y <= "11111101";WHEN 2 => Y <= "11111011";WHEN 3 => Y <= "11110111";WHEN 4 => Y <= "11101111";WHEN 5 => Y <= "11011111";WHEN 6 => Y <= "10111111";WHEN 7 => Y <= "01111111";WHEN OTHERS =>Y <= "11111111";END CASE;elseY <= "11111111";END IF;END PROCESS;END ARCHITECTURE BHV;2)重新建立一个目录,把步骤1中的工程文件目录打开,找到对应的*.bsf 核*.vhd,将此两个文件拷贝到当前目录。

关闭前一个工程,以当前新建立的目录为工作目录,新建一个工程,具体方式如同步骤1。

工程建立完毕,首先选择File ->New,选择Block Diagram/Schematic File,按OK。

出现如下窗口,用鼠标展开Project(如下图标识所示),选中其中的我们设计的138。

2:用自己设计的74138,用原理图方式验证74138逻辑功能,视频中有详细步骤。

将E1,E2,E3和地址输入端A2、A1、A0和开关相接。

五个输出端接到LED指示灯。

拨动逻辑开关,按表2-2测试功能,并记录测试结果。

表2-23:重复上述验证138逻辑功能的实验步骤,用74138实现逻辑函数。

即使用已经设计的138器件,用原理图方式实现如下逻辑函数,其中7420位四输入与非门,可以向放input和output 引脚一样,直接输入7420即可找到,直接引用已有的器件,也可以自行设计一个四输入与非门(步骤同设计138一样)。

ABC+=,实现该逻辑函数电路如图2-3,将测试结果记录在表2-3 +Z+CCABABCAB中。

图2-32-34、实验板(箱)端的工作“74138逻辑功能的测”和“用74138实现逻辑函数”部分工作主要完成对逻辑电路功能的测试,采用对输入逻辑开关的切换,实现不同的“0”“1”输入,从而输出端输出不同的逻辑电平,使指示灯亮或灭。

完成实验内容中各个表的填入,完成实验工作。

五、实验报告1:将测试结果填入相应的表格1)提供VHDL语言源代码2)验证填写表2-2 2-32:对实验结果进行分析讨论总结写出实验结论。

实验3 触发器、移位寄存器的设计和应用一、实验目的1:理解VHDL 语言的设计流程。

2:掌握触发器逻辑功能和寄存器的原理。

3:掌握移位寄存器的功能和应用二、实验用的仪器、仪表EDA 实验板(台) 万用表 PC 机三、实验原理1、触发器触发器具有两个稳定状态,用以表示逻辑状态0和1。

在一定的外加信号作用下,可以从一种稳定状态翻转为另一稳定状态。

它是一个具有记忆功能的二进制信息存储器件。

是构成各种时序电路的最基本的逻辑单元。

有RS 触发器、D 触发器、JK 触发器等,本实验重点设计和验证用的最为广泛的D 触发器。

D 触发器的状态方程为D Qn =+1,其输出状态的更新发生在CP 脉冲的上升沿。

触发器的状态只取决于时钟到来前D 端的状态。

D 触发器的功能表如表3-1所示。

表3-12、移位寄存器移位寄存器是具有移位功能的寄存器。

是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。

移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发送器;串行累加器;可用作数据转换,即把并行数据转换为串行数据,或把串行数据转换为并行数据。

相关文档
最新文档