摘要: “本文主要转载自https://zhuanlan.zhihu.com/p/93133247,高屋建瓴。其中关于如何会产生latch的部分,转载自https://zhuanlan.zhihu.com/p/34408492?from_voters_page=true。” 在FPGA的设计中,避免使用锁存 阅读全文
posted @ 2024-04-08 17:38 AnchorX 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 状态机由状态寄存器和组合逻辑电路组成;在不同的当前状态下,能够控制信号的变化进行状态的转移,从而实现相关信号的赋值,完成特定控制时序的设计。 状态机的三个基本要素: 状态变迁(当前状态current_state和下一状态next_state 输入条件(状态变化的触发事件 输出赋值(状态机设计的主要目 阅读全文
posted @ 2023-12-21 16:27 AnchorX 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 目前所在单位并没有代码规范文档,以致于阅读代码很吃力,并且久而久之自己写的代码可读性也没法保证。在参考了很多资料后,决定按以下规范来写: 一、命名规范 1、文件命名 a、每个文件中只包含一个module、class、package,文件名于文件内容名称应相同。 2、module、class、pack 阅读全文
posted @ 2023-12-19 18:00 AnchorX 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 一、SPI简介 串行外设接口 serial peripheral interfacce,是摩托罗拉公司最先推出的一种同步串行传输规范。 高速、全双工、同步的串行通信总线。 SPI有主从两种模式,通常由一主多从模块组成。 SPI通信需要至少4根线,单向传输时3根,MISO(主设备入)、MOSI(主设备 阅读全文
posted @ 2023-10-18 18:25 AnchorX 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一、时钟设计 1、时钟分频设计 累加器时钟分频(32分频) always @(posedge clk and negedge rst_n) begin if (!rst_n) clk_cnt <= 5'b0; else clk_cnt <= clk_cnt + 1'b1; end 异步时钟分频(32 阅读全文
posted @ 2023-07-23 16:49 AnchorX 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 在FPGA开发中,资源占用和时序约束一直是主要问题。为了解决这些问题,Vivado提供了丰富的优化工具和资源占用分析工具,帮助工程师优化FPGA设计,深入了解各个子模块的资源使用情况。 本文将从资源占用的角度,介绍Vivado中如何进行FPGA设计资源优化以及查看各子模块资源占用的方法。通过使用Vi 阅读全文
posted @ 2023-07-16 17:07 AnchorX 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: 一、Vivado增量编译概述 Vivado增量编译 (Incremental Implementation),是指针对设计中已经完成的部分,仅编译修改的部分,并在这些部分重新生成比特流,以加速设计实现的过程。简单来说,就是只更新那些被修改过的代码,而不是每次都对整个设计进行重新编译。 与传统的完全重 阅读全文
posted @ 2023-07-16 16:55 AnchorX 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 实现(Implementation)是FPGA设计中至关重要的环节之一。implementation是一个place和route的过程,也就是布局布线 。综合后生成的门级网表只是表示了门与门之间虚拟的连接关系,并没有规定每个门的位置以及连线的长度等。 布局布线就是一个将门级网表中的门的位置以及连线信 阅读全文
posted @ 2023-07-16 16:42 AnchorX 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 一、Vivado综合参数介绍 在Vivado中,默认情况下,综合器会根据指定的目标芯片和设定的优化策略来产生最优的电路实现方案。常用的选项都可以在下图菜单中设置。 1、flatten_hierarchy 这个参数决定了Vivado综合工具将如何控制层次结构,一般默认为rebuilt,主要有以下3个参 阅读全文
posted @ 2023-07-16 16:31 AnchorX 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 一、XCI和XCIX格式文件 在Vivado中生成 IP核时,一般默认是对应的IP核文件夹会生成在工程目录的.srcs/sources_1/ip路径下。这个文件夹包含了所有与该IP核相关的文件,最主要的是XCI文件,其中包含了用户配置的相关信息。 Vivado还提供了Core Container特性 阅读全文
posted @ 2023-07-16 16:14 AnchorX 阅读(455) 评论(0) 推荐(0) 编辑