草庐IT

Xilinx-FPGA

全部标签

基于FPGA的蓝牙遥控,超声波避障,红外循迹的智能小车

    闲来无事整个小车玩玩,设想的小车可以有蓝牙模块来控制模式切换,通过发送指令来更改相对应的功能,当避障的时候可以自动规避障碍物,当处于红外循迹时,可以跟随规划的轨迹前线,当手动遥控时可以控制前进后退左右转向停止等功能。    先介绍一下使用的红外模块,其上有四个管脚,vcc接电源,gnd接地,D0传输红外线是否被吸收,A0传输模拟信号主要是不同距离输出不同的电压,但是此脚一般可以不接.    然后思路就是通过判断D0传过来的电平信号来判断小车有没有接触到黑线,当红外线被吸收,也就是触碰到黑线,D0会持续输出高电平,直到它检测到红外线返回才会回归低电平,基于对管脚传回的电平检测,可以判断是

Xilinx XDMA 上位机应用程序控制逻辑

XilinxXDMApcie上位机应用程序控制逻辑1.驱动安装的参数关于驱动的编译和安装这里就不多讲了,无非就是make和insmod。这里讲一下驱动安装时,控制驱动属性的几个参数:1.中断模式staticunsignedintinterrupt_mode;module_param(interrupt_mode,uint,0644);MODULE_PARM_DESC(interrupt_mode,"0-Auto,1-MSI,2-Legacy,3-MSI-x");中断模式分为三种,MSIX是最新的中断模式,老版本的内核可能不支持。就比如说我的内核。如果不指定驱动安装额中断参数,那么就会产生内核安

手把手教你移植 tinyriscv 到FPGA上

我是雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计交流群群号:866169462。所用开发板:正点原子达芬奇FPGA开发板芯片型号:XilinxArtix-735T文章目录一、下载源码二、创建Vivado工程三、修改约束文件四、综合实现五、通过JTAGdebugRISCV一、下载源码tinyriscv官方库链接:https://gitee.com/liangkangnan/tinyriscv这里我选择的是masterv2.4版本:https://gitee.com/liangkan

FPGA 的数字信号处理:重写 FIR 逻辑以满足时序要求

在上一篇文章中(FPGA的数字信号处理:Verilog实现简单的FIR滤波器)演示了在Verilog中编写自定义FIR模块的初始demo。该项目在行为仿真中正常,但在布局和布线时未能满足时序要求。所以今天的文章让我们来看看当设计不能满足时序要求时如何分析并解决它。当在目标FPGA芯片中布局和布线时,首先在Vivado中确定时序要求.将FIR作为RTL模块导入到blockdesign中,其中通过AXIDMA从存储器传输相位增量偏移值的DDS可以输入可变频率正弦曲线,这样就可以演示FIR的行为。在Vivado中综合布局布线并打开设计后,会弹出严重警告,告知设计不符合时序要求。为了能够准确查看设计时

记一次基于FPGA的VGA显示四操作数计算器工程的开发流程——(1)从顶层设计说起

首先值得说明的是,在这个项目几乎完成之际,笔者才愈发体会到了硬件思维和软件思维的云泥之别。不幸的是,在此项目的实现过程中,绝大部分代码的思维仍然是软件思维,因此该项目主要模块的设计部分可能并不能体现硬件操作的独到之处,不符合硬件工程师的基本设计思维,所以此主题文章仅用于学习交流以及记录一次FPGA项目设计的过程和细节,内部的时序逻辑、算法细节等都很难经得起推敲,仅供参考。先给出这个设计的题目:  设计一个计算器。至少能够实现四个操作数的加减乘除,中间可以任意添加括号,使用VGA实时显示输入的内容和最终的计算结果,并通过串口输出数据到从机,在其上的数码管上显示结果。  在这个项目中,除了给组员分

小梅哥Xilinx FPGA学习笔记10——串口通信发送

串口通信发送的verilog及调试前言1、UART(通用异步收发传输器)1.1UART基本介绍1.2UART关键参数1.3UART时序图2、基于FPGA的串口(UART)发送实验3、代码实现步骤分析3.1端口声明3.2波特率时钟生成3.3数据输出模块设计4、代码实现总结4.1设计文件4.2仿真文件4.3仿真结果5、注意事项总结前言如果不看分析步骤,需要了解代码,可以直接跳到第四节。1、UART(通用异步收发传输器)1.1UART基本介绍RS232通信接口标准,通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter,UART)是一种异步收发传输器,

FPGA原理与结构(2)——查找表LUT(Look_Up_Table)

系列文章目录:FPGA原理与结构(0)——目录与传送门目录一、查找表(LUT)概述二、LUT的性能权衡1、面积效率2、速度问题3、权衡结果 三、LUT的组成与应用1、LUT的组成     2、LUT的应用3、LUT应用拓展 本文参考xilinx官方手册ug474:ug474一、查找表(LUT)概述    LUT是CLB的重要组成部分,是FPGA中的重要资源,人们经常会说FPGA是基于查找表的可编程逻辑器件。其实所谓FPGA,也就是由最基本的三个要素构成的:(1)实现逻辑电路所需要的可编程逻辑要素(2)提供对外接口的可编程输入/输出要素(3)连接以上两种要素的可编程布线要素。然后在此基础上再嵌入

FPGA学习笔记(八):ASK调制解调的仿真

笔记八是ASK调制解调的仿真实现。ASK调制解调的实现原理:首先使用MATLAB产生存储基带波形的coe文件,再让ROM读取coe文件输出基带波形,然后DDS产生正弦波信号作为载波信号,接下来使用乘法器将两者相乘产生ASK信号,ASK信号与载波信号相乘之后,再经过FIR低通滤波器解调出基带波形再抽样判决。 1.打开VIVADO,点击IPCatalog  2.搜索ROM,点击BlockMemoryGenerator 3.ROM的配置(1)选择SinglePortROM  (2)选择需要加载的coe文件的位宽和深度 (3)加载coe文件   coe文件的生成%%二进制码序列的coe文件生成clea

FPGA开发之Vivado安装及HLS环境配置,并实现流水灯实例

文章目录一、HLS简介二、Vivado安装三、HLS实现流水灯开发实例3.1创建HLS工程3.2代码编写3.3综合仿真3.4创建Vivado工程四、总结五、参考资料一、HLS简介HLS(High-LevelSynthesis)高层综合,就是将C/C++的功能用RTL来实现,将FPGA的组件在一个软件环境中来开发,这个模块的功能验证在软件环境中来实现,无缝的将硬件仿真环境集合在一起,使用软件为中心的工具、报告以及优化设计,很容易的在FPGA传统的设计工具中生成IP。传统的FPGA开发,首先写HDL代码,然后做行为仿真,最后做综合、时序分析等,最后生成可执行文件下载到FPGA使用,开发周期比较漫长

Xilinx FPGA中的双沿寄存器 - IDDR与ODDR

XilinxFPGA中的双沿寄存器-IDDR与ODDRFPGA是现代电路设计中最常用的技术之一。而在FPGA中,双沿触发器通常被用于解决时序问题。Xilinx的IDDR和ODDR原语是两种常用的双沿触发器。IDDR原语是输入双沿寄存器,它可以将一个数据信号从两个时钟边沿进行采样,并且输出一个同步数据流。IDDR原语有以下语法:IDDR#(.INIT_Q1(1'b0),//初始输出为0.INIT_Q2(1'b0)//初始输出为0)iddr(.D(D),//采样数据输入.C0(C0),//第一个时钟.C1(C1),//第二个时钟.Q(Q)//输出同步数据);ODDR原语是输出双沿寄存器,它接收一个