1. 环境准备与工程创建:迈出第一步
大家好,我是老李,一个在FPGA和嵌入式系统里摸爬滚打了十多年的工程师。今天咱们不聊那些虚头巴脑的理论,直接上手干。我要带你用Microchip的Libero SoC v11.9,完整地走一遍FPGA设计流程。从写第一行代码,到最终生成能烧进芯片的文件,每一步我都会结合我踩过的坑,给你讲明白。咱们就拿一个最经典的数字电路——四选一多路选择器(MUX) 当例子,它结构简单,但麻雀虽小五脏俱全,非常适合用来理解整个流程。
首先,你得把Libero SoC v11.9装好。这个软件包有点大,安装时记得路径里千万别用中文,这是所有EDA工具的通用禁忌,用了中文路径,后续各种奇葩错误能让你找半天。安装完成后打开软件,迎面而来的界面可能有点复杂,别慌,咱们一步步来。新建工程是第一步,点击菜单栏的 File -> New -> Project,或者直接找那个醒目的 New Project 按钮。给工程起个名字,比如 mux4to1_demo,存放位置也选一个全英文的路径。接下来是关键一步:选择你的目标芯片。我强烈建议你手头有什么开发板,就选对应的芯片型号。比如我手边有一块基于Microsemi(现在是Microchip的一部分)A3P060芯片的板子,那我就选 A3P060-VQ100。你可以在芯片筛选器里根据封装、逻辑单元数量、速度等级来选,选错了后面可就全白干了。确认无误后,一路 Next,最后点 Finish,你的工程“房子”的地基就打好了。
工程创建好后,Libero的界面会分成几个区域。左边是设计流程导航栏,像一串被锁住的关卡,你得按顺序一步步解锁。右边是工作区。现在,咱们要开始“砌墙”了,也就是写硬件描述语言(HDL)代码。在流程导航栏找到 Design Files 或类似选项,右键选择 Create New File,或者直接使用 Create HDL 命令。这里会让你选择语言,VHDL和Verilog都行,看你熟悉哪个。我个人更习惯用Verilog,语法简洁些。咱们就创建一个名为 mux4to1.v 的Verilog文件。创建时,软件可能会问你是否要生成模板代码,对于新手,我建议先不勾选,咱们从头自己写,理解更深刻。
2. HDL编码与语法检查:写出可靠的“图纸”
现在,代码编辑窗口已经打开了。咱们来写这个四选一多路选择器。它的功能很简单:有四个数据输入(d0, d1, d2, d3),两个选择信号(sel[1:0]),一个输出(out)。根据sel的值,把对应的输入送到输出上。代码如下:
module mux4to1 (
input d0, d1, d2, d3,
input [1:0] sel,
output reg out
);
always @ (*) begin
case (sel)
2'b00: out = d0;
2'b01: out = d1;
2'b10: out = d2;
2'b11: out = d3;
default: out = 1'b0; // 好习惯,避免锁存器
endcase
end
endmodule
代码不长,但有几个细节我得唠叨一下。第一,output re


461

被折叠的 条评论
为什么被折叠?



