代码编织梦想

DHT11之Verilog 驱动代码-爱代码爱编程

测试平台: Vivado 2018.3+Xilinx XC7A35TFGG484-2 关于DHT11时序,优缺点网上很多,就不说了. 话不多说了,直接上代码: 代码有不懂的地方欢迎与我交流.微信1247652780 // -------------------------------------------------------------------

HDLBits总结——边缘检测verilog模块-爱代码爱编程

HDLBits总结——边缘检测verilog模块 1.上升(下降)沿检测 module edge_detect ( input clk, input [7:0] in, output [7:0] pedge ); reg [7:0] in_reg //将本次输入电平保存至in_reg al

4人抢答器----基于Step MAX10小脚丫开发板-爱代码爱编程

设计任务 1、四人通过按键抢答,最先按下按键的人抢答成功,此后其他人抢答无效,抢答成功的人对应的LED灯亮。 2、每次只有一人可获得抢答资格,一次抢答完后主持人通过复位按键复位,选手再从新抢答。 3、有重新开始游戏按键,游戏从新开始时每位选手有5分的初始分,答对加1分,答错扣1分,最高分不能超过9分,最低为0分。 4、每位选手和主持人共有30秒时间进行回

RTL设计(5)- 异步FIFO-爱代码爱编程

异步FIFO FIFO简介异步FIFO空满检测异步FIFO最小深度异步FIFO实例运行结果 FIFO简介 FIFO(First In First Out )是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储

SPI接口的FPGA实现(三)——Verilog代码实现SPI接口-爱代码爱编程

上一篇文章我们介绍了DAC81416的配置过程,这一篇我们就用Verilog代码具体实现这个过程,这一篇的代码具有普遍性,以后所有DA/AD的配置代码都可以在本文所展示的代码上进行修改获得。这里先给出源代码链接和一个通用fifo(作为子模块)的代码链接。这是我在FPGA教学系列文章中第一次展示代码,所以我会以设计者的角度来还原代码编写时的设计步骤,也就是设

RTL设计(4)- RAM_to_AXIS流控-爱代码爱编程

RAM_to_AXIS流控 AXIS流控电路结构电路仿真模型运行结果 AXIS流控电路结构 若使用AXI-Stream通信协议输出RAM中的数据,不加特殊处理时,由于读取RAM后获得的数据会延迟1个周期(如果读取后进行了其他处理则可能会延迟2个周期或更多),这样会导致vallid信号的间断。 为了解决这个问题,实现AXI-Stream通信协

【Zedboard】FPGA边缘提取 图像处理 基于ZYNQ完成 灰度图像 在VGA显示与 边缘提取 二值化 Verilog代码实现-爱代码爱编程

【Zedboard】FPGA边缘提取 图像处理 基于ZYNQ完成 灰度图像 在VGA显示与 边缘提取 二值化 Verilog代码实现 在项目开始到目前为止已经完成了在Zedboard的PL部分即FPGA上的对本视觉系统的所有工作。项目整体Block Design 图如下所示: 实物图: 灰度图显示 边缘提取对比RGB彩色图 (一)、配置摄像头传感器并

【Zedboard】FPGA图像处理 基于ZYNQ完成RGB彩色图像在VGA显示与二值化 Verilog代码实现-爱代码爱编程

【Zedboard】FPGA图像处理 基于ZYNQ完成图像 二值化 Verilog代码实现 目前的成像状态: (一)、配置摄像头传感器并完成完成图像实时采集: (a)先介绍摄像头配置的模块: 本项目中使用的摄像头传感器芯片是OV5620,硬件接口上:支持标准的SCCB接口,兼容I2C接口,支持PMOD双排接口,本项目中使用的即为PMOD_5M双排接口

实验二:功能可调综合计时器设计-爱代码爱编程

一、实验目的 (1)掌握QuartusII等实验工具的输入、综合、仿真、下载的使用方法 (2)掌握DE2开发版的器件功能特性和使用方法 (3)掌握Verilog HDL时序逻辑系统设计的主要方法和技术 (4)掌握并应用EDA设计的方法和流程 二、预习要求 (1)了解QuartusII等管教分配、下载的方法和流程 (2)了解开发板输入、输出显示资源的工

CPU指令运算器设计-爱代码爱编程

