草庐IT

FPGA-UART

全部标签

避免latch verilog FPGA 基础练习2

避免latchverilogFPGA基础练习2发现问题,用技术解决问题。兴趣是自己的源动力!目录避免latchverilogFPGA基础练习2前言一、latch是什么?二、latch出现的场景和危害2.1场景2.2危害2.3组合逻辑和时序逻辑2.4同步(时序)逻辑电路和异步(时序)逻辑电路三、如何避免latch总结前言本文由如何避免latch的问题场景,来更详细的描述verilog中的组合逻辑电路和时序逻辑电路等等理论知识。由latch这个问题入手来阐述更多理论知识,有助于更好的理解和记忆。一、latch是什么?Latch其实就是锁存器,是一种在异步电路系统中,对输入信号电平敏感的单元,用来存

FPGA基础设计(八):串口收发之RAM存储

串口收发之RAM存储前言整体设计模块划分RAMIP核创建RAMIP核IP核测试前言实现上位机通过串口发送数据到FPGA,FPGA接收到数据后将其存储在RAM的一段连续空间中,然后通过按键触发读出RAM数据,再通过串口发送到上位机。整体设计模块划分1、串口接收模块;2、按键消抖模块3、创建RAMIP核模块4、RAMIP核控制模块;5、串口发送模块。前面已经设计好了串口发送模块,串口接收模块和按键消抖模块,还剩RAMIP的创建和控制RAM模块的设计。控制RAM读写的逻辑:1、简易双端口RAM,有两组地址:写地址wraddress、读地址rdaddress;2、只设置了写使能wren,没有设置读使能

FPGA开发基础篇之一(接口篇)UART串口

写在前面从本文开始,将连载fpga开发基础知识,将这几年浅显的fpga开发经验整理出来,一是梳理一下这几年给别人做fpga的经历,同时也是分享给大家,也希望大牛批评指正。一、UART串口通信基本概念串口通信是非常基本且应用十分广泛的低速通信接口,无论是在dsp、单片机、arm还是在fpga中,编写uart串口通信程序是必备的基础。首先要先了解UART串口通信的基本概念,UART串口通信是全双工的,支持发送和接收通信同时进行。硬件上UART串口只需要两条线tx和rx,分别进行发送和接收。UART串口通信没有同步时钟线,这就需要引入一个概念波特率来区分两位数据实现串行通信,波特率是指每秒传输的位数

基于FPGA的查表式运算器的设计与仿真

摘要随着我国的经济的发展,人们要求计算的方法更好简单和方便,尤其是在计算这个方面,所以对于运算器的设计是非常的重要的,所以为了更好的设计该设计采用了现场可编程逻辑器件FPGA设计,并基于硬件描述语言VHDL在Altera公司的QuartusⅡ软件上实现仿真。系统由计算部分、存储部分、显示部分和输入部分四个部分组成,计算部分为加法器、减法器、乘法器和除法器,存储部分需要3个存储器来实现:内部累加器(acc)、输入寄存器(reg)以及结果暂存器(ans)。显示部分由四个七段译码管组成,分别来显示输入数字,输入部分采用外接键盘,由0—9十个数字按键,加减乘除四个运算符按键,一个等号按键和一个清零按键

CP2102N USB to UART Bridge Controller 驱动程序无法使用

解决办法来源问题  原本想通过vitis自带的终端terminal来连接串口进行fpga和电脑通信的时候,发现fpga的UART端口连接不到电脑,故通过设备管理费排查发现端口驱动未安装。解决办法步骤一.上驱动官网下载驱动官网链接步骤二.选择合适的驱动进行下载,我下载的是CP210xWindowsDrivers。步骤三.解压后安装对应的x86或者是x64版本即可,我电脑为x64系统安装了对应的CP210xVCPInstaller_x64.exe。  安装完后连接串口,设备管理器显示正常。

FPGA接口小结

记录一下FPGA学习过程中学到的一些接口协议一、SPISPI是串行外设接口(SerialPeripheralInterface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议1.1SPI协议SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。(1

FPGA解析串口指令控制spi flash完成连续写、读、擦除数据

前言最近在收拾抽屉时找到一个某宝的spiflash模块,如下图所示,我就想用能不能串口来读写flash,大致过程就是,串口向fpga发送一条指令,fpga解析出指令控制flah,这个指令协议目前就是:55+AA+CMD+LEN_h+LEN_m+LEN_l+DATACMD:01写;02读;03擦除(片擦除);LEN_h/m/l:三个字节表示读写长度,高字节在前低字节灾后;DATA:如果是写flah,DATA则为需要写入的数据,其它两种状态可以不填;1.串口指令解析软件使用序列式状态机完成串口指令解析,最后解析出三个使能信号,以及相应的数据、长度、地址。always@(posedgeclk,neg

一起学习用Verilog在FPGA上实现CNN----(七)全连接层设计

1全连接层设计1.1Layer进行线性计算的单元layer,原理图如图所示:1.2processingElementLayer中的线性计算单元processingElement,原理图如图所示:processingElement模块展开原理图,如图所示,包含一个乘法器和一个加法器,对输入进行累乘和累加1.3weightMemory全连接层的权重存储于weightMemory单元,原理图如图所示:2代码实现2.1weightMemory2.1.1设计输入创建weightMemory文件,操作如图:双击打开,输入代码:moduleweightMemory(clk,address,weights);

基于FPGA和Verilog实现的9层电梯控制器仿真设计

资源下载地址:https://download.csdn.net/download/sheziqiong/85628810资源下载地址:https://download.csdn.net/download/sheziqiong/85628810数字逻辑与数字系统设计之电梯控制器设计一、设计目的及要求设计要求电梯最少可以往返于0—9层楼。乘客要去的楼层数A可手动输入并显示,按取消键可清除本次输入。可自动显示电梯运行的楼层数B当A>B时,电梯上升;当A当A=B时,电梯停止运行并开门;可以自动显示电梯每一次启停之间的运行时间任何时候按下复位键,电梯回到1层。设计目的目的是对“数字逻辑”课程内容全面、

FPGA串口接收解帧、并逐帧发送有效数据——1

FPGA串口接收解帧、并逐帧发送有效数据工程实现的功能:FPGA串口接收到串口调试助手发来的数据,将其数据解帧。判断到正确的帧头和帧尾之后,将有效数据存入rx_data中;另一方面发送端将有效数据逐帧发送出去。参考:正点原子官方FPGA串口通信实验模块构成:在原子哥的基础上改的代码。添加了接收状态机模块:rx_state_machine;修改了串口发送模块:uart_send。其余部分代码基本不变(只加了例化,修改数据位宽)接收状态机模块rx_state_machine——进行解帧处理,接收有效数据假设:帧头为AA,帧尾为55,有效数据为32bit思路:使用三段式状态机接收状态机标志位是什么?