Quartus实验三,212卷积码和计数器

合集下载

QuartusII实验

QuartusII实验

实验一用原理图输入法设计四位全加器一实验目的1熟悉利用Quartus II 的原理图输入方法设计简单组合电路.2掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二实验仪器电子计算机Quartus II三实验原理加法器是数字系统中的基本逻辑器件。

例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。

但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。

四位全加器可对两个多位二进制数进行加法运算,同时产生进位。

当两个二进制数相加时,较高位相加时必须加入较低位的进位项(Ci),以得到输出为和(S)和进位(C0)。

四实验步骤(一)创建工程1、选择菜单file—New Project Wizard,选择保存位置,并命名工程名2、将设计文件加入工程。

3、选择仿真器和综合类型,目标芯片EP2C5T144C8。

4、设置相关参数(二)原理图设计1、在QuartusII操作环境中,单击工具栏“File”选择“new”中的“Device Design Files”建立新的原理图编辑窗口。

2、在编辑窗口右击选择Insert——Symbol,将相关元件调入原理图编辑窗口中,并连接好电路,在元件上双击后可以更改各输入引脚名。

3、保存到工程建立的目录文件夹4、将设计项目设置成可调用的文件。

在打开原理图文件的情况下,选择File—Create/Update —Create Symbol Files for Cureent File,即可将当前文件变成一个元件符号存盘,以待在高层次设计中调用。

QuartusII实验过程示范

QuartusII实验过程示范

QuartusII实验过程⽰范实验⼆⼗进制计数器实验该实验将使⽤Verilog 硬件描述语⾔在DE2-70 开发平台上设计⼀个基本时序逻辑电路——1 位⼗进制计数器。

通过这个实验,读者可以了解使⽤Quartus ⼯具设计硬件的基本流程以及使⽤Quartus II 内置的⼯具进⾏仿真的基本⽅法和使⽤SignalTap II 实际观察电路运⾏输出情况。

SignalTap II 是Quartus ⼯具的⼀个组件,是⼀个⽚上的逻辑分析仪,可以通过JTAG 电缆将电路运⾏的实际输出传回Quartus 进⾏观察,从⽽省去了外界逻辑分析仪时的很多⿇烦。

实验步骤3.1建⽴⼯程并完成硬件描述设计1. 打开Quartus II ⼯作环境,如图3-1 所⽰。

图3-1 Quartus II⼯作环境界⾯2. 点击菜单项File->New Project Wizard 帮助新建⼯程。

参看图3-2。

图3-2 选择New Project Wizard打开Wizard 之后,界⾯如图3-3 所⽰。

点击Next,如图3-3。

第23 页共208 页图3-3 New Project Wizard界⾯3. 输⼊⼯程⼯作路径、⼯程⽂件名以及顶层实体名。

这次实验会帮助读者理解顶层实体名和⼯程名的关系,记住⽬前指定的⼯程名与顶层实体名都是Counter10,输⼊结束后,如图3-4 所⽰。

点击Next。

图3-4输⼊设计⼯程信息4. 添加设计⽂件。

界⾯如图3-5 所⽰。

如果⽤户之前已经有设计⽂件(⽐如.v ⽂件)。

那么再次添加相应⽂件,如果没有完成的设计⽂件,点击Next 之后添加并且编辑设计⽂件。

图3-5添加设计⽂件5. 选择设计所⽤器件。

由于本次实验使⽤Altera 公司提供的DE2-70 开发板,⽤户必须选择与DE2-70 开发板相对应的FPGA 器件型号。

在Family 菜单中选择Cyclone II,Package 选FBGA,Pin Count 选896,Speed grade 选6,确认Available devices 中选中EP2C70F896C6,如图3-6。

实验讲义verilogQuartusII软件的使用资料

实验讲义verilogQuartusII软件的使用资料

《硬件描述语言及应用》实验讲义2015-2016年度第二学期实验一、EDA软件使用一、实验目的:1、掌握MAX+PLUS Ⅱ软件的使用;2、掌握文本编辑器和波形编辑器的使用。

二、实验仪器微机一台。

三、实验原理1、MAX+PLUS Ⅱ软件MAX+PLUS II 9.3界面友好,使用便捷,被誉为业界最易学易用的EDA 软件。

支持原理图、VHDL和Verilog语言文本文件,以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。

MAX+PLUS II 具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。

在适配之后,MAX+PLUS II生成供时序仿真用的EDIF、VHDL和Verilog 三种不同格式的网表文件。

MAX+PLUS II支持主流的第三方EDA工具,如Synopsys、Cadence、Synplicity、Mentor、Viewlogic、Exemplar和Model Technology等。

MAX+PLUS II支持除APEX20K系列之外的所有Altera FPG/CPLD 大规模逻辑器件。

2、Verilog语言简介(1) 什么是Verilog HDLVerilog HDL是硬件描述语言的一种,用于数字电子系统设计。

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

它是目前应用最广泛的一种硬件描述语言之一。

(2) Verilog HDL的历史Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby首创的。

Phil Moorby后来成为Verilog-XL的主要设计者和Cadence公司(Cadence Design System)的第一个合伙人。

在1984年~1985年,Moorby设计出了第一个关于Verilog-XL的仿真器,1986年,他对Verilog HDL的发展又做出了另一个巨大贡献:即提出了用于快速门级仿真的XL 算法。

QUARTUSII实验

QUARTUSII实验

