- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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_
您可能关注的文档
最近下载
- 《汉西岳华山庙碑》唐颜真卿楷书高清字帖[白底黑字版].docx VIP
- 绵阳中学(含实验学校)2025年初升高自主招生考试 数学试题(含答案).pdf VIP
- 犬糖尿病的中药治疗.docx VIP
- 湖南省五年(2021-2025)高考化学真题分类汇编:专题07 电化学及其应用(原卷版).docx VIP
- 校园班会演讲:警惕文化入侵.pptx VIP
- 2009年7月国开法学、法律事务专本科《经济法学》期末考试试题及答案 .pdf VIP
- 八年级美术山水画.ppt VIP
- 装配式建筑构造识图-智能建造45课件讲解.pptx VIP
- 《纳尼亚故事》阅读交流课件.ppt
- 分布式电源接入系统典型设计(2016年版).docx VIP
原创力文档


文档评论(0)