草庐IT

Xilinx-FPGA

全部标签

GW1NSR-LV4CQN48GC6/I5 FPGA呼吸灯

环境 pwm.v$catpwm.vmodulePwm(  inputclk,  input[31:0]period,  input[31:0]duty,  outputpwmout);  reg[31:0]counter;  regr_pwmout;  always@(posedgeclk)begin    if(counter      r_pwmout=1;    end    elsebegin      r_pwmout=0;    end    case(counter)      default:        counter=counter+1;      period:    

FPGA调试问题记录(软件无线电)

"欢迎各位大佬在评论区发表你们的调试问题与解决方式"一、Vivado报错【labtools27-3403】原因:JTAG频率过高。解决:连接调试器时降低JTAG频率。【DRCREQP-1619】原因:没接管脚,造成没有IOB来驱动GT。【DRCREQP-1712】输入信号clk不是来自普通的单端时钟信号。解决:方法1.IP核中将PLL的clk_in1的source参数修改为Globalbuffer。方法2.修改Compensation:TheClockingWizard->Re-customIP->PLLE2Settingstab->“AllowOverrideMode”check->Comp

基于FPGA的UDP 通信(一)

引言手头的FPGA开发板上有一个千兆网口,最近准备做一下以太网通信的内容。本文先介绍基本的理论知识。FPGA芯片型号:xc7a35tfgg484-2网口芯片(PHY):RTL8211网络接口:RJ45简述以太网什么以太网?以太网是一种计算机局域网技术。IEEE组织的IEEE802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是应用最普遍的局域网技术。常用的传输速率以太网传输速率:10Mbps、100Mbps、1000Mbps、10Gbps硬件接口以太网的接口类型有,RJ45接口、RJ11接口,SC光纤接口等。RJ45的接口插头和插座的示意图:R

Vitis高层次综合学习——FPGA

高层次综合什么是高层次综合?就是使用高级语言(如C/C++)来编写FPGA算法程序。在高层次综合上并不需要制定微架构决策,如创建状态机、数据路径、寄存器流水线等。这些细节可以留给HLS工具,通过提供输入约束(如时钟速度、性能编译指示、目标器件等)即可生成经过最优化的RTL。其主要优势为:1、提高FPGA算法部署的效率(1)使用C语言来开发和确认FPGA算法;(2)使用C语言来仿真RTL设计。2、算法易于移植。Vivado和HLSVitisHLS工具会将C或C++函数综合到RTL代码中,以便在Versal自适应SoC、ZynqMPSoC或AMDFPGA器件的可编程逻辑(PL)区域内实现。Viti

FPGA_学习_11_IP核_RAM_乒乓操作

本篇博客学习另一个IP核,RAM。用RAM实现什么功能呢?实现乒乓操作。乒乓操作是什么呢?参考:FPGA中的乒乓操作思想_fpga中乒乓操作的原因_小林家的龙小年的博客-CSDN博客何为乒乓操作_fanyuandrj的博客-CSDN博客以下是本人理解:乒乓操作可以实现低速模块处理高速数据,这种处理方式可以实现数据的串并转换,就是数据位宽之间的转换,是面积与速度互换原则的体现。例如:数据位宽的转换,要将8位的数据转换为16位,按照传统方法,每两个时钟周期完成一次转换,输出数据的变化与时钟信号不是同步的。使用乒乓操作,数据写入数据缓冲模块的时候使用50M的时钟,读出时使用25M的时钟,每次读出16

Mac 开发 Tang Nano FPGA 指南(使用终端和使用 VS Code 和插件,适用所有 Gowin FPGA)

最近收到了一个Tangnano9KFPGA开发板,就想借此机会研究一下。官方文档里介绍如果想使用高云的FPGA,就需要使用GOWINIDE,但是需要申请license提交一堆资料,我是别人送的就不太方便让别人弄。加上IDE其实并不是很适合学习和投入生产,因为IDE忽略了很多细节,以及对一些工作做了处理。所以就想找到其他的工作流程,就像可以使用任何文本编辑器加上Clang/LLVM就可以编译C/C++程序一样。FPGA开发是在开发什么?首先是需要知道,FPGA开发到底是在开发什么,这样才能找到需要的工具和软件。计算机械执行各种指令的本质是给一系列逻辑单元的引脚通电,然后经过逻辑电路之后输出新的电

FPGA——HLS入门-LED闪烁仿真

系列文章目录文章目录系列文章目录一、HLS介绍1、什么是HLS2、与VHDL/Verilog有什么关系?3、关键技术局限性二、VivadoHLS-LED闪烁仿真1、项目配置2、C仿真3、联合仿真三、总结一、HLS介绍1、什么是HLSHLS就是高综合(HighlevelSynthesis)的缩写,通过HLS,我们可以将C或者c++语言编译为FPGA能够读懂和运行的RTL级别的语言。这个术语是行为和电子系统的结合:是一门技术,也是一门科学,它把设计意图抽象化,抽象视图可以自动地将人类设计者的努力付诸现实。最终生成的设计应遵循一系列要求,包括芯片面积、时钟频率、功耗和时间性能的要求等等。通过HLS将

基于FPGA的Verilog语言 signed unsigned 运算&&不同位宽运算(无聊的碎碎叨叨)

 此文以quartus为例,使用Verilog语言简单编写验证。并对常见赋值运算进行介绍,读者可采用附带程序进行验证和理解。很神奇的一件事,机器运算仅可以完成最简单的“1+1”,而“1+1”在二进制中可以完成不同bit的加减。他是如何实现的呢?一.最简单的是加法,再加法中不会产生负数,所以直接对应位数相加,加满进一;二.在减法中,机器也是通过加法来实现的,因为在机器中,负数用对应的补码来表示,并不表示负数。1、大数减小数a.(相同位宽减法)例如-8‘d8可以表示为1000_1000,首位表示正负,命名为符号位,1表示负,0表示正。-8的补码为反码1111_0111(反码)加一,即1111_10

FPGA原理与结构——可配置逻辑块CLB(Configurable Logic Block)

一、什么是CLB1、CLB简介            可配置逻辑块CLB(ConfigurableLogicBlock)是xilinx系类FPGA的基本逻辑单元(在各系列中CLB可能有所不同,以下我们主要讨论Xilinx7系类),是实现时序逻辑电路和组合逻辑电路的主要逻辑资源。2、CLB的组成    一般来说,EDA完成综合时会自动分配CLB资源,而不需要系统设计者的干预。对于设计者来说,理解某些CLB细节是有利的,包括查找表(LUTs)的不同功能、进位的物理方向、可用触发器的数量和分布,以及移位寄存器的可使用情况等。    每个CLB可以被划分成两个Slice,并引出逻辑连线至开关矩阵(Sw