在“Program Device”对话框 中,选择合适的编程文件和编 程方式,如JTAG或AS模式。
通过观察测试平台的输出结果 ,可以验证设计的正确性和实 际硬件性能。
04
Quartus II 实验内容
数字钟设计
总结词:通过 Quartus II 软件实现数字 钟设计,掌握数字钟的工作原理和实现 方法。
解决方案
首先,需要确保开发板与计算机连接正确。然后,根据 开发板的型号和Quartus II软件的版本,选择合适的配 置参数进行下载。
对 Quartus II 的建议和展望
优化软件界面和操作流程,提高用户 的使用体验。
期待Quartus II软件在未来能够提供 更多的高级功能和优化选项,以满足 更复杂的设计需求。
首先,需要仔细阅读编译错误提示,了解错误的具体原 因。然后,检查代码是否存在语法错误或逻辑错误,并 尝试修改代码以解决问题。
问题2
仿真结果与预期不一致,怎么办?
解决方案
首先,需要仔细检查代码是否存在逻辑错误或时序问题 。然后,调整仿真参数或修改代码以优化仿真结果。
问题3
如何将设计下载到FPGA开发板?
使用 Quartus II 软件 进行编译和仿真,确 保设计正确无误。
将设计下载到 FPGA 开发板,通过串口与 计算机或其他设备进 行数据交换。
05
Quartus II 实验总结
实验收获和体会
掌握Quartus II软件的基本操作
通过本次实验,我掌握了如何使用Quartus II软件进行FPGA设计,包括项目的新建、设 计输入、编译、仿真以及下载等步骤。
理解数字电路设计流程
通过实验,我深入理解了数字电路设计的整个流程,包括需求分析、设计、仿真、调试和 实现等环节。

Quartus II 软件操作实验报告

Quartus II 软件操作实验报告

实验题目:Quartus II 软件操作一、实验目的(1)了解并掌握QuartusII软件图形输入的使用方法。

(2)了解并掌握仿真(功能仿真及时序仿真)方法及验证设计正确性。

二、实验内容及步骤1.实验内容:本实验通过简单的例子介绍FPGA开发软件QuartusII的使用流程,包括图形输入法的设计步骤和仿真验证的使用以及最后的编程下载。

2.实验步骤:在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。

原理图第1步:打开QuartusII软件,新建一个空项目。

选择菜单File->New Project Wizard,进入新建项目向导,填入项目的名称“hadder”。

第2步:单击Next按钮,进入向导的下一页进行项目内文件的添加操作,或直接点击Next按钮。

第3步:选择CPLD/FPGA器件,选择芯片系列为“MAX II”,型号为“EPM240T100C5”。

向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。

第4步:新建一个图形文件。

选择File->New命令,选择“Diagram/Schematic File”,点击OK按钮完成。

将该图形文件另存为hadder.bdf。

第5步:在图形编辑窗口的空白处双击,打开符号库窗口。

选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。

分别放置与门“7408”和异或门“xor”。

第6步:在编辑窗口中放入两个输入符号,命名为a和b。

放置2个输出“output”符号,并分别命名为s、cout。

将各符号连接起来。

第7步:保存图形文件,进行语法检查和编译。

在信息(Messages)窗口中显示检查结果。

第8步:仿真。

执行File->New命令,选择“Other Files”选项页中 Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口。

另存矢量波形文件为hadder.vwf。

Quartus实验讲义

Quartus实验讲义

《数字电路与逻辑设计》实验指导书实验一Quartus软件的基本操作一、实验内容1.熟悉Quartus软件的基本操作,了解各种设计方法(原理图设计、文本设计、波形设计)2.用逻辑图和VHDL语言设计一个异或门。

二、电路要求1.进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。

2.预习报告内容有:异或门的逻辑图;用VHDL语言设计异或门;3.实验结束前,要填写实验卡,将异或门的仿真波形画在实验卡上。

三、电路功能介绍异或门(XOR)用途:异或门是一种用途广泛的门电路。

典型应用是作为加法器的单元电路。

逻辑图真值表VHDL程序数据流描述:波形图实验二素数检测器的设计与仿真一、实验内容1.用逻辑图和VHDL语言设计素数检测器。

2.用逻辑图和VHDL语言设计一个OC门(集电极开路门)。

二、电路要求1.进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。

2.预习报告内容有:素数检测器的逻辑图;用VHDL语言设计素数检测器,用尽量多的方法来描述;3.实验结束前,要填写实验卡,将以上2种电路的仿真波形画在实验卡上。

三、电路功能介绍对于4位输入组合N=N3N2N1N0,当N=1、2、3、5、7、11、1 3时该函数输出为1,其他情况输出为0”逻辑图四位素数检测器的标准和设计四位素数检测器最小化后的设计真值表VHDL程序参考教材实验三三态门,OC门的设计与仿真一、实验内容1.用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。

2.用逻辑图和VHDL语言设计一个OC门(集电极开路门)。

二、电路要求1.进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。

2.预习报告内容有:三态门、OC门的逻辑图;用VHDL语言设计三态门、OC门,用尽量多的方法来描述;3.实验结束前,要填写实验卡,将以上2种电路的仿真波形画在实验卡上。

三、电路功能介绍1.三态门,又名三态缓冲器(Tri-State Buffer)用途:用在总线传输上,有效而又灵活地控制多组数据在总线上通行,起着交通信号灯的作用。

Quartus II实验报告4

Quartus II实验报告4

