视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验6 双向移位寄存器
2025-09-30 21:06:59 责编:小OO
文档


学生实验报告

实验课名称:VHDL硬件描述语言

实验项目名称:双向移位寄存器

专业名称:电子科学与技术

班级:32050802

学号:**********

********

教师姓名:程鸿亮

__2010_年_11_月_14_日

一、实验名称:

双向移位寄存器

二、实验目的与要求:

设计一个双向移位寄存器,理解移位寄存器的工作原理,掌握串入\并出端口控制的描述方法。

通过VHDL编程,实现双向移位寄存器,要求有1个方向控制端、1个时钟脉冲输入、1个异步清零端、1个数据输入端以及8位的并行数据输出端,具体接口说明如下图所示:

三、实验内容:

1. 打开QuartusII软件,建立一个新的工程:

1) 单击菜单File\\New Project Wizard…

2) 输入工程的路径、工程名以及顶层实体名。

3) 单击Next>按钮,由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>继续。

4) 设置我们的器件信息:

5) 单击Next>,指定第三方工具:

这里我们不指定第三方EDA工具,单击Next>后结束工程建立。

2. 建立VHDL文件:

1) 单击File\\New菜单项,选择弹出窗口中的VHDL File项,单击OK按钮以建立打开空的VHDL文件,注意此文件并没有在硬盘中保存。

2) 在编辑窗口中输入VHDL源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。(参考程序附后)

3) 编译工程

单击Processing\\Start Compilation开始编译,编译过程中可能会显示若干出错消息,参考提示原因对程序进行修改直到编译完全成功为止。

3. 建立矢量波形文件

1) 单击File\\New命令,在弹出的对话框中选择Other Files页面中的Vector Waveform File项,打开矢量波形文件编辑窗口: 

2) 双击窗口左边空白区域,打开Insert Node or Bus对话框:

3) 单击Node Finder…按钮,打开以下对话框,选择Filter下拉列表中的Pins:all,并点击List按酒以列出所有的端口,通过>>按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加。

4) 回到波形编辑窗口,对所有输入端口设置输入波形,具体可以通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。

4. 进行功能仿真

1) 单击Assignments\\Settings…,在弹出对话框中做以下设置:

如图所示,Simulation mode设置为Functional,即功能仿真。指定仿真波形文件后单击OK完成设置。

2) 单击Processing\\Generate Functional Simulation Netlist以获得功能仿真网络表。

3) 单击Processing\\Start Simulation进入仿真页面:

注:此仿真中不包含延迟信息。根据仿真结果可以修改程序以期达到实验要求。

5. 进行时序仿真

如果功能仿真无误,可进入时序仿真,时序仿真是增加了相关延迟的仿真,是最接近实际情况的仿真。

1) 单击Assignments\\Settings…,在弹出对话框中做以下设置:

如图所示,Simulation mode设置为Timing,即时序仿真。指定仿真波形文件后单击OK完成设置。

2) 单击Processing\\Start Simulation进入仿真页面:

如果在时序上也没有问题,就可以进入下载工作了。

6. 器件的下载

1) 指定器件引脚:

单击Assignments\\Assignment Editor,打开引脚分配编辑框:

如图所示,为每一个端口指定器件的引脚,在引脚指定过程中需要参照开发系统所给的I/O端口映射表,通过开发平台上每个I/O器件附近的I/O编号,在映射表中找到相应的引脚名,填入上图所示的对话框即可。

2) 连接下载线

通过USB-blaster下载电缆连接PC机和开发平台,如果首次使用下载电缆,此时操作系统会提示安装驱动程序,此USB设备的驱动处于QuartusII安装目录中的\\drivers\laster中。

3) 单击Tool\\Programmer打开下载窗口:

通过对话框中的Hardware Setup按钮,选择下载设备:USB-Blaster。参照上图所示的选项,点击Start完成下载。

四、实验条件:

1. WindowsXP操作系统

2. QuartusII EDA开发系统

3. 杭州康芯SOPC硬件开发平台

    

     a(5)<=a(4);qout(4)<=a(4);

     a(6)<=a(5);qout(5)<=a(5);

     a(7)<=a(6);qout(6)<=a(6);

     a(8)<=a(7);qout(7)<=a(7);

     elsif(dir='1')then--move right -->

     a(8)<=din;

     a(7)<=a(8);qout(7)<=a(8);

     a(6)<=a(7);qout(6)<=a(7);

     a(5)<=a(6);qout(5)<=a(6);

     a(4)<=a(5);qout(4)<=a(5);

     a(3)<=a(4);qout(3)<=a(4);

     a(2)<=a(3);qout(2)<=a(3);

     a(1)<=a(2);qout(1)<=a(2);

     a(0)<=a(1);qout(0)<=a(1);

        end if;

end if;

end process;

end str;

七、实验结果与分析:

1. 功能仿真:

2.时序仿真:

下载本文

显示全文
专题