tags
实用工具箱
科研
type
Post
status
Published
date
Feb 24, 2026
slug
fpga
summary
category
摸鱼的笔记
password
icon
FPGA
型号识别


AX7035B / ACKU095 是核心板的商品型号,但我们在vivado中需要选择的是芯片信号,如XC7A35T-2FGG484I / XCKU095-1FFVA1156I。其中“-1””-2”标示的是速度,”I”标示的是工业温度标准,这两个参数的位置可能与说明手册不同,如vivado中实际型号分别为xc7a35t-fgg484-2 / xcku095-ffva1156-1-i。
连线
FPGA自身需要圆孔黑色电源线
从PC向FPGA烧录需要JTAG线,中间有一个红色的转换器
PC与FPGA之间的通信需要uart线
Vivado
右上角可以切换模式(比较常用的是I/O planning)
不同模式或不同Design(在左边栏中标黑标示当前Design,如Open Implemented Design、Open Hardware Manager)中菜单栏会有所不同
Sources
包括四部分
- Design Sources:代码的核心部分,就是之前熟知的verilog / VHDL
- Constraints:对综合工具进行一些限制,确保synthesis、implementation之后的结果能适配具体的硬件
- Simulation Sources:用来测试的testbench。一般会调用Design Sources作为其子模块
- Utility Sources:暂时没用上
Constraints
右击Sources/Constraints的具体文件可以设置used in sythesis/implementation。
目前用到的大多是pin相关的约束,可选择只在implementation中使用(synthesis不涉及布局布线)
以led_test的constraints为例:
- voltage
设定用户IO口的电压,可以看Flash的电压标准(因为Flash的IO也属于用户IO)
CFGBVS是用来选择电压的,只能设定为GND/VCCO。如果电压为1.8V则设为GND,如果电压为3.3V则设为VCCO
如果删去会导致warning,最好手动设置
- flash
定义SPI参数以及是否压缩(不压缩可能导致文件超过128Mb写不上去)
目前烧写Flash之后FPGA并不会开始运行,原因不明
选择flash芯片型号mt25qu256-spi-x1_x2_x4
(特别注意不能选x8因为x8代表这两块flash芯片)
其实完全可以不用Flash,则这些都不用写
- clk
这里是差分时钟的定义。在Design Source中用如下代码转化为单端时钟(频率同手册中差分时钟的频率,200MHz)。
create_clock只要写sys_clk_p即可,因为有下面的代码,vivado会自动识别sys_clk_n为前者的Neg Diff Pair。这两个时钟信号不是独立的,所以不用写两次
- other ports
Top Module中所有的输入输出都必须绑定物理的引脚。在clk中我们已经绑定了2个,剩下还有4个led和rst。
如果不想直接写代码,可以在I/O planning模式下直接改。
总体流程
- run synthesis
- run implementation
- generate bitstream
- tool → program device(此时需要的连上FPGA电源线、带红色转换器的JTAG线)
WNS正的表示时序合规
[Constraints 18-5210] No constraints selected for write. 是因为constraints中没有时序约束,因此在systhesis阶段被忽略了在使用 Vivado 时,如果仅对代码进行了非实质性的修改(如添加注释或调整格式),设计状态可能会变为“Out-of-date”,提示需要重新运行综合或实现。然而,这种情况下无需浪费时间重新运行,可以使用 Force Up-to-Date 功能将状态强制更新为“Complete”。
RTL analysis/open elaborated design/schematic可以看到以logic cell为单位的原理图
注意JTAG端子不支持热插拔,而USB接口支持,所以在不通电的情况下接通好JTAG后,再插入USB到电脑,之后再上电,以免造成JTAG IO损坏
- 作者:Tianyao Xiao
- 链接:https://xty27.top/article/fpga
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






.webp?table=block&id=25c9eb83-9bee-807c-9d8c-f33f89eaa541&t=25c9eb83-9bee-807c-9d8c-f33f89eaa541)


.webp?table=block&id=1699eb83-9bee-80e2-ac22-cdd02ade2526&t=1699eb83-9bee-80e2-ac22-cdd02ade2526)