CPLD/FPGA 设计实验报告实验名称: 时序电路设计基础 实验目的: 掌握Quartus II 软件的基本使用方法,完成基本时序电路设计 实验内容:实验一 译码器一、 创建工程工程名称: tt138_cas 顶层实体文件名:tt138_cas 器件: EP1C3T100C7 (要求:Cyclone 系列任意器件)二、 创建文件创建Verilog HDL 文件,用always 实现一个3——8译码器。

module tt138_cas(a,y,g1,g2a,g2b); input[2:0] a; input g1,g2a,g2b; output reg [7:0] y; always @ (a,y,g1,g2a,g2b) begin if(g1& ~g2a& ~g2b) begin case(a) 3'b000:y=8'B1111_1110; 3'b001:y=8'B1111_1101; 3'b010:y=8'B1111_1011;3'b011:y=8'B1111_0111;3'b100:y=8'B1110_1111;3'b101:y=8'B1101_1111;3'b110:y=8'B1011_1111;3'b111:y=8'B0111_1111;default:y=8'b1111_1111;endcase endelse y=8'b1111_1111;endendmodule三、编译工程报告中下列数据是多少total logic elements装订线四、仿真电路1、创建VWF文件2、设定“End Time”为20us3、在VWF文件中添加Node OR Bus4、编辑波形5、仿真6、画出仿真结果实验二译码器一、创建工程工程名称:tt138_assig顶层实体文件名:tt138_assig器件:EP1C3T100C7 (要求:Cyclone系列任意器件)二、创建文件创建Verilog HDL文件,用assign语句实现一个3——8译码器。

qurtusii位计数器

qurtusii位计数器

实验三计数器设计1.实验目的(1)掌握时序电路的设计方法。

(2)掌握带有复位和时钟使能的十六进制计数器的原理。

(3)掌握计数器的设计方法。

(4)学习VHDL语言设计较复杂的电路方法。

2.实验仪器设备(1) PC机一台。

(2) Quartus II开发软件一套。

3.实验要求(1)预习计数器的相关知识。

(2)用VHDL方式完成程序设计。

(3)设计一个带异步复位和同步时钟使能的十六进制加法和减法计数器,以及十进制加法计数器,并分别仿真。

4.实验任务和原理所谓同步或异步计数器都是相对于时钟信号而言的,不依赖于时钟而有效的信号称为异步信号,否则称为同步信号。

本实验要求设计一个带有异步复位和同步时钟使能的十六进制加法和减法计数器,以及一个十进制加法计数器。

1)设计一个带有异步复位和同步时钟使能的十六进制加法计数器利用VHDL语言设计一个带有复位和时钟使能Array的十六进制加法计数器。

设CLK为时钟使能信号,RST为复位信号,EN为计数器使能信号,COUT为计数输出端,Co为进位输出端。

电路模块符号如图1所示。

2)设计一个带有异步复位和同步时钟使能的十六进制减法计数器图1 带有复位和时钟使能利用VHDL语言设计一个带有复位和时钟使能的十六进制计数器的十六进制减法计数器,电路符号如图1所示。

设CLK为时钟使能信号,RST为复位信号,EN为计数器使能信号,COUT为计数输出端,Co为借位输出端。

电路模块符号如图1所示。

3)设计一个十进制加法计数器。

5.实验报告及总结(1)根据实验内容,写出设计方案。

(2)分析计数器实验原理。

(3)写出VHDL程序,画出仿真波形图。

(4)总结带有复位和时钟使能的十六进制计数器电路设计的方法。

QuartusII实验讲义

QuartusII实验讲义

QuartusII实验讲义实验讲义实验⼀正弦信号发⽣器实验箱⼯作在模式1;clock0设为16Hz本实验预备了两个⽂件:sin.vhd和sinwave.mif。

sin.vhd是顶层设计⽂件;sinwave.mif 是rom的初始化⽂件。

这两个⽂件在下⾯设计将⽤到。

实验之前建⽴⼀个sinwave⽂件夹将以上两个⽂件拷⼊其中。

下⾯将详细介绍设计流程:1 ⼯程创建进⼊QuartusII开发软件,选择File -> New Project Wizad。

弹出⼯程向导对话框,点击Next。

在对应位置填⼊⼯程名和顶层实体名,再点击Next。

点击Next。

实验所使⽤的是Cyclone系列的“EPIC6Q240C8”,点击Finish。

⼯程新建完成,此时只是配置了与⼯程相关的⼀些基本设置,在开发过程中如需要,仍然可以通过菜单Assignments ->Settings来修改。

2 sin信号发⽣器顶层模块的设计新建⽂件,打开File->New,选择Device Design Files⼦类中的VHDL File,点击OK,创建⼀个vhdl⽂件。

也可以⽤下⾯⽅法:本实验事先已经准备了sin.vhd⽂件,可以将其⽂件名改为sinwave.vhd,添加到⼯程中。

3.定制ROM存储sin波形数据1) 建⽴.mif⽂件.mif是FPGA⽚内rom的初始化⽂件。

点击菜单File->New->Other Files项,选择Memory Initialization File点击确定mif⽂件中字宽和字的数⽬,如下图设置,点击OK。

打开mif⽂件。

填⼊正弦波的数据,以⽂件名sinwave.mif保存。

本实验事先已准备了sinwave.mif⽂件,也可以通过右击Project Navigator 中Files,打开File对话框,直接将已经存在的mif⽂件添加到⼯程中。

2)定制ROM下⾯我们将初始化数据⽂件sinwave.mif⽂件加载到硬件模块中,通过菜单Tools->MegaWizard Plug-In Manager 。

Quartus II 软件操作实验报告

