实例五-Robei和Vivado的联合设计——流水灯设计

实例五 Robei和Vivado的联合设计——流水灯设计

3.1.1. 本章导读

该设计将指导你在Robei中完成一个简单的Verilog设计并且通过波形仿真来验证你的设计的功能正确性,随后使用Vivado IDE综合和实现并生成比特流文件,最后,将生成的比特流下载到Zybo开发板,用实际电路验证设计是否正确。
设计目的
完成这个设计后,你将能够:
• 使用Robei、Vivado联合设计项目,使用Zybo开发板对项目进行验证,建立软硬件协同的设计平台;
• 使用Robei仿真模拟设计;
• 使用提供的Xilinx设计约束(XDC)文件来约束引脚位置;
• 合成并实现设计;
• 生成比特流;
• 使用生成的比特流配置FPGA和验证功能。
该设计通过四个开关对四个LED灯进行控制。具体的开关与LED灯的电路逻辑关系如图3-1-1所示。
在这里插入图片描述

3.1.2. Robei设计内容

1. light模型设计

(1)新建一个模型命名为 light,类型为 module,同时具备1输入1输出。每个引脚的属性和名称参照下图3-1-2进行对应的修改。
在这里插入图片描述
(2)添加代码。点击模型下方的 Code添加代码。
代码如下:
assign led[0] = ~swt[0];
assign led[1] = swt[1] & ~swt[2];
assign led[3] = swt[2] & swt[3];
assign led[2] = (swt[1] & ~swt[2]) | (swt[2] & swt[3]);

(3)保存并执行后,如果没有错误,单击view->code view可查看完整的代码。如图3-1-4:
在这里插入图片描述
在Verilog代码第2行定义了该模块的开始(标有关键字module),第22行定义了该模块(标有关键字endmodule)的结束。7-8行定义了输入和输出端口,10-11行定义了数据类型,而行13-17定义了模块的实际功能。在这些代码中,只有13-17行模块的实际功能需要手动输入,其余代码Robei软件都可以直接自动生成。
(4)保存模型到一个指定的文件夹(文件夹路径不能有空格和中文)中,运行并检查有无错误输出。

2. light_tb测试文件的设计

(1)新建一个1输入1 输出的light_tb测试文件,记得将Module Type设置为 “testbench”,各个引脚配置如图3-1-5所示。
在这里插入图片描述
(2)另存为测试文件。将测试文件保存到上面创建的模型所在的文件夹下。
(3)加入模型。在Toolbox工具箱的Current栏里,会出现当前目录下的所有模型,单击该模型并在 light_tb上添加,并连接对应的引脚,如图3-1-6所示。
在这里插入图片描述
(4)输入激励。点击测试模块下方的“Code”,输入激励算法。激励代码在结束的时候要用$finish 结束。
激励代码:
initial
begin
#5 switches=4’b1111;
#5 switches=4’b1110;
#5 switches=4’b1101;
#5 switches=4’b1010;
#5 switches=4’b1011;
#5 switches=4’b0110;
#5 switches=4’b0101;
#5 switches

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值