一、实验目的 (1)掌握QuartusII等实验工具的输入、综合、仿真、下载的使用方法 (2)掌握DE2开发版的器件功能特性和使用方法 (3)掌握Verilog HDL组合逻辑系统设计的主要方法和技术 (4)掌握并应用设计的方法和流程 二、预习要求 (1)了解QuartusII等管教分配、下载的方法和流程 (2)了解开发板输入、输出显示资源的工作特性

实现74LVC161的计数器功能-爱代码爱编程

VerilogHDL程序设计与仿真作业8: ——实现74LVC161的计数器功能 文章目录 VerilogHDL程序设计与仿真作业8:——实现74LVC161的计数器功能一、实验目的二、实现74LVC161的计数器功能1、设计思路2、实现代码3、测试代码4、仿真 一、实验目的 实现74LVC161的计数器功能二、实现74LVC161的计数

实现74HC/HCT194的双向移位寄存器功能-爱代码爱编程

VerilogHDL程序设计与仿真作业7: ——实现74HC/HCT194的双向移位寄存器功能 文章目录 VerilogHDL程序设计与仿真作业7:——实现74HC/HCT194的双向移位寄存器功能一、实验目的二、实现74HC/HCT194的功能1、设计思路2、实现代码3、测试代码4、仿真 一、实验目的 实现74HC/HCT194的双向移

[FPGA/Vivado]Vivado软件的所有项目关联Notepad++-爱代码爱编程

要想Vivado软件的所有项目都关联上Notepad++,在打开Vivado软件后不要打开任何项目,直接进行设置关联。 如下图所示,打开vivado软件,Tools->Settings->Text Editor->Current Editor中下拉选择Custom Editor。 如下图,按照格式输入命令:“notepad++安装目录/

RTL设计(3)- 乒乓操作-爱代码爱编程

乒乓操作 乒乓操作法乒乓操作实例模块简介程序运行结果 乒乓操作法 乒乓操作法是FPGA 开发中的一种数据缓冲优化设计技术,可以看成是另一种形式的流水线技术。输入的数据流在通过“输入数据流选择单元”时,时间等分地将数据流分配到两个数据缓冲模块内。数据缓冲模块可以是FPGA 中的任何存储模块,如双口RAM、单口RAM 和FIFO等。 乒乓操作的

小梅哥FPGA:ROM_SignalTap Ⅱ-爱代码爱编程

小梅哥FPGA:ROM_SignalTap Ⅱ 目标: 1.将实现一组固定的数据(三角波形表)存储在FPGA中,并使用IP核构建的片上ROM进行存储,开发板上电后,系统开始从ROM中读取数据,并将数据直接通过并口输出,通过使用SignalTap Ⅱ软件实时抓取并口上的数据,显示得到三角波形。 2.使用Quartus Ⅱ软件中提供ISMCE工具在线更改RO

SPI接口的FPGA实现(二)——配置DAC-爱代码爱编程

这一篇主要结合DAC81416的datasheet来进一步阐述如何配置DAC。先附上DAC81416的datasheet的链接。 一、datasheet概述 如果自己不做电路板,DAC81416的datasheet需要关注的方面并不多。该DAC一共16个输出通道,可以通过一系列的配置其内部寄存器的操作输出16个电压值。 该DAC有普通模式,同步模式,

常见verilog错误-爱代码爱编程

常见verilog错误 多驱动阻塞与非阻塞混用阻塞非阻塞语义理解关键字 or 和逻辑或 || 混用混用其他语言格式异步复位信号的描述for循环的理解 多驱动 /********************************1************************************/ // always @(*) begin

数字逻辑:23-61计数(加法)器(使用MAX+plus II 、Verilog语言 编写)-爱代码爱编程

代码 module counter23_61(reset,clk,mid_H,mid_L,mid_L_cy); input reset,clk; output[3:0] mid_H,mid_L; output mid_L_cy; reg[3:0] mid_H,mid_L; wire mid_L_cy; a

数字逻辑:建立1011序列检测器(使用MAX+plus II 、Verilog语言 编写)-爱代码爱编程

代码 module t_1011(reset,clk,x,z,now,next); input reset,clk,x; output z; output[2:1] now,next; parameter y0=2'b00,y1=2'b01,y2=2'b11,y3=2'b10; reg z; reg[2:1] now,next; alway

数字逻辑:75-23计数(减法)器(使用MAX+plus II 、Verilog语言 编写)-爱代码爱编程

代码 module counter75_23(reset,clk,mid_H,mid_L,mid_L_cy); input reset,clk; output[3:0] mid_H,mid_L; output mid_L_cy; reg[3:0] mid_H,mid_L; wire mid_L_cy;