Quartus II 软件操作实验报告

实验题目:Quartus II 软件操作一、实验目的(1)了解并掌握QuartusII软件图形输入的使用方法。

(2)了解并掌握仿真(功能仿真及时序仿真)方法及验证设计正确性。

二、实验内容及步骤1.实验内容:本实验通过简单的例子介绍FPGA开发软件QuartusII的使用流程,包括图形输入法的设计步骤和仿真验证的使用以及最后的编程下载。

2.实验步骤:在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。

原理图第1步:打开QuartusII软件,新建一个空项目。

选择菜单File->New Project Wizard,进入新建项目向导,填入项目的名称“hadder”。

第2步:单击Next按钮,进入向导的下一页进行项目内文件的添加操作,或直接点击Next按钮。

第3步:选择CPLD/FPGA器件,选择芯片系列为“MAX II”,型号为“EPM240T100C5”。

向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。

第4步:新建一个图形文件。

选择File->New命令,选择“Diagram/Schematic File”,点击OK按钮完成。

将该图形文件另存为hadder.bdf。

第5步:在图形编辑窗口的空白处双击,打开符号库窗口。

选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。

分别放置与门“7408”和异或门“xor”。

第6步:在编辑窗口中放入两个输入符号,命名为a和b。

放置2个输出“output”符号,并分别命名为s、cout。

将各符号连接起来。

第7步:保存图形文件,进行语法检查和编译。

在信息(Messages)窗口中显示检查结果。

第8步:仿真。

执行File->New命令,选择“Other Files”选项页中 Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口。

另存矢量波形文件为hadder.vwf。

QUARTUS应用二---计数器设计(实验报告模板)

QUARTUS应用二---计数器设计(实验报告模板)

QUARTUS应用二---计数器设计(实验报告模板)
可编程逻辑器件FPGA实验二
计数译码显示系统设计
一、实验目的
1、掌握中规模集成计数器的逻辑功能,以及任意进制计数器的设计方法
2、熟悉显示译码器和数码管的原理及设计应用
3、了解用数字可编程器件实现集成计数译码显示电路的方法
4、学会分频器的使用
5、进一步熟悉QUARTUS软件的基本使用方法
实验原理
1、计数器
(简述设计中所用两种集成计数器功能原理)
2、显示译码器和数码管
(简述显示译码器和数码管的分类)
3、分频器
(简述分频器的功能)
二、实验内容
1、用74161设计一个十九进制的计数器
(1)原理图
(2)功能仿真波形
(3)时序仿真波形
2、用74190设计一个十二进制减法计数器
(1)原理图
(2)功能仿真波形
(3)时序仿真波形
三、实验总结
1、实验故障及解决方法
2、实验体会
四、思考题
1、七段数码管分为共阴极和共阳极两类,本实验用的是哪一类?对两种数码管,各需选用
何种型号的译码器?
2、在采用集成计数器构成任意N进制计数器时,常采用哪两种方法?各有何特点?。

Quartus实验步骤

Quartus实验步骤

实验一:(数据选择器)实验步骤:1、E盘下面建立一个文件夹mux21a名称;2、双击进入QUARTUSII软件使用环境;3、选择Flie—New Project Wizard4、点击NEXT,出现以下框图点右边第一个按钮选在你刚才建立的文件路径到刚才新建的文件夹mux21a(或其他字母符号)。

