欢迎来到天天文库
浏览记录
ID:6086095
大小:171.97 KB
页数:8页
时间:2018-01-02
《基于xilinx-fpga数字系统设计-实验五》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、XILINX第五次上机报告班级:学号:姓名:实验内容1、VHDL状态机实验2、SDK实验3、实验作业lVHDL状态机实验一、实验介绍本实验将完成下图中的状态机CNTR_FSM的RTL描述二、实验目标1)学习状态机的VHDL语言描述方法2)学习状态机的单进程和多进程描述方法CNTRL_FSM的状态机如图所示:三、实验步骤1.创建一个新的工程1)打开ISE,选择菜单栏中分file→NewProject,注意工程路径不能有中文或空格;2)单击next,填入器件参数;3)一直Next直到完成工程创建,点击Fin
2、ish;1.创建ALU模块的实体1)选择菜单栏中的Project→NewSource2)选择左侧VHDLModule右侧fileName栏中填入文件名CNTRL_FSM3)在definemodule窗口中输入端口的定义2.导入实验三中定义的包集合CALC1_PAK。1)由于MEM和FSM有相同的MY_RECORD类型信号的互联,导入CALC1_PAK可以保持两个模块之间数据的一致性。选择Project→AddCopyofSource,选中实验三中的CALC1_PACKAGE.vhd,单击open;如果没
3、有实验三中的包文件,也可以选择NewSource→VHDLPackage重新编写2)在FSM中用use语句声明使用CLAC1_PAK3)在关键字architecture和begin之间,定义一个枚举类型STATE_TYPE,枚举的值为图6.21中的状态值。4)定义两个STATE_TYPE类型的信号CURR_STATE和NEXT_STATE5)添加描述FSM的状态转换代码4.语法检查双击CheckSyntax,如果代码出现语法错误,请修正错误后再进行下面的步骤;5.创建测试平台文件创建一个测试平台文件,并
4、验证ALU模块的功能是否正确;1)选择菜单栏的Project?NewSource;2)在SelectSourceType窗口中,左侧选择VHDLTestBench,右侧FileName栏中填入文件名CNTRL_FSM_TB;3)点击Next,软件弹出一个界面,询问测试平台文件与哪个设计文件关联,选择CNTRL_FSM•在ISE默认的仿真情况下,仿真平台中使用的下层元件信号是无法在波形窗口中看到的。读者需要手动将下层的信号加入到仿真波形中•在Sources窗口中选中CNTRL_FSM_TB,在Proces
5、ses窗口中双击SimulateBehavioralVHDLModule,在弹出的仿真波形窗口中,可以看到仿真的波形•在Sources中选择CNTRL_FSM_TB的下层模CNTRL_FSM,在Processes中即可看到下层模块的内部信号,选中CURRENT_STATE信号,并将其拖动到仿真波形窗口中实验代码CALC1_PACKAGE.VHD•ibraryIEEE;•useIEEE.STD_LOGIC_1164.all;•packageCALC1_PAKis••typeMY_RECORDisrecor
6、d•A_IN:std_logic_vector(3downto0);•B_IN:std_logic_vector(3downto0);•OP_CODE:std_logic_vector(3downto0);•C_IN:std_logic;•EXP_OUT:std_logic_vector(3downto0);•endrecordMY_RECORD;••endpackageCALC1_PAK;CNTRL_FSM.VHD•libraryIEEE;•useIEEE.STD_LOGIC_1164.ALL;•us
7、eIEEE.STD_LOGIC_ARITH.ALL;•useIEEE.STD_LOGIC_UNSIGNED.ALL;•usework.CALC1_PAK.all;•entityCNTRL_FSMis•Port(DATA_FRAME:inMY_RECORD;•CLK:inSTD_LOGIC;•RESET:inSTD_LOGIC;•A_IN:outSTD_LOGIC_VECTOR(3downto0);•B_IN:outSTD_LOGIC_VECTOR(3downto0);•C_IN:outSTD_LOGIC
8、;•OP_CODE:outSTD_LOGIC_VECTOR(3downto0);•EXP:outSTD_LOGIC_VECTOR(3downto0);•ADDR:outSTD_LOGIC_VECTOR(2downto0);•COMP_EN:outSTD_LOGIC;•ALU_EN:outSTD_LOGIC;•MEM_EN:outSTD_LOGIC);endCNTRL_FSM;•architectureBehavioralofCNTRL_FS
此文档下载收益归作者所有