3.1 实验 1
3.1 实验 1
3.1 实验 1
重要文件: lab1 实验手册
代码解析
下面是 lab1 模块的代码(可以在lab1.v中找到),主要用来控制 ZedBoard 上的 LED 显示。每个 LED 的亮灭由相应的开关位置决定。具体逻辑如下:
仿真的代码类似,不赘述请自行查阅。
led[0]对应swt[0]的反相值。led[1]通过swt[1]和swt[2]的组合逻辑控制。- 其余的
led[2],led[3]也是基于开关的不同逻辑组合。 led[7:4]直接对应swt[7:4],即这些 LED 直接显示对应开关的状态。
代码实现如下:
module lab1(
input [7:0] swt,
output [7:0] led
);
assign led[0] = ~swt[0];
assign led[1] = swt[1] & ~swt[2];
assign led[3] = swt[2] & swt[3];
assign led[2] = led[1] | led[3];
assign led[7:4] = swt[7:4];
endmodule
引脚约束文件 lab1.xdc 用于将开关和 LED 连接到 ZedBoard 的物理引脚。以下是约束文件的内容:
由于 XDC 一般涉及较多的重复操作,我们分别举一 LED 和 swt 一个的例子,其余的逻辑相似。
set_property PACKAGE_PIN:这个命令用于将逻辑端口(例如swt[0]或led[0])映射到 ZedBoard 的物理引脚。在这个例子中,swt[0]被分配给引脚F22,而led[0]被分配给引脚T22。set_property IOSTANDARD LVCMOS33:这个命令指定了引脚的输入输出标准。在这里,我们使用了LVCMOS33,这是一种常用的电平标准,表示引脚工作在 3.3V 的逻辑电平下。
代码实现如下:
set_property PACKAGE_PIN F22 [get_ports swt[0]]
set_property IOSTANDARD LVCMOS33 [get_ports swt[0]]
set_property PACKAGE_PIN T22 [get_ports led[0]]
set_property IOSTANDARD LVCMOS33 [get_ports led[0]]
实验结果
以下图片和动画展示了实验的运行结果 行为仿真

项目概要

综合后的电路图

设备实现

后时序仿真

最终测试
