草庐IT

FPGA-Verilog

全部标签

Verilog HDL警告 Warning (13024): Output pins are stuck at VCC or GND

这个警告代表某个输出变量的值恒为1或0。问题:编译后ERR和RxdEnd的值恒为0。分析:找到ERR和RxdEnd的位置(43-50行),程序完全没进入43到50行的if语句,导致程序没有对上述两个变量的值进行任何操作。原因:第二行rnd_cnt变量没有指定位宽,默认位宽是1,所以程序处理时rnd_cnt最大为2,没有办法加到43行的5,所以程序卡在43行之前没法前进处理ERR和RxdEnd,导致了错误出现。解决:指定位宽,将第二行改成reg[7:0]rnd_cnt;问题解决。总结:用于计数的变量要指定位宽以下为错误代码reg[7:0]RxdBuf;regrnd_cnt;reg[8:0]Lrc

基础设计五(LCD液晶屏)——FPGA学习笔记<6>

目录一.TFT_LCD液晶屏驱动设计简介(1)HV同步模式(2)DE同步模式(3)整体设计(4)TFT_LCD显示时序控制模块程序设计(1)tft_ctrl时序控制模块(2)tft_pic 图像数据生成模块(3)顶层模块二.TFT_LCD液晶屏字符显示前置学习:基础设计四——FPGA学习笔记<5>参考书目:《野火FPGA Verilog开发实战指南》一.TFT_LCD液晶屏驱动设计简介液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分子排列却和固体晶体一样非常规则,因此取名液晶。如果给液晶施加电场,会改变它的分子排列,从而改变光线的传播方向,配合偏振光片,它就

Macbook M1使用vscode+iverilog+gtkwave实现Verilog代码的编译与运行

文章目录前言一、介绍一下各个工具二、安装各个需要的工具1.MacOS上的包管理工具——Homebrew的安装2.Verilog编译器——iverilog的安装3.ctags的安装4.gtkwave的安装三、在vscode上安装并配置相关插件1.CTagsSupport插件2.VerilogHighlight插件3.Verilog-HDL/SystemVerilog/BluespecSystemVerilog插件四、使用搭建好的平台进行verilog的编写与仿真1.使用vscode进行verilog代码编写与代码错误检查2.使用iverilog+gtkwave进行仿真总结前言最近在研究FPGA的

FPGA-1位全加器的实现

目录一.认识全加器1.半加器2.一位全加器二.输入原理图实现1位加法器三.Verilog实现1位加法器四.测试一.认识全加器1.半加器1.半加器的定义半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路。2.半加器的真值表A,B表示二进制数,C表示半加进位,S表示半加和ABCS00000101100111103.输出表达式S=AˉB+ABˉ=A⊕BC=AB2.一位全加器1.1位全加器的真值表Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和AinBinCinCoutSum0000000101010010111010001101101

FPGA-Verilog 仿真可视化

DigitalJS是一个基于JavaScript实现的开源数字电路模拟器,旨在模拟由硬件设计工具(如Yosys)合成的电路。由弗罗茨瓦夫大学的MarekMaterzok开发,源文件托管于Github上。DigitalJS的开源网址如下:https://github.com/tilk/digitaljs下面这个网址:http://digitaljs.tilk.eu/,提供了一个DigitalJS的在线演示程序,可以对Verilog/SystemVerilog等语言进行在线综合、可视化。输入下面这段Verilog代码:modulecircuit(inputa,outputb);assignb=~a

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

1.6.4MATLAB与Quartus的数据交互        在FPGA设计过程中,目前的仿真调试工具,如ModelSim,只能提供仿真测试数据的时域波形,无法显示数据的频谱等特性,且在对数据进行分析、处理时不够方便。例如,在设计数字滤波器时,只在FPGA开发环境中很难直观、准确地判断滤波器的频率响应特性,在编写仿真测试激励文件时,依靠VHDL或VerilogHDL语言也很难产生用户所需要的具有任意信噪比的输入信号。这些问题给数字信号处理技术的FPGA设计与实现带来了不小的困难。FPGA开发环境中无法解决的复杂信号产生、处理、分析的问题在MATLAB软件环境中却很容易实现。因此,只要能在FP

[FPGA 学习记录] 简单组合逻辑——多路选择器

简单组合逻辑——多路选择器封面来源:Multiplexer文章目录简单组合逻辑——多路选择器1理论学习1.1组合逻辑1.2多路选择器2多路选择器的实战演练2.1实验目标2.2硬件资源2.3程序设计2.3.1模块框图2.3.2波形绘制2.4代码编写2.5代码编译2.6逻辑仿真2.7管脚绑定2.8全编译2.9上板验证在本小节中,我们将使用Verilog语言描述一个具有多路选择器功能的电路,目的是学会使用Verilog语言实现简单的组合逻辑本小节的主要内容分为两个部分:一个部分是理论学习,在这一部分我们会对本小节涉及到的理论知识做一个讲解;另一个部分是实战演练,我们将设计一个多路选择器,加深对理论知

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

1.3VerilogHDL语言简介1.3.1HDL语言简介        PLD(可编程逻辑器件)出现后,需要有一种设计切入点(DesignEntry)将设计者的意图表现出来,并最终在具体器件上实现。早期主要有两种设计方式:一种是采取画原理图的方式,就像PLD出现之前将分散的TTL(Transistor-TransistorLogic)芯片组合成电路板一样进行设计,这种方式只是将电路板变成了一颗芯片而已;还有一种设计方式是用逻辑方程式来表现设计者意图,将多条方程式语句组成的文件经过编译器编译后产生相应文件,再由专用工具写到可编程逻辑器件中,从而实现各种逻辑功能。        随着PLD器件技

★教程4:FPGA/MATLAB/Simulink联合应用开发入门与进阶X例——前言

    专业即算法,算法即数学,数学即万物。从事MATLAB算法仿真工作15年,从事FPGA系统开发工作12多年。擅长解决各种算法仿真、建模、通信、图像处理、AI、智能控制等。 1.无线基带,无线图传,编解码2.机器视觉,图像处理,三维重建3.人工智能,深度学习4.智能控制,智能优化目录1.FPGA,MATLAB,Simulink教程回顾2.为什么要写《★教程4:fpga/matlab联合开发X例》3.《★教程4:fpga/matlab联合开发X例》特色4.《★教程4:fpga/matlab联合开发X例》所用软件有哪些5.《★教程4:fpga/matlab联合开发X例》难度怎么样?    FP

锁相环技术原理及FPGA实现(第二章2.2)

2.2FPGA中数的运算2.2.1加/减法运算        如前节所述,FPGA中的二进制数可以分为定点数和浮点数两种格式,虽然浮点数的加减法运算相对于定点数而言在运算步聚和实现难度上都要复杂得多,但基本的运算仍然是通过分解为定点数运算,以及移位等运算步骤来实现的,因此本节只针对定点数运算进行分析讲解。        进行FPGA实现的设计输入语言主要有VerilogHDL和VHDL两种。由于本书使用VerilogHDL语言讲解,这里只介绍VerilogHDL语言中对定点数的运算及处理方法。VerilogHDL设计文件中最常用的数据类型是单比特wire及reg,以及它们的向量形式。当需要进行