• 已绑定课时
  • 工程师可点评

1、简述 FPGA 的开发流程需求分析与模块设计:明确功能,划分硬件模块,确定接口信号。编写 RTL 代码:使用 Verilog HDL/VHDL 描述硬件逻辑。功能仿真(前仿真):编写 testbench,验证逻辑功能是否正确,不考虑布线延迟。综合 (Synthesis):将 RTL 代码翻译成 FPGA 内部的门级网表。布局布线(Implementation):把网表映射到 FPGA 芯片真实…

eeos
23 0

1、简述 FPGA 的开发流程需求分析与模块设计:明确功能,划分硬件模块,确定接口信号。编写 RTL 代码:使用 Verilog HDL/VHDL 描述硬件逻辑。功能仿真(前仿真):编写 testbench,验证逻辑功能是否正确,不考虑布线延迟。综合 (Synthesis):将 RTL 代码翻译成 FPGA 内部的门级网表。布局布线(Implementation):把网表映射到 FPGA 芯片真实资源,完成器件分配与走线。时序仿真(后仿真):加入布线带来的真实延迟,检查时序是否满足要求。生成比特流文件:编译输出 bit 配置文件。下载到 FPGA 开发板:将比特流烧写,硬件板级验证。2、一个模块包含哪两部分?

模块分为模块定义(模块端口声明)和模块内部逻辑描述两部分。

简单记:端口列表 + 内部逻辑。3、timescale 1ns/100ps 中的 1ns 代表(C)语法:timescale 时间单位 / 时间精度1ns:时间单位,代码中 #延时数值的基准单位100ps:时间精度,仿真器最小分辨时间 A 错,精度是 100ps;B 错;D 错。选 C4、点亮开发板上 4 个 LED,Verilog 完整代码假设:LED 低电平点亮,4 位输出 led [3:0],开发板系统时钟可不使用,直接常亮。

module led4(
output reg [3:0] led  //4路LED输出
);

//上电常亮4个LED,低电平点亮则赋值0000;高电平点亮则赋值1111
initial
begin
led = 4'b0000;
end

endmodule
`timescale 1ns/100ps
module tb_led4;
wire [3:0] led;
led4 u_led4(
.led(led)
);
endmodule

【我的做法】新建 Verilog 工程,创建 led4.v 源文件,编写上述模块代码。添加约束文件,绑定 4 个 LED 端口到 FPGA 芯片引脚。运行综合、布局布线,生成 bit 文件。连接开发板,下载比特流到 FPGA。

修改历程

2 个版本

你的每次提交都会留档,老师的每次批注也会保留。按批注修改后重新提交,不会覆盖历史版本。

  1. v2当前

学习上下文

产出状态

工程师已阅23 位工程师