(注意:工程名要和实体名一致;工程文件夹路径不能有汉字)5.点击Next,出现下图对话框,按照下图选择芯片;点击两次Next,直到出现Finish6.选在Flie—New—VHDL Flie7.输入程序代码;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY mux21a ISPORT ( a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s='0' THEN y<=a;ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;8.输入完毕点SAVE,保存在工程文件夹mux21a内;9.点Processing—Start Compilation10.下面对话框没提示正确的话;11.点击Flie—New—other——Vector Waveform File 点ok;12.选择View—Utility Windons—Node Finder(或者直接点alt+1),在弹出的对话框里面Filter里面选择Pins:all,点击List,出现输入输出信号;选中输入输出信号,拖拽到Vector Waveform File里面,如下图;13.可以关闭Node Finder窗口;14、设置好波形输入信号;(注意:只能给输入波形赋值,输出波形需要仿真得出。

Quartus II实验报告

Quartus II实验报告

××××大学实验报告自学院(系)专业班成绩评定实验题目:第周星期一、实验目的1. 熟悉译码器、数据选择器、计数器等中规模数字集成电路(MSI)的逻辑功能及其使用方法。

2. 掌握用中规模继承电路构成逻辑电路的设计方法。

3. 了解EDA软件平台Quartus II的使用方法及主要功能。

二、预习要求1. 复习数据选择器、译码器、计数器等数字集成器件的工作原理。

2. 熟悉所有器件74LS153、74LS138、74LS161的功能及外引线排列。

3.完成本实验规定的逻辑电路设计项目,并画出接线图,列出有关的真值表。

三、实验基本原理1.译码器译码器的逻辑功能是将每个输入的二进制代码译成对应的高、低电平信号。

译码器按功能可分为两大类,即通用译码器和显示译码器。

通用译码器又包括变量译码器和代码变换译码器。

变量译码器是一种完全译码器,它将一系列输入代码转换成预知一一对应的有效信号。

这种译码器可称为唯一地址译码器。

如3线—8线、4线—16线译码器等。

显示译码器用来将数字或文字、符号的代码译成相应的数字、文字、符号的电路。

如BCD-七段显示译码器等。

2.数据选择器数据选择器也陈伟多路选择器或多路开关,其基本功能是:在选择输入(又称地址输入)信号的控制下,从多路输入数据中选择某一路数据作为输出。

因此,数据选择器实现的是时分多路输入电路中发送端电子开关的功能,故又称为复用器。

一般数据选择器有n 个地址输入端,2n个数据输入端,一个数据输出端或反码数据输出端,同时还有选通端。

目前常用的数据选择器有2选1、4选1、8选1、16选1等多种类型。

3.计数器计数器是一个庸医实现技术功能的时序部件,它不仅可以用来对脉冲计数,还常用作数字系统的定时、分频、执行数字运算以及其他一些特定的逻辑功能。

74LS161是4位同步二进制计数器,它除了具有二进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。

北京科技大学数电实验三 Quartus II显示译码电路及触发器设计计数器

北京科技大学数电实验三 Quartus II显示译码电路及触发器设计计数器

北京科技大学实验报告学院:高等工程师学院专业:自动化(卓越计划)班级:自E181 姓名:杨威学号: 41818074 实验日期:2020 年5月20日一、实验名称:显示译码电路1、实验内容与要求:(1)测试显示译码器74LS248的基本功能使LTN=0,其余为任意状态,这时数码管各段全部点亮,否则数码管是坏的。

再将BIN/RBON接地,数码管全灭,说明数码管是好的。

D、C、B、A分别接拨档逻辑开关,LTN、RBIN和BIN/RBON分别接逻辑高电平。

在不同输入状态下,将从数码管观察到的字形填入功能表中。

使LTN=1,BIN/RBON接一个发光二极管,在RBIN为1和0的情况,使拨档开关的输出为0000,观察灭零功能。

(2)用74LS154实现16进制显示译码器普通显示译码器能够实现10进制数的译码显示,如果要实现16进制数的译码显示需要自行设计74LS154的引脚分布:功能表:2、实验相关知识与原理:(1)数码显示器LC5011-11就是一种共阴极数码显示器。

它的引脚分布如下图所示,X为共阴极,DP为小数点。

其内部是八段发光二极管的负极连在一起的电路。

当在它的a、b、c、∙∙∙、g、DP加上正向电压时,各段发光二极管就点亮。

共阳极数码显示器则相反。

(2)显示译码器74LS248是BCD码到七段码的显示译码器,它可以直接驱动共阴极数码管。

引脚图:功能表:3、显示译码器74248的基本功能验证:(1)原理图截图(2)实验仿真仿真波形如下显示译码器74248的功能验证表格见下一页4、用74154实现十六进制显示译码器: (1)实验设计设i m 为译码器的对应的O0N-O15N 对应的输出,OA-OG 为对应七段数码管的每一根管的输入,因此根据16进制显示译码器的功能表中OA-OG 与D 、C 、B 、A 之间的关系,写出如下各逻辑表达式:14111356111214152121415147101513457912371301712OA mm m m OB m m m m m m OC m m m m OD m m m m m OE m m m m m m OF m m m m m OG m m m m =⋅⋅⋅=⋅⋅⋅⋅⋅=⋅⋅⋅=⋅⋅⋅⋅=⋅⋅⋅⋅⋅=⋅⋅⋅⋅=⋅⋅⋅(2)设计原理图截图(3)实验仿真仿真波形:仿真结果表:5、实验思考题:74248是4线-七段译码器,输出刚好对应共阴数码管的七段。

计算机组成原理QuartusⅡ的使用的实验报告

计算机组成原理QuartusⅡ的使用的实验报告

南通大学计算机科学与技术学院上机实验报告课程名称:计算机组成原理上机日期:2014年姓名:实验名称:Quartus Ⅱ的使用成绩:一、目的及要求实验目的:1.掌握Quartus Ⅱ的基本使用方法2.了解74138(3:8)译码器74244b74273b的功能。

3.利用Quartus Ⅱ验证74138(3:8)译码器、74244b、74273b的功能。

实验要求:1.做好实验预习,掌握74138、74244b、74273b的功能特性。

2. 写出实验报告,内容如下:①实验目的②实验电路图③完整的实验步骤。

④74138、74244b和74273b的功能仿真波形,有关输入输出信号要标注清⑤仿真波形及仿真波形的分析方法、分析过程和分析结果。

二、环境(软、硬件平台)软件平台:Quartus Ⅱ硬件平台::现行的XP,WIN7,64位机都可以使用三、内容及步骤(包括程序流程及说明)1.利用Quartus Ⅱ验证74138(3:8)译码器的功能实验电路图如下:实验步骤:创建波形文件进行仿真分析,对于输入端ABC设置不同的初始值进行测试,对仿真波形及译码的结果进行分析,ABC的初始值从000~111,共有8种,译码器的输出低电平有效的分别从Y0变化至Y72.利用Quartus Ⅱ验证74244b的功能。

实验电路图如下:实验步骤:缓存器74244b的AGN、BGN端低电平有效,输入和输出都采用总线式接法,对于A[4..1]分别设置初始值0000~1111,运行仿真波形观察AY[4..1]的结果,两者应该一致。

3.利用Quartus Ⅱ验证74273b的功能。

实验电路图如下:实验步骤:设置寄存器74273b的各端口取值,CLRN接VCC,时钟CLK上升沿有效,输入和输出同样采用总线式接法,测试时D[8..1]的取值为0000 0000~0000 1000,寄存器将在每个时钟上升沿时被触发,写入新的数据。

四、运行结果1.验证74138(3:8)译码器的功能,运行仿真波形如下:2. 验证缓存器74244b的功能,运行仿真波形如下:3. 验证缓存器74273b的功能,运行仿真波形如下:五、问题及心得通过这次实验,我意识到实践与理论的差距,虽然已经知道74138、74244b和74273b的功能,但是在实验时还是出现了各种各样的问题,如何新建文件,新建波形文件,如何使用总线,如何转换Compile Mode(编译模式)和Simulate Mode(仿真模式),如何在计算机中找到保存好的数据,如何消除毛刺现象,正是在不断的修改中对Quartus Ⅱ的使用愈加熟悉,还有对芯片的功能更多了一分了解,通过实验更能明白课堂理论的抽象涵义,知道缓存器,寄存器的功能。

EDA-Quartus II新实验指导书

EDA-Quartus II新实验指导书

实验的基本步骤本实验指导书的所有实验基于EDA实验台进行。

采用软件为Quartus II ,硬件芯片为ALTERA 的Cyclone II 系列FPGA芯片EP2C8Q208C8。

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

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

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

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

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

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

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

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

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

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

4:所用到的时钟信号必须锁定到28脚,具体原理参考“实验用到的资源和原理”部分。

实验报告格式和内容书写实验报告,语言要简练,书写端正、作图正规。

按照如下格式和内容书写。

注意:试验5为综合性实验,其格式和实验1到4不同,同时其需要有封面并装订成册。

一般实验(实验1――4)项目名称一、实验目的及要求二、实验仪器设备三、实验内容、结果四、实验总结包括实验中遇到的问题,如何解决遇到的问题;实验后的认识和感悟等。

综合性实验(实验6)项目名称一、实验内容二、实验目的及要求三、实验仪器设备四、实验结果五、实验总结实验用到的资源和原理需要的资源:1:逻辑开关2:发光二极管指示灯3:20M时钟数字逻辑实验需要用到的输入为逻辑0、1,由逻辑开关提供,实验板提供了5个逻辑开关,为KEY_OK,KEY_UP,KEY_DOWN,KEY_LEFT,KEY_RIGHT,和FPGA的连接关系如下表1-1。

实验三Quartus的基本使用共80页文档

实验三Quartus的基本使用共80页文档

使用工具
❖ 复杂的系统设计离不开工具的支持,工具的选择也 很重要,选择器件时需要考虑
❖ Altera:
QuartusII+SOPCBuilder+Nios/Excalibur_arm922T +DSP Builder+SignalTap II
❖ Xilinx:
ISE+EDK+MicroBlaze/PowerPC405+ Sysgen/AccelDSP+ChipScope
❖ 设计输入:考察数字电路功底和 verilog语法基础
❖ 仿真:保证设计功能正确
❖ 综合:将高层设计转换为特定 FPGA芯片中Primitives的网表
❖ 适配:FPGA适配器对Primitives 布局布线
❖ 配置器件:……
设计思想 设计输入 功能仿真 FPGA综合 FPGA适配 门级仿真 配置器件
学习工具
❖ help file(内容不多,几十页,英文大体都能 看懂)、官网教程(用到时查看)
❖ Google—良师益友
//两个不错的论坛 bbs.eetop/ 电子顶级开发网论坛 192.168.135.3/嵌入式系统与集成电路设计实 验室论坛
实验室软件环境
❖ 实验室安装Quartus II 9.1版本 ❖ 桌面->EDA tools->Quartus II 9.1或开始->程序-
❖ 文本输入
选择File->Verilog HDL File,设计半加器电路并保 存为half_adder2.v(文件名一定要和模块名称一样, 否则编译的时候找不到实例模块)
❖ 通过对1位半加器的例化实现1位全加器的设计
❖ 按照前面的方法生成1位全加器的方框符号图

Quartus实验三,212卷积码和计数器

Quartus实验三,212卷积码和计数器

课程名称通信系统集成电路设计实验名称Quartus II实验三专业班级姓名学号日期 ______ 2012.1.2 __________实验三: 212卷积码,十进制计数器1. 实验目的a) 掌握在FPGA 上实现212卷积码编码器的方法; b) 用原理图的方法实现十进制加法计数器。

