基于XILINX-FPGA数字系统设计-实验五.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于XILINX-FPGA数字系统设计-实验五

XILINX第五次 上机报告 班级: 学号: 姓名: 实验内容 VHDL状态机实验 SDK实验 实验作业 VHDL状态机实验 实验介绍 本实验将完成下图中的状态机CNTR_FSM的RTL描述 实验目标 学习状态机的VHDL语言描述方法 学习状态机的单进程和多进程描述方法 CNTRL_FSM的状态机如图所示: 实验步骤 创建一个新的工程 打开ISE,选择菜单栏中分file→New Project,注意工程路径不能有中文或空格; 单击next,填入器件参数; 一直Next直到完成工程创建,点击Finish; 创建ALU模块的实体 选择菜单栏中的Project→New Source 选择左侧VHDL Module右侧file Name栏中填入文件名CNTRL_FSM 在define module窗口中输入端口的定义 导入实验三中定义的包集合CALC1_PAK。 由于MEM和FSM有相同的MY_RECORD类型信号的互联,导入CALC1_PAK可以保持两个模块之间数据的一致性。选择Project→ Add Copy of Source,选中实验三中的CALC1_PACKAGE.vhd,单击open;如果没有实验三中的包文件,也可以选择New Source→VHDL Package 重新编写 在FSM中用use语句声明使用CLAC1_PAK 在关键字architecture和begin之间,定义一个枚举类型STATE_TYPE,枚举的值为图 6. 21中的状态值。 定义两个STATE_TYPE类型的信号CURR_STATE和NEXT_STATE 添加描述FSM的状态转换代码 语法检查 双击Check Syntax,如果代码出现语法错误,请修正错误后再进行下面的步骤; 创建测试平台文件 创建一个测试平台文件,并验证ALU模块的功能是否正确; 选择菜单栏的 Project??New Source; 在 Select Source Type 窗口中,左侧选择VHDL Test Bench,右侧 File Name栏中填入文件名CNTRL_FSM_TB; 点击Next,软件弹出一个界面,询问测试平台文件与哪个设计文件关联,选择CNTRL_FSM 在ISE默认的仿真情况下,仿真平台中使用的下层元件信号是无法在波形窗口中看到的。读者需要手动将下层的信号加入到仿真波形中 在Sources窗口中选中CNTRL_FSM_TB,在Processes窗口中双击Simulate Behavioral VHDL Module,在弹出的仿真波形窗口中,可以看到仿真的波形 在Sources中选择CNTRL_FSM_TB的下层模CNTRL_FSM,在Processes中即可看到下层模块的内部信号,选中CURRENT_STATE信号,并将其拖动到仿真波形窗口中 实验代码 CALC1_PACKAGE.VHD ibrary IEEE; use IEEE.STD_LOGIC_1164.all; package CALC1_PAK is type MY_RECORD is record A_IN : std_logic_vector ( 3 downto 0 ); B_IN : std_logic_vector ( 3 downto 0 ); OP_CODE : std_logic_vector ( 3 downto 0 ); C_IN : std_logic; EXP_OUT : std_logic_vector ( 3 downto 0 ); end record MY_RECORD; end package CALC1_PAK; CNTRL_FSM.VHD library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; use work.CALC1_PAK.all; entity CNTRL_FSM is Port ( DATA_FRAME : in MY_RECORD; CLK : in STD_LOGIC; RESET : in STD_LOGIC; A_IN : out STD_LOGIC_VECTOR (3 downto 0); B_IN : out STD_LOGIC_VECTOR (3 downto 0); C_IN : out STD_

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档