概述
实例七 8位移位寄存器的设计(基于Robei工具的8位移位寄存器的设计)
4.1.1. 本章导读
设计目的
设计准备
4.1.2. 设计流程
1. shift模型设计
(1)新建一个模型命名为shift,类型为module,同时具备5个输入和1个输出,每个引脚的属性和名称参照图4-1-1进行对应的修改。
(3)保存模型到一个文件夹(文件夹路径不能有空格和中文)中,运行并检查有无错误输出。
2. shift_test测试文件设计
(1)新建一个具有5个输入和1个 输出的shift_test测试文件,记得将Module Type设置为“testbench”,各个引脚配置如图4-1-3所示。
always #1 clock=~clock;
(5)执行仿真并查看波形。查看输出信息。
3. shift_constrain测试文件的设计
(1)新建一个模块,命名为shift_constrain,模块类型选择为constrain,具有14个输入和8个输出,如图4-1-6所示。
4.1.3. 板级验证
为了测试所设计shift的工作特性,选择开发板搭载XILINX公司的Z-7010芯片,选用VIVADO设计平台进行Synthesis、Implementation和Generate Bitstream,最终将生成的数据流文件下载到开发板内,并进行验证。
1. VIVADO设计平台进行后端设计
1.1启动Vivado软件并选择设备XC7Z010CLG400-1(ZYBO)作为硬件对象,设计语言选用Verilog,建立新的工程,添加通过Robei设计的文件shift.v。
1.2打开shift_constrain.xdc文件,查看引脚约束源代码。
(3)点击File—>Save File保存文件。
** 1.3使用Vivado综合工具来综合设计,并进行Implementation任务实现。**
(1)单击综合任务下拉菜单中的Run Synthesis,综合过程将分析shift.v文件并生成网表文件。当综合过程完成了,且没有错误信息,将会弹出带有三个选项的完成对话框;
** 1.4将开发板上的电源开关拨到ON,生成比特流并打开硬件会话,对FPGA进行编程。**
(1)确保微型USB电缆连接到PROG UART接口;
2. 开发板验证
首先,按住clr(BTN1)不放,按1到2次clk(BTN0),进行复位操作。
然后,将en(SW3)设置为高电平,设置输入数据data_in[0~7] (Sw[07])和位移控制信号set[03] (SW0~1),这里选择输入数据为00110111,位移控制信号分别为000,010,100,111进行验证;
最后,每更改一次位移控制信号,按一下clk时间键,然后观察输出数据data_out[0~7] (Led[0~7]),验证移位寄存器功能是否正确。
4.1.4. 问题与思考
1.如何在一个模块上面设计一个移位寄存器,该移位寄存器既有右移功能,还有左移、双向移动的功能,这些功能通过一个值的变化来切换?
2.如何实现扭环形移位寄存器?
最后
以上就是健壮星月为你收集整理的实例七— 8位移位寄存器的设计的全部内容,希望文章能够帮你解决实例七— 8位移位寄存器的设计所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复