2. 实验环境a) Quartus II 9.1 (32-Bit)b) ModelSim-Altera 6.5a (Quartus II 9.1) c) WinXP 操作系统3. 实验要求1) 212卷积码编码器编写生成212卷积码编码器的程序,仿真后观察波形。

2) 十进制加法同步计数器首先用VHDL 语言描述十进制加法计数器,然后画出它的原理图。

3) 思考题16进制的计数器与PN4的电路图有什么区别。

4. 实验内容1)212卷积码卷积码编码器对输入的数据流每次1bit 或k bit 进行编码,输出n bit 编码符号。

但是输出的分支码字的每个码元不仅与此时可输入的k 个bit 有关,也与前m 个连续式可输入的信息有关,因此编码器应包含m 级寄存器以记录这些信息。

通常卷积码表示为 (n,k,m). 编码率 kr n=当k=1时,卷积码编码器的结构包括一个由m 个串接的寄存器构成的移位寄存器(成为m 级移位寄存器、n 个连接到指定寄存器的模二加法器以及把模二加法器的输出转化为穿行的转换开关。

本报告所讲的(2,1,2)卷积码是最简单的卷积码。

就是2n =,1k =,m=2的卷积码。

每次输入1 bit 输入信息,经过2级移位寄存器,2个连接到指定寄存器的模二加法器,并把加法器输出转化为串行输出。

212编码器原理图如图所示。

2)十进制加法计数器综合数字逻辑电路的知识,设计出满足要求的电路图,然后用VHDL语言对所设计的电路进行描述。

