四选一数据选择器课程设计.docx
《四选一数据选择器课程设计.docx》由会员分享,可在线阅读,更多相关《四选一数据选择器课程设计.docx(11页珍藏版)》请在冰豆网上搜索。
![四选一数据选择器课程设计.docx](https://file1.bdocx.com/fileroot1/2023-2/3/21261fb2-99c2-4410-9af7-e9a0f69ab233/21261fb2-99c2-4410-9af7-e9a0f69ab2331.gif)
四选一数据选择器课程设计
EDA课程设计报告
题目:
四选一数据选择器
院系班级:
设计者:
指导老师:
设计时间:
1、设计目的、要求
1.1、设计目的
了解并掌握一般设计方法,具备初步的独立设计能力;掌握用VerilogHDL语言程序的基本技能;提高综合运用所学的理论知识独立分析和解决问题的能力;进一步掌握EDA技术的开发流程,学习其独特的运用,进一步的提高自己的动手能力和知识领域。
以及对于多路选择器的认识和其工作原理。
熟悉QuartusII的VerilogHDL语言设计流程全过程,学习计数器的设计与仿真,掌握组合逻辑电路的静态测试方法,初步了解可编程器件设计的全过程。
1.2、系统设计要求
由KEY1-KEY2、clock0、clock1端口控制输入4个输入数据,用sw1、sw2-sw3三个开关分别作使能端和控制端,选择其中一个输出,结果由LED1显示。
1.3、设计工具
软件:
QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:
可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件。
硬件:
MagicSOPC是基于ALTERANIOSIISOPC的专业级创新教学实验开发平台;采用ALTERA公司CycloneII系列150万门的FPGA,先进的系统化、模块化设计;丰富的人机交互方式,众多的高性能外设使得MagicSOPC开发平台具有卓越的性能和无与伦比的灵活性;是目前全球外设接口最丰富、配套资料最齐全、功能最强大的SOPC/EDA/DSP开发平台;是SOPC、EDA、DSP教学实验、电子设计创新实验室、现代嵌入式系统实验室、科研开发的上佳选择。
2、设计原理及相关硬件
2.1、系统设计方案及原理
数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。
其主要功能是从多路数据中选择其中一路信号发送出去。
所以它是一个多输入、单输出的组合路基电路。
该设计的顶层原理图如图2.1所示,主要由xy4模块组成。
图2.1逻辑原理图
2.2、硬件原理
1、四选一数据择器硬件原理
主板上具有两个外部时钟,三个开关,两个按钮,电路如图2.2所示,电路中低电平表示按键按下,低电平点亮LED。
图2.2四选一数据选择器电路
3、主要模块设计
3.1、模块xy4
1、功能说明
Key1、Key2,分别为按键输入的高低电平;clock0、clock1,分别为外部时钟;a[1..0]是控制四个数据的输出,并由发光二极管y显示数据的输出状态;en是一个使能控制端,控制芯片的工作状态。
图3.1按键原理图
2、模块说明:
Key1:
高电平按键;
Key2:
低电平按键;
Clock0:
外部输入时钟15Hz;
Clock1:
外部输入时钟6MHz;
a【1..0】:
两个开关sw2、sw3,控制四个数据的输出;
en:
使能端,一个开关sw1,控制芯片的工作作态;
y:
发光二极管led1,显示输出状态。
4、系统编译及仿真过程
4.1、工程建立
1、建立QuartusII建立工程
(1)打开QuartusII软件并建立工程
(2)建立图形设计文件
(3)建立文本编辑文件
2、QuartusII工程设计
(1)在VerilongHDL文件中编写源程序
(2)从设计文件创建模块
(3)添加xy4模块到QuartusII顶层模块
(4)添加引脚和其它基本单元
(5)选择器件型号
(6)分配FPGA引脚
(7)器件和引脚的其它设置
3、设置编译选项并编译硬件系统
(1)设置编译选项
(2)编译硬件系统
(3)查看编译报告
(4)下载硬件设计到目标FPGA
(5)观察实验现象
下面图4.1为一个建立好的工程。
图4.1工程界面
4.2、系统编译
图4.2编译结果
4.3、仿真
图4.3未运行的波形图
图4.4运行后的波形图
说明:
en使能端,高电平有效,a是控制端,用二进制代码控制,b00是按键key1高电平输出,b01是按键key2低电平输出,b10是clock0时钟输出,b11是clock1时钟输出,最后由发光二极管y来显示输出状态,低电平点亮灯。
5、硬件验证过程和分析
5.1、引脚设置和保护
1、选择目标器件并对相应的引脚进行锁定,这里选择的器件为altera公司cycloneII系列的EP2C35F672C8芯片,锁定方法根据实验箱中的核心板选择相应的引脚进行相配和对应引脚列出表进行设置,将未使用的引脚设置为三态输入。
表5.1引脚锁定方法
信号
引脚
信号
引脚
Key1
C13
en
L25
Key2
D13
a[0]
L24
Clock0
N2
a[1]
J21
Clock1
A13
y
R5
2、将xy.bdf设置为顶层实体,重新编译。
图5.1
5.2、硬件下载
拿出Z-Blaster下载电缆,并将此电缆的两端分别接到PC机的USB接口和实验箱上的JTAG下载口,打开电源执行下载命令,将程序下载到FPGA器件中,按下key2观察led1的状态,是否与设计相符。
附图:
图5.2
5.3、硬件测试结果及分析
(1)
(2)
(3)
(4)
(5)
图5.3功能图
Sw1为控制使能端en,高电平有效,所以开关打到下面,芯片才能正常工作;第一张图是sw2、sw3都打到上面表示“b00”key1为高电平,key2用手按下为低电平,发光二极管led1是低电平点亮的,所以led1没亮;第二张图是sw2打到下,sw3打到上表示“b01”,key1为高电平,key2用手按下为低电平,所以led1是亮;第三、四张图是sw2打到上,sw3打到下表示“b10”,因为clock0时钟周期为15Hz,所以led1是在闪烁;第五张图sw2、sw3都打到下面表示“11”,clock1时钟周期为6MHz,频率很大,又因为人眼的视觉效果所以led1看起来一直是亮着的。
综上所述,实现了四选一数据选择器的功能。
6、实验参考程序
6.1、模块xy4
modulexy4(key1,key2,clock0,clock1,y,a,en);
inputkey1,key2,clock0,clock1;//输入的四个数据
inputen;//输入使能端
input[1:
0]a;//输入的选择端
outputy;//输出数据
regy;//输出数据寄存器
always@(key1orkey2orclock0orclock1orenora)//电平触发
begin
if(en==1'b0)//当en为0的时候
y=1'b1;//y置1
else
case(a)//判断a的取值,并作出相应的赋值
0:
y<=key1;
1:
y<=key2;
2:
y<=clock0;
3:
y<=clock1;
default:
y=1'b1;//a为其它值的条件下,y赋予0
endcase
end
endmodule
7、总结
经历了一个星期在老师的指导与帮助下,以及跟队友相互合作下,我们完成本次的课程设计“四选一数据选择器”,为此很感谢老师以及帮助过我们的同学。
这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
比如说在仿真的问题上,我们是非常欠缺掌握,但是有老师指导下,我们成功的完成了仿真,并且掌握了仿真的基本步骤,还有在硬件系统中对于一些问题,还不够熟练,在编程序方面,还有一些不足之处,没有完全融会贯通。
总的来说,通过这次课程设计,我学会了QuartusII软件操作,在编程方面有了提高,对于基于FPGA开发板的MagicSOPC实验箱有了认识,EDA技术有了更进一步的了解并掌握了数据选择器的运用方法,以及了解了它的原理与结构。
增强了我们的动手能力和团队的合作能力,培养我们好学与不耻下问的品行,加强了求知欲的感觉,在思维创新方面有了提高,这都是对以后有很大帮助的。
对此,我们再次感激老师的指导与帮助。