QUARTUSII软件开放性实验报告
- 格式:doc
- 大小:1.66 MB
- 文档页数:20
实验一QUARTUSII原理图输入法实验
一,实验目的
熟悉利用Quartusll的原理图输入方法设计简单电子线路,掌握原理图输入法设计思路,掌握层次化设计的方法,并通过8位全家器和5-24线译码器的设计把握利用EDA软件进行电子线路设计的详细流程。
二,实验内容
1,用原理图输入设计一个一位全加器
三,实验原理
1,一个一位全加器可以由两个一位半加器和一个或门构成,先用原理图输入法绘制半加器文件,然后生成半加器模块,保存在当前文件夹。
然后新建一个原理图文件,在当前文件夹中调用2个新生成的半加器模块和一个或门。
然后用导线连接即可。
具体步骤参见课本及半加器和全加器原理图参见课本相关章节。
四,实验设备
Pc机Quartusll软件
五,实验截图
六,实验心得体会。
quartus ii实验报告Quartus II实验报告引言:Quartus II是一款由Intel公司开发的集成电路设计软件,广泛应用于数字逻辑设计和FPGA开发领域。
本实验报告旨在介绍Quartus II的基本功能和使用方法,并通过实际案例展示其在数字逻辑设计中的应用。
一、Quartus II概述Quartus II是一款功能强大的集成电路设计软件,它提供了从设计到验证的全套工具。
Quartus II支持多种编程语言,如VHDL和Verilog,使得用户可以根据自己的需求选择适合的语言进行设计。
此外,Quartus II还提供了丰富的库和模块,方便用户进行快速原型开发和验证。
二、Quartus II的基本功能1. 设计入口Quartus II提供了多种设计入口,包括图形界面、命令行和脚本等方式。
用户可以根据自己的习惯和需求选择适合的方式进行设计。
图形界面友好易用,适合初学者;命令行和脚本则更适合有一定经验和需求的用户。
2. 设计编辑Quartus II提供了强大的设计编辑功能,用户可以在其中创建和编辑设计模块、信号线和电路连接等。
设计编辑界面清晰简洁,用户可以方便地进行设计布局和调整。
3. 仿真和验证Quartus II内置了仿真和验证工具,用户可以通过仿真来验证设计的正确性和性能。
仿真工具支持波形查看和信号分析等功能,帮助用户进行设计调试和优化。
4. 综合和优化Quartus II具备强大的综合和优化功能,可以将设计代码转化为硬件描述,进而生成逻辑电路。
综合工具会根据用户的约束条件和优化目标,自动进行逻辑优化和资源分配,提高设计的性能和效率。
5. 布局和布线Quartus II提供了先进的布局和布线工具,可以将逻辑电路映射到实际的FPGA芯片上。
布局工具可以根据用户的约束条件和性能要求,自动进行电路元件的位置分配;布线工具则负责将电路元件之间的连接线路进行规划和布线。
6. 下载和调试Quartus II支持将设计文件下载到目标FPGA芯片上,并提供了调试工具来验证和调整设计的正确性。
实验题目: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 II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
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译码器。
实验一_QuartusII的使用引言:Quartus II是一款由美国Intel公司开发的FPGA设计软件,广泛应用于数字集成电路设计和原型验证。
本实验将介绍Quartus II的基本使用方法,包括项目创建、设计输入、约束设置、编译与仿真等。
一、环境准备二、项目创建1.启动Quartus II软件,选择"File" -> "New Project Wizard"创建新项目。
在弹出的对话框中,选择项目的存储位置和名称,并选择合适的目标设备和设计流程。
点击"Next"进入下一步。
2.在第二步中,选择项目的项目类型和是否要添加预定义的IP (Intellectual Property)核。
IP核是现成的、可重用的模块,可以简化设计。
根据自己的需求进行选择,点击"Next"。
3.在第三步中,选择顶层设计文件的命名,并点击"Next"。
5.在第五步中,对项目的设置进行回顾,并点击"Finish"完成项目创建。
三、设计输入1.双击项目中的顶层设计文件,打开Design Entry工具。
在Design Entry工具中,可以通过图形界面或者Verilog/VHDL语言进行设计输入。
a.如果选择使用图形界面,可以在左侧工具栏中选择需要的元件,然后在设计区域中拖拽放置,最终形成需要的电路结构。
b.如果选择使用Verilog/VHDL语言,可以在设计区域中输入相应的代码,然后进行语法检查。
2.在设计完成后,可以使用编译按钮对设计进行编译。
编译过程中,Quartus II会对设计进行分析、优化和进行布线等操作,生成逻辑网表。
四、约束设置1.双击项目中的顶层设计文件,打开Design Constraints工具。
在Design Constraints工具中,可以设置时钟频率、信号约束、引脚约束等。
实验题目: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软件进行数字电路实验的过程和结果。
一、实验目的数字电路设计是一门复杂而精密的学科,它涉及到逻辑门、时序电路等多个方面。
本实验的目的是通过使用Quartus软件,深入了解数字电路设计的基本原理和方法,并通过实际操作,掌握数字电路设计的过程和技巧。
二、实验过程1. Quartus软件介绍Quartus是一款由Intel公司开发的数字电路设计软件。
它提供了丰富的工具和功能,可以帮助工程师们设计和验证数字电路。
在本实验中,我们将使用Quartus进行数字电路的设计和仿真。
2. 实验准备在进行实验之前,我们需要准备一些必要的材料和工具。
首先,我们需要一台计算机,并在上面安装Quartus软件。
其次,我们需要一些基本的电子元件,如逻辑门、触发器等。
最后,我们还需要一些实验电路板和连接线。
3. 实验设计在实验设计阶段,我们需要根据实验要求,选择合适的数字电路,并进行设计。
在Quartus软件中,我们可以使用图形化界面进行电路设计,也可以使用硬件描述语言进行设计。
根据实验要求,我们选择了使用硬件描述语言进行设计。
4. 电路仿真在完成电路设计之后,我们需要对电路进行仿真,以验证其正确性和可行性。
在Quartus软件中,我们可以使用ModelSim仿真工具进行电路仿真。
通过仿真,我们可以观察电路的工作状态和输出结果,以判断电路设计是否满足要求。
5. 电路实现在经过仿真验证后,我们可以将电路实现到实验电路板上。
通过连接线将电路板与计算机连接起来,然后将设计好的电路下载到电路板中。
在实验过程中,我们需要注意电路的连接和布线,以确保电路能够正常工作。
三、实验结果通过使用Quartus软件进行实验,我们成功设计和实现了多个数字电路。
在仿真过程中,我们观察到电路的工作状态和输出结果与预期一致,证明了电路设计的正确性和可行性。
实验一:QuartusII软件的使用一、实验目的1、了解和学习Quartus II 7.2软件设计平台。
2、了解EDA的设计过程。
3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。
4、学习和掌握D触发器的工作和设计原理。
5、初步掌握该实验的软件仿真过程。
二、实验仪器PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。
三、实验步骤1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。
2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDL File 点击OK。
3、文本输入,在文本中输入如下程序代码: library ieee;Use ieee.std_logic_1164.all;entity men isport(a,b:in std_logic;c:out std_logic);end men;architecture rt1 of men isbeginc<=a AND b;end rt1;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。
点击projet->Set as Top-level EntityCtrl+Shift+J接下来进行编译,点击processing->Start Compilation ,见下图5、仿真验证,打开波形编辑器,新建一个波形仿真文件,如下图:然后选择菜单“View”→“Utility”→“Node Finder”出现如下对话框,在“Filter”中选择“Pins:all”,再点击“List”即在下边的“Node Found”框中出现本设计项目中所有端口引脚列表,从端口列表中选择所需要的,并逐个拖到波形编辑器窗口中。
计算机组成原理Quartus Ⅱ的使用的实验报告
南通大学计算机科学与技术学院上机实验报告
课程名称:计算机组成原理上机日期:2014年姓名:
实验名称:Quartus Ⅱ的使用成绩:
实验步骤:创建波形文件进行仿真分析,对于输入端ABC设置不同的初始值进行测试,对仿真波形及译码的结果进行分析,ABC的初始值从000~111,共有8种,译码器的输出低电平有效的分别从Y0变化至Y7
2.利用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的功能,运行仿真波形如下:。
南通大学计算机科学与技术学院上机实验报告课程名称:计算机组成原理上机日期: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 Ⅱ的使用愈加熟悉,还有对芯片的功能更多了一分了解,通过实验更能明白课堂理论的抽象涵义,知道缓存器,寄存器的功能。
Quartus II 实验报告时间:2014-12-21 地点:行政楼202机房指导老师:王本有一、实验目的1、熟悉Quartus II的软件的基本操作。
2、使用Quartus II软件绘制简单原理图电路。
3、使用Quartus II进行VHDL的组合逻辑电路设计。
二、实验内容1、先打开Quartus II软件,点File菜单→new→Device Design File→ VHDL File,新建一个新的VHDL空白文件,在这个新弹出的空白窗口里输入一个四选一电路的VHDL程序,输入完毕后点击File菜单→Save as…,在弹出的窗口里选择一个纯英文路径,保存刚才写好的VHDL文件,此处的VHDL文件里面电路的名字MUX41要与文件的保存名字一致,点击保存。
然后会弹出一个Do you want to creat a new project with this file?的对话框,点击Yes按钮,会弹出新建工程页面。
此处若要详细对芯片的选择进行设置可以点击Next逐步选择,也可直接选择Finish使用默认选项。
点击Finish,完成新工程的创建。
编写好VHDL后,对VHDL进行编译,若有错误,可双击错误选项进行修改,通常只需修改第一项后继续编译,修改完成后如下图所示:图01-01 四选一VHDL程序程序编译完成没有出错后,就可以进行波形仿真。
点击File菜单→new→Other Files→Vector Waveform File,新建一个波形仿真窗口,在新弹出来的窗口空白处点击鼠标右键,弹出一个菜单,选择Insert Node or Bus…选项,在弹出的窗口中选择Node Finder…,然后点击新窗口中的List按钮把VHDL中的引脚全部列出来,然后点击>>按钮把引脚导入到波形仿真窗口中,点击OK。
此时波形仿真窗口出现多个引脚,点击保存将波形仿真也保存到刚才VHDL文件的相同路径下,名字也为MUX41,。
开放性实验报告专业:电子信息工程班级: *电信*班姓名:学号:指导老师:实验一:流水灯一.实验内容利用QUARTUSII软件,构建NIOSII软核系统,编写程序,实现实验箱上LED灯的流水功能。
二.实验原理通过提前设定NIOSII软核处理器的相关寄存器,控制led 的IO 口的高低电平输出及响应间隔时间,从而改变LED的亮灭并达到流水灯效果。
三.实验步骤1.硬件设计(1).构建NIOSII软核NIOSII软核处理器包括cpu,sdram控制器,串行flash控制器,jtag_uart,sysid,pio端口。
(2).PLL模块的构建实验箱的板载有源晶振频率为50MHZ,NIOSII及SDRAM需要100MHZ 的时钟源,因此需要用PLL模块进行倍频。
PLL模块的配置如图所示:输入时钟频率为50MHZ输出时钟c0为输入时钟的2倍频输出时钟c1为输入时钟的2倍频,相位偏移-75度,为SDRAM 提供工作时钟PLL模块:(3).系统连线及引脚分配qsf文件中的引脚分配:set_location_assignment PIN_AF21 -to sdram_addr[0] set_location_assignment PIN_AE20 -to sdram_addr[1] set_location_assignment PIN_AF20 -to sdram_addr[2] set_location_assignment PIN_AE19 -to sdram_addr[3] set_location_assignment PIN_B20 -to sdram_addr[4] set_location_assignment PIN_A21 -to sdram_addr[5] set_location_assignment PIN_B21 -to sdram_addr[6] set_location_assignment PIN_A22 -to sdram_addr[7] set_location_assignment PIN_B22 -to sdram_addr[8] set_location_assignment PIN_A23 -to sdram_addr[9] set_location_assignment PIN_AE21 -to sdram_addr[10] set_location_assignment PIN_B23 -to sdram_addr[11] set_location_assignment PIN_B24 -to sdram_addr[12] set_location_assignment PIN_AE22 -to sdram_ba[0]set_location_assignment PIN_AF22 -to sdram_ba[1] set_location_assignment PIN_AE24 -to sdram_cas_n set_location_assignment PIN_B25 -to sdram_ckeset_location_assignment PIN_AF23 -to sdram_cs_n set_location_assignment PIN_AD25 -to sdram_dq[0] set_location_assignment PIN_AC25 -to sdram_dq[1] set_location_assignment PIN_AC26 -to sdram_dq[2] set_location_assignment PIN_AB25 -to sdram_dq[3] set_location_assignment PIN_AB26 -to sdram_dq[4] set_location_assignment PIN_AA25 -to sdram_dq[5] set_location_assignment PIN_AA26 -to sdram_dq[6] set_location_assignment PIN_Y25 -to sdram_dq[7] set_location_assignment PIN_W26 -to sdram_dq[8] set_location_assignment PIN_V25 -to sdram_dq[9] set_location_assignment PIN_V26 -to sdram_dq[10] set_location_assignment PIN_U25 -to sdram_dq[11] set_location_assignment PIN_U26 -to sdram_dq[12] set_location_assignment PIN_T25 -to sdram_dq[13] set_location_assignment PIN_R25 -to sdram_dq[14] set_location_assignment PIN_P24 -to sdram_dq[15] set_location_assignment PIN_N24 -to sdram_dq[16] set_location_assignment PIN_M25 -to sdram_dq[17] set_location_assignment PIN_L25 -to sdram_dq[18] set_location_assignment PIN_K26 -to sdram_dq[19] set_location_assignment PIN_K25 -to sdram_dq[20] set_location_assignment PIN_J26 -to sdram_dq[21] set_location_assignment PIN_J25 -to sdram_dq[22] set_location_assignment PIN_H26 -to sdram_dq[23] set_location_assignment PIN_G25 -to sdram_dq[24] set_location_assignment PIN_F26 -to sdram_dq[25] set_location_assignment PIN_F25 -to sdram_dq[26] set_location_assignment PIN_E26 -to sdram_dq[27] set_location_assignment PIN_E25 -to sdram_dq[28] set_location_assignment PIN_D26 -to sdram_dq[29] set_location_assignment PIN_D25 -to sdram_dq[30] set_location_assignment PIN_C25 -to sdram_dq[31] set_location_assignment PIN_Y26 -to sdram_dqm[0] set_location_assignment PIN_W25 -to sdram_dqm[1] set_location_assignment PIN_H25 -to sdram_dqm[2] set_location_assignment PIN_G26 -to sdram_dqm[3] set_location_assignment PIN_AE23 -to sdram_ras_n set_location_assignment PIN_AE25 -to sdram_we_n set_location_assignment PIN_F21 -to clk_sdram2.软件设计system.h文件中关于PIO_LED的宏定义#define PIO_LED_NAME "/dev/pio_LED"#define PIO_LED_TYPE "altera_avalon_pio"#define PIO_LED_BASE 0x00001800#define PIO_LED_SPAN 16#define PIO_LED_DO_TEST_BENCH_WIRING 0#define PIO_LED_DRIVEN_SIM_VALUE 0#define PIO_LED_HAS_TRI 0#define PIO_LED_HAS_OUT 1#define PIO_LED_HAS_IN 0#define PIO_LED_CAPTURE 0#define PIO_LED_DATA_WIDTH 8#define PIO_LED_RESET_VALUE 0#define PIO_LED_EDGE_TYPE "NONE"#define PIO_LED_IRQ_TYPE "NONE"#define PIO_LED_BIT_CLEARING_EDGE_REGISTER 0#define PIO_LED_BIT_MODIFYING_OUTPUT_REGISTER 0#define PIO_LED_FREQ 100000000#define ALT_MODULE_CLASS_pio_LED altera_avalon_pio利用system.h文件编写sopc.h,通过操作结构体PIO_STR完成对PIO_寄存器的操作。
QuartusII实验报告××××⼤学实验报告⾃学院(系)专业班成绩评定实验题⽬:第周星期⼀、实验⽬的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位同步⼆进制计数器,它除了具有⼆进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
开放性实验报告专业:电子信息工程班级: *电信*班姓名:学号:指导老师:实验一:流水灯一.实验内容利用QUARTUSII软件,构建NIOSII软核系统,编写程序,实现实验箱上LED灯的流水功能。
二.实验原理通过提前设定NIOSII软核处理器的相关寄存器,控制led 的IO 口的高低电平输出及响应间隔时间,从而改变LED的亮灭并达到流水灯效果。
三.实验步骤1.硬件设计(1).构建NIOSII软核NIOSII软核处理器包括cpu,sdram控制器,串行flash控制器,jtag_uart,sysid,pio端口。
(2).PLL模块的构建实验箱的板载有源晶振频率为50MHZ,NIOSII及SDRAM需要100MHZ 的时钟源,因此需要用PLL模块进行倍频。
PLL模块的配置如图所示:输入时钟频率为50MHZ输出时钟c0为输入时钟的2倍频输出时钟c1为输入时钟的2倍频,相位偏移-75度,为SDRAM 提供工作时钟PLL模块:(3).系统连线及引脚分配qsf文件中的引脚分配:set_location_assignment PIN_AF21 -to sdram_addr[0] set_location_assignment PIN_AE20 -to sdram_addr[1] set_location_assignment PIN_AF20 -to sdram_addr[2] set_location_assignment PIN_AE19 -to sdram_addr[3] set_location_assignment PIN_B20 -to sdram_addr[4] set_location_assignment PIN_A21 -to sdram_addr[5] set_location_assignment PIN_B21 -to sdram_addr[6] set_location_assignment PIN_A22 -to sdram_addr[7] set_location_assignment PIN_B22 -to sdram_addr[8] set_location_assignment PIN_A23 -to sdram_addr[9] set_location_assignment PIN_AE21 -to sdram_addr[10] set_location_assignment PIN_B23 -to sdram_addr[11] set_location_assignment PIN_B24 -to sdram_addr[12] set_location_assignment PIN_AE22 -to sdram_ba[0]set_location_assignment PIN_AF22 -to sdram_ba[1] set_location_assignment PIN_AE24 -to sdram_cas_n set_location_assignment PIN_B25 -to sdram_ckeset_location_assignment PIN_AF23 -to sdram_cs_n set_location_assignment PIN_AD25 -to sdram_dq[0] set_location_assignment PIN_AC25 -to sdram_dq[1] set_location_assignment PIN_AC26 -to sdram_dq[2] set_location_assignment PIN_AB25 -to sdram_dq[3] set_location_assignment PIN_AB26 -to sdram_dq[4] set_location_assignment PIN_AA25 -to sdram_dq[5] set_location_assignment PIN_AA26 -to sdram_dq[6] set_location_assignment PIN_Y25 -to sdram_dq[7] set_location_assignment PIN_W26 -to sdram_dq[8] set_location_assignment PIN_V25 -to sdram_dq[9] set_location_assignment PIN_V26 -to sdram_dq[10] set_location_assignment PIN_U25 -to sdram_dq[11] set_location_assignment PIN_U26 -to sdram_dq[12] set_location_assignment PIN_T25 -to sdram_dq[13] set_location_assignment PIN_R25 -to sdram_dq[14] set_location_assignment PIN_P24 -to sdram_dq[15] set_location_assignment PIN_N24 -to sdram_dq[16] set_location_assignment PIN_M25 -to sdram_dq[17] set_location_assignment PIN_L25 -to sdram_dq[18] set_location_assignment PIN_K26 -to sdram_dq[19] set_location_assignment PIN_K25 -to sdram_dq[20] set_location_assignment PIN_J26 -to sdram_dq[21] set_location_assignment PIN_J25 -to sdram_dq[22] set_location_assignment PIN_H26 -to sdram_dq[23] set_location_assignment PIN_G25 -to sdram_dq[24] set_location_assignment PIN_F26 -to sdram_dq[25] set_location_assignment PIN_F25 -to sdram_dq[26] set_location_assignment PIN_E26 -to sdram_dq[27] set_location_assignment PIN_E25 -to sdram_dq[28] set_location_assignment PIN_D26 -to sdram_dq[29] set_location_assignment PIN_D25 -to sdram_dq[30] set_location_assignment PIN_C25 -to sdram_dq[31] set_location_assignment PIN_Y26 -to sdram_dqm[0] set_location_assignment PIN_W25 -to sdram_dqm[1] set_location_assignment PIN_H25 -to sdram_dqm[2] set_location_assignment PIN_G26 -to sdram_dqm[3] set_location_assignment PIN_AE23 -to sdram_ras_n set_location_assignment PIN_AE25 -to sdram_we_n set_location_assignment PIN_F21 -to clk_sdram2.软件设计system.h文件中关于PIO_LED的宏定义#define PIO_LED_NAME "/dev/pio_LED"#define PIO_LED_TYPE "altera_avalon_pio"#define PIO_LED_BASE 0x00001800#define PIO_LED_SPAN 16#define PIO_LED_DO_TEST_BENCH_WIRING 0#define PIO_LED_DRIVEN_SIM_VALUE 0#define PIO_LED_HAS_TRI 0#define PIO_LED_HAS_OUT 1#define PIO_LED_HAS_IN 0#define PIO_LED_CAPTURE 0#define PIO_LED_DATA_WIDTH 8#define PIO_LED_RESET_VALUE 0#define PIO_LED_EDGE_TYPE "NONE"#define PIO_LED_IRQ_TYPE "NONE"#define PIO_LED_BIT_CLEARING_EDGE_REGISTER 0#define PIO_LED_BIT_MODIFYING_OUTPUT_REGISTER 0#define PIO_LED_FREQ 100000000#define ALT_MODULE_CLASS_pio_LED altera_avalon_pio利用system.h文件编写sopc.h,通过操作结构体PIO_STR完成对PIO_寄存器的操作。
sopc.h文件:#ifndef SOPC_H_#define SOPC_H_#include"system.h"#define _LEDtypedef struct{unsigned long int DATA;unsigned long int DIRECTION;unsigned long int INTERRUPT_MASK;unsigned long int EDGE_CAPTURE;}PIO_STR;#ifdef _LED#define LED ((PIO_STR *)PIO_LED_BASE)#endif#endifMain.c文件全部源码:#include <stdio.h>#include <unistd.h>#include"../inc/sopc.h"int main(){int i;while(1){for(i = 0;i <8 ;i++){LED->DATA = ~(1<<i);usleep(500000);}}return 0;}实验二:数码管显示一.实验内容利用QUARTUSII软件,构建NIOSII软核处理器系统,在NIOS IDE 软件中编写程序,实现实验箱上数码管的动态显示。