触发器Word文档下载推荐.docx
- 文档编号:18669103
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:388.59KB
触发器Word文档下载推荐.docx
《触发器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《触发器Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
在硬件实现中,要求:
1.用拨动开关实现触发器的控制信号(r、s、t、j、k、d):
2.用实验平台的按键实现时钟信号(cp);
3.用LED阵列实现状态输出的显示:
注:
要求用LED3、LED11分别显示RS触发器的q_rs和qn_rs;
用LED4、LED13分别显示T触发器的q_t和qn_t;
用LED5、LED13分别显示JK触发器的q_jk和qn_jk;
用LED6、LED14分别显示D触发器的q_d和qn_d;
用LED1、LED9、LED8、LED16同时显示无效状态。
组别_____________________同组同学
实验日期2010年11月7日实验室名称______________成绩_____
三、实验内容:
1.打开QuartusII软件,建立一个新的工程:
1)单击菜单File\NewProjectWizard…
2)输入工程的路径、工程名以及顶层实体名。
3)单击Next>
按钮,由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>
继续。
4)设置我们的器件信息:
5)单击Next>
,指定第三方工具:
这里我们不指定第三方EDA工具,单击Next>
后结束工程建立。
2.建立VHDL文件:
1)单击File\New菜单项,选择弹出窗口中的VHDLFile项,单击OK按钮以建立打开空的VHDL文件,注意此文件并没有在硬盘中保存。
2)在编辑窗口中输入VHDL源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。
3)编译工程
单击Processing\StartCompilation开始编译,编译过程中可能会显示若干出错消息,参考提示原因对程序进行修改直到编译完全成功为止。
3.建立矢量波形文件
1)单击File\New命令,在弹出的对话框中选择OtherFiles页面中的VectorWaveformFile项,打开矢量波形文件编辑窗口:
2)双击窗口左边空白区域,打开InsertNodeorBus对话框:
3)单击NodeFinder…按钮,打开以下对话框,选择Filter下拉列表中的Pins:
all,并点击List按酒以列出所有的端口,通过>
>
按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加。
4)回到波形编辑窗口,对所有输入端口设置输入波形,具体可以通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。
4.进行功能仿真
1)单击Assignments\Settings…,在弹出对话框中做以下设置:
如图所示,Simulationmode设置为Functional,即功能仿真。
指定仿真波形文件后单击OK完成设置。
2)单击Processing\GenerateFunctionalSimulationNetlist以获得功能仿真网络表。
3)单击Processing\StartSimulation进入仿真页面:
此仿真中不包含延迟信息。
根据仿真结果可以修改程序以期达到实验要求。
5.进行时序仿真
如果功能仿真无误,可进入时序仿真,时序仿真是增加了相关延迟的仿真,是最接近实际情况的仿真。
如图所示,Simulationmode设置为Timing,即时序仿真。
2)单击Processing\StartSimulation进入仿真页面,如果在时序上也没有问题,就可以进入下载工作了。
6.器件的下载
1)指定器件引脚:
单击Assignments\AssignmentEditor,打开引脚分配编辑框:
如图所示,为每一个端口指定器件的引脚,在引脚指定过程中需要参照开发系统所给的I/O端口映射表,通过开发平台上每个I/O器件附近的I/O编号,在映射表中找到相应的引脚名,填入上图所示的对话框即可。
2)连接下载线
通过USB-blaster下载电缆连接PC机和开发平台,如果首次使用下载电缆,此时操作系统会提示安装驱动程序,此USB设备的驱动处于QuartusII安装目录中的\drivers\usb-blaster中。
3)单击Tool\Programmer打开下载窗口:
通过对话框中的HardwareSetup按钮,选择下载设备:
USB-Blaster。
参照上图所示的选项,点击Start完成下载。
四、实验条件:
1.WindowsXP操作系统
2.QuartusIIEDA开发系统
3.杭州康芯SOPC硬件开发平台
五、实验原理:
Ø
通过异步清零方式(r=0,s=1),四个触发器的输出都为0。
通过异步清零方式(r=1,s=0),四个触发器的处于状态1。
当r、s端同时为0时,触发器处于无效状态,触发器所有的输出为高电平,对应LED1、LED9、LED8、LED16被点亮以表示此无效状态。
当r、s端同时为高电平时,可以通过cp端(按键1)来改变T、JK和D触发器的状态,RS触发器的状态由其前一有效状态决定。
六、源代码:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytrigger_allis
port(s,r,j,k,cp,d,t:
instd_logic;
q_rs,qn_rs:
outstd_logic;
q_jk,qn_jk:
q_d,qn_d:
q_t,qn_t:
err:
outstd_logic_vector(3downto0));
endentitytrigger_all;
architectureoneoftrigger_allis
signalq_temp_rs,qn_temp_rs,
q_temp_jk,qn_temp_jk,
q_temp_d,qn_temp_d,
q_temp_t,qn_temp_t:
std_logic;
begin
prs:
process(r,s)
begin
if(r='
0'
ands='
1'
)then
q_temp_rs<
='
;
qn_temp_rs<
elsif(r='
ands='
endif;
=snandqn_temp_rs;
=rnandq_temp_rs;
endprocessprs;
pjk:
process(r,s,j,k,cp)
q_temp_jk<
qn_temp_jk<
qn_temp_jk<
elsif(cp'
eventandcp='
if(j='
andk='
q_temp_jk<
elsif(j='
)then
=notq_temp_jk;
=notqn_temp_jk;
endprocesspjk;
pd:
process(r,s,d,cp)
if(r='
q_temp_d<
qn_temp_d<
elsif(r='
elsif(cp'
=d;
=notd;
endprocesspd;
pt:
process(r,s,t,cp)
q_temp_t<
qn_temp_t<
q_temp_t<
qn_temp_t<
elsif(cp'
if(t='
=notq_temp_t;
=notqn_temp_t;
endif;
endprocesspt;
perr:
err<
="
0000"
endprocess;
q_rs<
=q_temp_rs;
qn_rs<
=qn_temp_rs;
q_jk<
=q_temp_jk;
qn_jk<
=qn_temp_jk;
q_d<
=q_temp_d;
qn_d<
=qn_temp_d;
q_t<
=q_temp_t;
qn_t<
=qn_temp_t;
endarchitectureone;
七、实验结果与分析:
1.功能仿真:
2.时序仿真:
3.硬件结果照片
八、讨论和回答问题及体会:
1.此实验程序中大量使用了if语句,在编辑时要多加注意其与endif之间的对应关系,防止漏写!
2.信号与变量值带入有区别。
在变量的赋值语句中,该语句一旦执行,其值会立即被赋予变量,在执行下一条语句时,该变量的值就为上一句新赋的值。
而对于信号代入语句,该语句即使被执行也不会立即代入,下一条语句执行时,仍使用原来的信号值。
故在程序中计数时,要使用变量,否则会报错,因为使用信号值,则其代入的值将会在process结束后代入,计数不正确。
3.通过VHDL语言的编写进一步了解了触发器的功能实现原理,同时有感于VHDL语言功能的强大。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 触发器