本计数器采用了四个D触发器和一些门级电路来完成。

通过D触发器的二分频功能,对时钟信号二分频后赋给Q(0),再对Q(0)二分频后赋给Q(1),再对Q(1)二分频后赋给Q(2),再对Q(2)二分频后赋给Q(3)。

quartus 2 计数器

quartus 2 计数器

计数器1、实验步骤1)打开Quartus II 8.0开发软件,选择File-〉New Project Wizad。

弹出工程向导对话框,点击Next。

2)在第一行位置指定工程要保存的目录,如D:\Training\lab\CNT10,在第二行位置填入工程名CNT10和顶层实体名CNT10,再点击Next。

3)点击Next。

4)实验所使用的是Cyclone系列的“EP2C35Q672C6”,点击Finish,工程创建完成。

此时只是配置了与工程相关的一些基本设置,在开发过程中如需要,仍然可以通过菜单Assignments ->Settings来修改。

5)新建文件:打开File->New,选择Device Design Files子类中的VHDL File,点击OK,创建一个VHDL文件。

6)在编辑区输入VHDL语言,或者用文本方式打开DIV.txt文件将其中的内容拷贝到编辑区,并以DIV.vhd文件名保存。

7)在快捷菜单中点击Start Analysis & Synthesis,开始对程序语言进行编译。

8)等待,编译完成后观察是否有错误。

如有error,则修改直至没有error,只出现warnings 没有关系,点击“确定”,关闭该窗口。

9)返回DIV.vhd界面,点击File->Create / update ->Create Symbol Files for Current File10)等待,出现下面界面,点击确定11)再新建文件:打开File->New,选择Device Design Files子类中的VHDL File,点击OK,创建一个VHDL文件。

12)在编辑区输入VHDL语言,或者用文本方式打开SEG7.txt文件将其中的内容拷贝到编辑区,并以SEG7.vhd文件名保存。

13)在快捷菜单中点击Start Analysis & Synthesis,开始对程序语言进行编译。

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

课程名称通信系统集成电路设计实验名称Quartus II实验三专业班级姓名学号日期 ______ 2012.1.2 __________实验三: 212卷积码,十进制计数器1. 实验目的a) 掌握在FPGA 上实现212卷积码编码器的方法; b) 用原理图的方法实现十进制加法计数器。

2. 实验环境a) Quartus II 9.1 (32-Bit)b) ModelSim-Altera 6.5a (Quartus II 9.1) c) WinXP 操作系统3. 实验要求1) 212卷积码编码器编写生成212卷积码编码器的程序,仿真后观察波形。

2) 十进制加法同步计数器首先用VHDL 语言描述十进制加法计数器,然后画出它的原理图。

3) 思考题16进制的计数器与PN4的电路图有什么区别。

4. 实验内容1)212卷积码卷积码编码器对输入的数据流每次1bit 或k bit 进行编码,输出n bit 编码符号。

但是输出的分支码字的每个码元不仅与此时可输入的k 个bit 有关,也与前m 个连续式可输入的信息有关,因此编码器应包含m 级寄存器以记录这些信息。

通常卷积码表示为 (n,k,m). 编码率 kr n=当k=1时,卷积码编码器的结构包括一个由m 个串接的寄存器构成的移位寄存器(成为m 级移位寄存器、n 个连接到指定寄存器的模二加法器以及把模二加法器的输出转化为穿行的转换开关。

本报告所讲的(2,1,2)卷积码是最简单的卷积码。

就是2n =,1k =,m=2的卷积码。

每次输入1 bit 输入信息,经过2级移位寄存器,2个连接到指定寄存器的模二加法器,并把加法器输出转化为串行输出。

212编码器原理图如图所示。

2)十进制加法计数器综合数字逻辑电路的知识,设计出满足要求的电路图,然后用VHDL语言对所设计的电路进行描述。

本计数器采用了四个D触发器和一些门级电路来完成。

通过D触发器的二分频功能,对时钟信号二分频后赋给Q(0),再对Q(0)二分频后赋给Q(1),再对Q(1)二分频后赋给Q(2),再对Q(2)二分频后赋给Q(3)。

但是,在设计时要注意,因为是10进制,当计数到达9后必须复位,所以设计一个带非门输入的与非门,输出连接到各D触发器的复位端口,当Q(3 to 0)=’1001’时,与非门输出0并复位各D触发器。

5.实验步骤及结果(一) 212编码器1)建立名为juanji的新工程,编写212编码器的juanji.vdl和测试向量文件tb_juanji.vdl,并添加到工程中;2)用Modelsim仿真结果。

编译通过后仿真,结果如下:图仿真波形图clk是时钟信号,rst复位信号,d是输入序列,s是输出序列。

rst=1时复位,所有的寄存器置0;rst=0后,d输入序列先为1再为0最后又为1。

观察可以看到,d为1的时候,s刚开始输出的序列是一样的。

这是由于d为0的时间足够长,使两个寄存器里存的数都为0。

而由于卷积码的输出不仅与当前的输入有关,还与前k bits个输入有关,所以当d持续为1时,输出s 也是有变化的。

(二)十进制加法计数器1)counter10工程由两个模块构成。

他们分别是:计数器模块counter10、测试向量模块tb_counter10。

编译成功后,仿真得到:放大图后,在rst信号变0后,来的第一个时钟信号使data从零变成了1,此后逐渐增加到9,然后归零又重新开始计数。

