草庐IT

FPGA-Verilog

全部标签

锁相环技术原理及FPGA实现(第一章1.1)

第一章设计环境及开发平台介绍FPGA             锁相环技术具有很强的专业性,要掌握其工作原理,透彻理解各种设计方法和思路,最终游刃有余地设计出性能优良的锁相环电路,首先需要掌握一系列相关工具。请注意,不是“一种”工具,而是“一系列”工具:FPGA开发软件QuartusII、HDL仿真软件ModelSim、MATLAB软件、SystemView软件,以及FPGA开发语言VerilogHDL。        回想起自己初次学习FPGA实现数字通信相关设计时的状态,当老师列出一系列以前从未接触过的专业软件时,一时似乎有些绝望的感觉,掌握这些软件的用法不知是多么遥远的事!九层之台,起于垒

小梅哥FPGA时序分析和约束实例演练课程

看过了他的nios课程,对他的能力很认同只有前5讲是开源的,后面需要在淘宝上购买,暂时用不到,我就没有买课程,只看了前5讲感觉还挺有用,需要的时候再说吧。小梅哥FPGA时序分析FPGA时序约束视频课程FPGA开发板应用P1FPGA基本原理基本结构三要素可类比电路板的器件、连线、对外端子可编程逻辑功能块触发器用于实现时序逻辑,进位链用于可编程逻辑块间通讯,使用较少。具体器件的可编程逻辑功能块结构。第5代将四输入查找表升级到六输入查找表由上面两个图抽象得到下图,并给出三种使用方式。【D触发器(dataflip-flop或delayflip-flop)】  【LUT指显示查找表(Look-Up-Ta

FPGA中应用LVDS信号

FPGA开发中经常会用到LVDS信号,本文分别介绍intelfpga和xilinxfpga的LVDS信号处理方法。intelfpgaLVDS输入​LVDS信号输入到intelFPGA,在PinPlanner中将信号设置成LVDS。例如输入信号为data_p和data_n,只需要分配data_p引脚,data_n引脚软件自动分配。写代码时直接操作data_p就可以。FPGA开发中经常会用到LVDS信号,本文分别介绍intelfpga和xilinxfpga的LVDS信号处理方法。intelfpgaLVDS输入​LVDS信号输入到intelFPGA,在PinPlanner中将信号设置成LVDS。例如

FPGA功能模块---边沿检测edge_detector

FPGA功能模块---边沿检测edge_detector1、边沿检测介绍1.1目的1.2应用1.3检测方法1.4代码实现方式2、Verilog代码2.1功能描述2.2输入输出信号2.2处理输入信号的亚稳态问题2.3时序图2.3.1正常状态2.3.2误判上升沿2.3.3误判下降沿2.5源代码及TestBench仿真文件2.6仿真结果1、边沿检测介绍1.1目的检测信号的跳变,即上升沿(0→1)或下降沿(1→0)。1.2应用常用于检测1bit信号的电平跳变,例如光耦、按键、微动开关等器件在正常工作时会产生由0到1或者由1到0的跳变,检测到边沿的跳变后就能知道这些器件在什么时候被触发,方便进行其它的逻

xilinx FPGA IOB约束使用以及注意事项

文章目录一、什么是IOB约束二、为什么要使用IOB约束1、在约束文件中加入下面约束:2、直接在代码中加约束,三、IOB约束使用注意事项一、什么是IOB约束在xilinxFPGA中,IOB是位于IO附近的寄存器,是FPGA上距离IO最近的寄存器,同时位置固定。当你输入或者输出采用了IOB约束,那么就可以保证从IO到达寄存器或者从寄存器到达IO之间的走线延迟最短,同时由于IO的位置是固定的,即存在于IO附近,所以每一次编译都不会造成输入或者输出的时序发生改变。二、为什么要使用IOB约束考虑一个场景,当你用FPGA写了一个spi模块,将时钟、片选和数据线绑定到FPGA的IO管脚,如果没有加IOB约束

FPGA学习笔记——跨时钟域(CDC)设计之多bit信号同步

FPGA学习笔记——跨时钟域(CDC)设计多bit信号同步  跨时钟域传递多比特信号的问题是,在同步多个信号到一个时钟域时将可能偶发数据变化歪斜(Skew),这种数据歪斜最终会在第二个时钟域的不同时钟上升沿上被采集。即便能够完美地控制和匹配这些多比特信号的走线长度,随着芯片衬底工艺不同,上升和下降的时间也会不一样,这些因素都会产生足够的歪斜导致在精心匹配的多条信号上采样失败。  为了避免这种多比特跨时钟域信号上的采样歪斜,需要掌握一些不一样的方法。这些方法大致可以分为以下几种:多比特信号合并成单比特信号。MUX同步器多周期路径(Multi-Cyclepath,MCP)同步法握手处理格雷码编码处

Verilog学习之奇偶校验设计

文章目录前言一、题目描述二、实现思路1.理解奇偶校验2.计算奇偶校验三、代码展示总结前言今天我们做的是第三道题——奇偶校验。在这道题里,我们需要理解什么是奇偶校验,并且如何去进行奇偶校验,接下来我们便去看看如何写这道题。奇偶校验一、题目描述现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验)信号示意图波形示意图输入描述输入信号bussel类型wire输出描述输出信号check类型wire二、实现思路1.理解奇偶校验奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。其实说白了,奇偶校验就是看数据(

第2节 安路FPGA PH1A90系列芯片资源情况说明

一、PH1A90系列命名规则       PH1A90属于PHOENIX(凤凰)系列芯片,PH1代表器件名称也是取该系列的PHOENIX的首部两个字母。A表示逻辑器件,400代表查找表容量,SFG900代表封装类型,后面是温度等级和速度等级。如下图所示。安路国产FPGA推出的PHOENIX系列性能、资源和价格对标美国AMD(XILINX)的KINTEX7系列FPGA,属于中高端FPGA。名字凤凰,充分展现了国风,具有强烈的民族文化色彩。让国内开发者感觉亲切和自豪,国产FPGA一定会越来越受欢迎。 二、引脚和封装信息       目前PHOENIX系列的FPGA,主要有SFG900,SFG676

FPGA中的乘法器设计(三)

目录前言4.Vivado乘法器IP核的调用4.1基本参数简介4.2仿真验证5.Vivado复数乘法器IP核调用5.1基本参数简介5.2仿真验证总结前言篇接上回:FPGA中的乘法器设计(二)本篇文章我们来介绍一下Vivado乘法器IP核的使用4.Vivado乘法器IP核的调用参考文档:pg1084.1基本参数简介一、BasicMultiplierType:选择乘法器类型ParallelMultiplier:并行乘法器,即输入两个并行的变量,选择该选项后配置界面如下图所示MultiplierConstruction:选择该核的实现方式LUT专用乘数原语OptimizationOptions:选择优

【FPGA】IIC协议通用主机接口的设计与实现详解

一、认识IIC        IIC(I2C)协议是一种串行通信协议,用于连接微控制器和外围设备。IIC协议只需要两根信号线(时钟线SCL和数据线SDA)就能完成设备之间的通信;支持多主机和多从机通信,通过设备地址区分不同的设备;标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s;具有应答机制,可以检测数据的正确性和设备的存在性。二、协议详解    在闲置状态时,时钟线和数据线都会保持高电平。IIC协议的具体传输过程如下:        1.主机发送起始信号,即在时钟线SCL保持高电平的情况下,数据线SDA由高电平向低电平跳变。