EDA技术实用教程.docx
- 文档编号:26251307
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:10
- 大小:60.55KB
EDA技术实用教程.docx
《EDA技术实用教程.docx》由会员分享,可在线阅读,更多相关《EDA技术实用教程.docx(10页珍藏版)》请在冰豆网上搜索。
EDA技术实用教程
EDA
设计报告
实验课程:
EDA技术实用教程
一、实验名称:
硬件电子琴电路设计
二、实验目的:
(1)学习并掌握MAX+plusⅡ软件开发系统的基本操作。
(2)掌握硬件电子琴从软件设计到编程下载的各个步骤。
(3)利用数控分频器设计硬件电子琴的实验并掌握设计思想。
三、实验内容和原理。
主系统由3个模块组成,顶层设计文件,有两个功能模块:
TONE.VHD和SPEAKER.VHD。
模块TONE是音阶发生器,当8位发声控制输入INDEX中某一位为高电平时,则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值;同时由CODE输出对应该音阶简谱的显示数码,如‘5’,并由HIGH输出指示音阶高8度显示。
其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,如Tone<=1290是根据产生该音阶频率所对应的分频比获得的。
模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块SPEAKER由端口TONE获得一个2进制数后,将以此值为计数器的预置数,对端口CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。
原理电路图
内容简介
编译适配以上3个示例文件,给出仿真波形,最后进行下载和硬件测试实验。
建议使用实验电路模式“3”,
用短路帽选择“CLOCK9”的输入频率选择12MHz,此信号作为系统输入信号CLK12MHZ;
键8至键1作为INDEX输入信号控制各音阶;
选择数码管1显示琴音简谱码,发光管D1显示高8度。
四、主要仪器设备
1、PC机1台
2、MAX+plusⅡ软件开发系统1套
3、EDA实验箱1台
五、实验步骤
图2MAX+plusII一般设计流程
1:
编辑输入并存盘VHDL原文件
与原理图设计方法一样,首先应该建立好工作库目录,以便设计工程项目的存储。
接下去是打开MAX+plusII,选择菜单“File”→“New…”,在框中选中“TextEditorfile”,按“OK”按钮,即选中了文本编辑方式。
在出现的“Untitled-TextEditor”文本编辑窗中键入图VHDL程序,输入完毕后,选择菜单“File→Save”,即出现“SaveAs”对话框。
首先在“Directories”目录框中选择自己已建立好的存放本文件的目录E:
\***,然后在“FileName”框中键入文件名***.vhd,按“OK”按钮.
2:
将当前设计设定为工程
需要特别注意的是,在编译/综合***.vhd之前,需要设置此文件为工程文件:
Project。
选择菜单File→Project→SetProjecttoCurrentFile,当前的设计工程即被指定为。
也可以通过选File→Project→Name,在跳出的“ProjectName”窗中指定E:
\***下的***.vhd为当前的工程。
在设定工程文件后,应该选择用于编程的目标芯片:
选择菜单Assign→Device…,在弹出的对话框中的DeviceFamily下拉栏中,例如选择FLEX10K,然后在Devices列表框中选择芯片型号“EP1K30LC144-3”,按OK。
3:
选择VHDL文本编译
选菜单“MAX+plusII”→“Compiler”菜单,出现编译窗后,需要根据自己输入的VHDL文本格式选择VHDL文本编译版本号。
选择界面上方的Interfaces→VHDLNetlistReaderSettings,在弹出的窗口中选“VHDL’1987”或“VHDL’1993”。
由于综合器的VHDL’1993版本兼容VHDL’1987版本的表述,所以如果设计文件含有VHDL’1987或混合表述,都应该选择“VHDL’1993”项。
最后按“START”键,运行编译器。
4:
时序仿真
首先选择菜单“File”→“New…”,打对话框,选择WaveformEditor,按“OK”按钮后进入仿真波形编辑窗。
接下去选择菜单“Node”→“EnterNodesfromSNF”,进入仿真文件信号接点输入窗,按右上角“List”键后,将测试信号输入仿真波形编辑窗。
选择Options项,将SnaptoGrid的勾去掉;选择“File”→“EndTime”,设定仿真时间区域。
给出输入信号后,选择MAX+plusII菜单Simulator进行仿真运算.
5:
引脚锁定
如果以上的仿真测试正确无误,就应该将设计编程下载进选定的目标器件中,如EPF10K10,作进一步的硬件测试,以便最终了解设计项目的正确性。
这就必须根据评估板、开发电路系统或EDA实验板的要求对设计项目输入输出引脚赋予确定的引脚,以便能够对其进行实测。
操作如下:
选择Assign项及其中的引脚定位Pin\Location\Chip选项,在跳出的窗口中的NodeName栏中用键盘输入全加器的端口名。
如果输入的端口名正确,在右侧的PinType栏将显示该信号的属性。
在左侧的Pin一栏中,用键盘输入该信号对应的引脚编号,然后按下面的Add键。
分别将信号锁定在对应的引脚上,按OK键后结束。
特别需要注意的是,在锁定引脚后必须再通过MAX+plusII的Compiler选项,对文件从新进行编译一次,以便将引脚信息编如入下载文件中
6:
硬件测试
在实验系统上验证设计的正确性,完成硬件测试。
目标器件是EPF10K10,选择实验电路模式3进行实验箱操作。
编程下载和硬件测试的步骤如下:
(1)选"MAX+plusII"项中的“Programmer”项,跳出Programmer窗后,选Options项中的硬件设置项“HardwareSetup”,在此窗的下拉窗中选“ByteBlaster(MV)”项,点击OK即可。
(2)将实验板连接好,接好电源,点“Configure”,即进行编程下载。
(3)选实验电路模式“NO.3”后,进行实验操作。
附程序如下:
一.SPEAKER的VHDL文件:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYSpeakerIS
PORT(clk1:
INSTD_LOGIC;
Tone1:
ININTEGERRANGE0TO16#7FF#;
SpkS:
OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFSpeakerIS
SIGNALPreCLK,FullSpkS:
STD_LOGIC;
BEGIN
DivideCLK:
PROCESS(clk1)
VARIABLECount4:
INTEGERRANGE0TO15;
BEGIN
PreCLK<='0';
IFCount4>11THENPreCLK<='1';Count4:
=0;
ELSIFclk1'EVENTANDclk1='1'THENCount4:
=Count4+1;
ENDIF;
ENDPROCESS;
GenSpkS:
PROCESS(PreCLK,Tone1)
VARIABLECount11:
INTEGERRANGE0TO16#7FF#;
BEGIN
IFPreCLK'EVENTANDPreCLK='1'THEN
IFCount11=16#7FF#THENCount11:
=Tone1;FullSpkS<='1';
ELSECount11:
=Count11+1;FullSpkS<='0';
ENDIF;
ENDIF;
ENDPROCESS;
DelaySpkS:
PROCESS(FullSpkS)
VARIABLECount2:
STD_LOGIC;
BEGIN
IFFullSpkS'EVENTANDFullSpkS='1'THENCount2:
=NOTCount2;
IFCount2='1'THENSpkS<='1';
ELSESpkS<='0';
ENDIF;
ENDIF;
ENDPROCESS;
END;
二.TONE文件:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYToneIS
PORT(Index:
INSTD_LOGIC_VECTOR(7DOWNTO0);
CODE:
OUTINTEGERRANGE0TO15;
HIGH:
OUTSTD_LOGIC;
Tone:
OUTINTEGERRANGE0TO16#7FF#);
END;
ARCHITECTUREoneOFToneIS
BEGIN
Search:
PROCESS(Index)
BEGIN
CASEIndexIS
WHEN"00000001"=>Tone<=773;CODE<=1;HIGH<='0';
WHEN"00000010"=>Tone<=912;CODE<=2;HIGH<='0';
WHEN"00000100"=>Tone<=1036;CODE<=3;HIGH<='0';
WHEN"00001000"=>Tone<=1116;CODE<=4;HIGH<='0';
WHEN"00010000"=>Tone<=1197;CODE<=5;HIGH<='0';
WHEN"00100000"=>Tone<=1290;CODE<=6;HIGH<='0';
WHEN"01000000"=>Tone<=1372;CODE<=7;HIGH<='0';
WHEN"10000000"=>Tone<=1410;CODE<=1;HIGH<='1';
WHENOTHERS=>Tone<=2047;CODE<=0;HIGH<='0';
ENDCASE;
ENDPROCESS;
END;
三.TOP文件
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYTOPIS
PORT(CLK12MHZ:
INSTD_LOGIC;
INDEX1:
INSTD_LOGIC_VECTOR(7DOWNTO0);
CODE1:
OUTINTEGERRANGE0TO15;
HIGH1,SPKOUT:
OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFTOPIS
COMPONENTTone
PORT(Index:
INSTD_LOGIC_VECTOR(7DOWNTO0);
CODE:
OUTINTEGERRANGE0TO15;
HIGH:
OUTSTD_LOGIC;
Tone:
OUTINTEGERRANGE0TO16#7FF#);
ENDCOMPONENT;
COMPONENTSpeaker
PORT(clk1:
INSTD_LOGIC;
Tone1:
ININTEGERRANGE0TO16#7FF#;
SpkS:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALTone2:
INTEGERRANGE0TO16#7FF#;
BEGIN
u1:
TonePORTMAP(Index=>Index1,Tone=>Tone2,CODE=>CODE1,HIGH=>HIGH1);
u2:
SpeakerPORTMAP(clk1=>CLK12MHZ,Tone1=>Tone2,SpkS=>SPKOUT);
END;
SPEAR的波形仿真:
TONE的波形仿真:
TOP波形仿真:
总结报告:
在设计的过程中,我按照实验指导,发挥自己的想象力.顺利完成实验设计的基本要求.在设计的过程中,虽然遇到许多的困难和错误.经过几番查错和改错.最终完成设计要求.还要感谢老师在实验过程中给予的指导和帮助.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 实用教程