可见设计图满足要求。

点击Tools,然后点击Netlist Viewers,再选择RTL Viewer,就能根据程序生成寄存器传输级原理图。

6.需要注意的地方(一)、卷积码编码器a)s<=c1 when clk = '1' else c2; 这句话不能写在process里源代码architecture behave of juanji is……begin……s<=c1 when clk = '1' else c2;process(rst,clk)……end process;end behave;一开始我在process里的elsif后面补充,“elsif(clk=’1’) thens<=c1;elses<=c2;end if; ”结果编译报错,Error (10818): Can't infer register for "s" at juanji.vhd(21) because it does not hold its value outside the clock edge.应该把这个写在进程外,s<=c1 when clk = '1' else c2;(二)、十进制加法计数器a)、一开始以为D触发器能够像原来寄存器那样用std_logic_vector来声明就可以,后来写程序遇到麻烦才意识到D触发器要自己描述:elsif(clock'event and clock='1') thenif(count='1')thenQ<="1010";elseif(D(0)='1')thenQ(0)<= not Q(0);end if;if(D(1)='1')thenQ(1)<= not Q(1);end if;if(D(2)='1')thenQ(2)<= not Q(2);end if;if(D(3)='1')thenQ(3)<= not Q(3);end if;end if;7.实验结论:这次的实验包括卷积码生成器和十进制计数器。

两个电路都少不了D触发器,前者是利用其存储的功能,后者是利用其二分频的功能。

十进制计数器也比上次的16进制计数器要稍微复杂些;另外,这次也学习了如何根据VHDL描述语言生成寄存器传输级电路图。

通过这次学习,我加深了对VHDL语言的理解。

思考题:16进制的计数器与PN4的电路图有什么区别。

1.周期不同:PN4的周期是2^4-1=15, 16进制的计数器的周期是16;2. 都使用了D触发器,但PN4是利用其存储的功能,16进制的计数器是利用其二分频的功能。

8.附程序1.卷积码生成器(1)模块程序(juanji.vhd)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity juanji isport(clk,rst,d:in std_logic;s:out std_logic);end juanji;architecture behave of juanji issignal m:std_logic_vector(2 downto 0);signal c1:std_logic;signal c2:std_logic;beginc1<=m(0) xor m(1) xor m(2);c2<=m(0) xor m(2);s<=c1 when clk = '1' else c2;process(rst,clk)beginif(rst='1') thenm<="000";elsif(clk'event and clk='1') thenm(0)<=m(1);m(1)<=m(2);m(2)<=d;end if;end process;end behave;(2).测试向量(tb_juanji.vhd)library ieee;use ieee.std_logic_1164.all;entity tb_juanji isend tb_juanji;architecture behaviour of tb_juanji is component juanjiport(clk,rst,d:in std_logic;s:out std_logic);end component;--inputsignal clk:std_logic :='0';signal rst:std_logic :='0';signal d:std_logic;--outputsignal s:std_logic :='0';beginuut:juanji port map(clk=>clk,rst=>rst,d=>d,s=>s);clk_process:processbeginclk<='0';wait for 5ns;clk<='1';wait for 5ns;end process;d_rst_process:processbeginrst<='1';d<='1';wait for 50ns;rst<='0';wait for 50ns;d<='0';wait for 50ns;d<='1';wait;end process;end behaviour;2. 十进制计数器(1)counter10.vhdlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;--use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity counter10 isPort(reset : in std_logic;clock : in std_logic;Qout: out std_logic_vector(3 downto 0));end counter10;architecture behave of counter10 issignal Q: std_logic_vector(3 downto 0) :="0000"; signal Qn: std_logic_vector(3 downto 0);signal D: std_logic_vector(3 downto 0);signal count: std_logic :='0';begincount <= Q(3) and Qn(2) and Qn(1) and Q(0);Qout<=Q;Qn <=not Q;D(0)<='1';D(1)<=Q(0);D(2)<=Q(1) and Q(0);D(3)<=Q(2) and Q(1) and Q(0);process(clock,reset)beginif (reset = '1') thenQ<= "0000";elsif(clock'event and clock='1') thenif(count='1')thenQ<="0000";elseif(D(0)='1')thenQ(0)<= not Q(0);end if;if(D(1)='1')thenQ(1)<= not Q(1);end if;if(D(2)='1')thenQ(2)<= not Q(2);end if;if(D(3)='1')thenQ(3)<= not Q(3);end if;end if;end if;end process;end behave;(2)测试向量tb_counter10.vhdLIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;ENTITY tb_counter10 ISEND tb_counter10;ARCHITECTURE behavior OF tb_counter10 IS-- Component Declaration for the Unit Under Test (UUT) COMPONENT counter10Port(reset : in std_logic;clock : in std_logic;Qout: out std_logic_vector(3 downto 0));END COMPONENT;--InputsSIGNAL clk : std_logic := '0';SIGNAL rst : std_logic := '0';--OutputsSIGNAL dataout1 : std_logic_vector(3 downto 0); BEGIN-- Instantiate the Unit Under Test (UUT)uut: counter10 PORT MAP(reset => rst,clock => clk,Qout => dataout1);--clkgen:clk_gen: processbeginclk<='0'; wait for 50 ns;loopclk<=not clk; wait for 5 ns;end loop;end process;reset_gen: processbeginrst<='1'; wait for 115 ns;rst<='0'; wait;end process;END;。

相关文档
最新文档