刷新
FPGA对EEPROM驱动控制(I2C协议)

博主头像 本文摘要:本文首先对I2C协议的通信模式和AT24C16-EEPROM芯片时序控制进行分析和理解,设计了一个i2c通信方案。人为按下写操作按键后,FPGA(Altera EP4CE10)对EEPROM指定地址写入字节数据,并接后按下读操作按键,读取该地址上的一个字节数据在数码管低两位显示出来。其中包 ...

valid/ready握手机制及verilog代码

博主头像 目录valid/ready握手协议valid/ready状态机verilog实现代码波形文件 valid/ready握手协议 在两个模块之间传输数据时候,可以使用valid/ready握手协议,保证数据传输的有效性。 发送方准备发送数据时,它发送valid信号给接收方,接收方准备好可以接收数据时候, ...

FPGA内部资源(一)DSP48E1

一、 实验过程中发现的问题 使用ISE进行项目的实现时出现以下错误。 意思很简单,就是使用DSP48E1的数量超出限制,因为没有接触过DSP48E1,所以尝试了很多错误的方法后,我找到项目下的.mrp文件,里面有一行显示 Number of DSP48E1s: 496 out of 480 103% ...

用verilog/systemverilog 设计fifo (2)

博主头像 目录异步fifo实现中要解决的问题信号同步到那个时钟域读写指针转化为格雷码格雷码表示的读写地址如何判断空满?异步fifo verilog代码 异步fifo实现中要解决的问题 异步fifo和同步fifo功能相似,但是它的读写由两个时钟信号控制,所以它的设计和同步fifo不同,需要考虑更多的因素。 信号 ...

verilog实现格雷码和二进制码的相互转换

博主头像 目录格雷码的介绍二进制码转化为格雷码格雷码转化为二进制码verilog实现代码 格雷码的介绍 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。 在数字系统中,常要 ...

Flash驱动控制--芯片擦除(SPI协议)

博主头像 摘要: 本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。 关键词:SPI;Verilog HDL;Flash 【SPI协议通信模式】 SPI是Motorola公司推出的一种 ...

等精度频率计的设计与验证

博主头像 文章摘要:借助于QuartusII PLL_IP核产生一个任意频率被测时钟信号,设计一个等精度测量模块,通过其处理后,再数码管上显示出六位的测量频率数值,验证测量的准确度。 关键词:Verilog HDL;等精度频率测量;数码管;PLL_IP核 最终框图: 频率计,即频率计数器,专用于测量被测信号频 ...

用verilog/systemverilog 设计fifo (1)

博主头像 目录fifo的基本原理基于计数器的同步fifo实现(1)基于计数器的同步fifo实现(2)基于高位扩展法的fifo实现 fifo的基本原理 FIFO(first in first out),即先进先出存储器,功能与数据结构中的队列相似。 在IC设计中,FIFO常用来缓冲突发数据,流式数据与块数据的转 ...

verilog 中实现 sram 代码

博主头像 目录verilog/systemverilog中sram的实现sram的基本知识verilog/systemverilog中sram的实现单口SSRAM(同步SRAM)单时钟简双口SSRAM(同步SRAM)单时钟真双口SSRAM(同步SRAM)双时钟简双口SSRAM(同步SRAM)双时钟真双口SSR ...

串口收发UART(Verilog HDL)

博主头像 文章摘要:本篇文章目标设计一个格式为起始位+8位数据(无校验)+停止位的串口收发,接收PC上位机RS232总线信号后,重新打包转发至PC端显示(形成回环),数据完整无错码情况。 关键词:异步时钟;亚稳态;异步串行通信;Verilog HDL ...

搭建verilog/systemverilog学习环境

博主头像 目录仿真软件选择使用iverilog的基本步骤 仿真软件选择 学习verilog或者systemverilog过程中,使用那种仿真软件?当然最好是使用synopsys的vcs+verdi的组合,功能强大,而且大部分公司也使用synopsys的eda软件,如果熟练掌握vcs+verdi对以后工作中使用 ...

QuartusII调用 PLL_IP核方法(Mega Wizard)

博主头像 要求:调用PLL—IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比)。 芯片型号:cyclone Ⅳ EP4CE10F17C8 平台工具:Quartus II 15.0 (64-bit)、Modelsim SE-64 ... ...

一个问题:六位八段数码管(Verilog)

博主头像 【基本信息】 需求:verilog程序,显示任意六位字符或数值,包含点号,且能够按需点亮位数。(学习篇) 芯片型号:cyclone Ⅳ EP4CE10F17C8 数码管属性:六位、八段 【最终成果图】 经过多轮测试,最后代码程序满足设计要求,但结合仿真发现了一个问题,仿真和上机不匹配,当然还是要以上 ...

九、贪吃蛇之蛇身控制

九、贪吃蛇之蛇身控制 1. 目标 (1) 游戏难度决定蛇身移动的速度; (2) 蛇身增长; (3) 蛇身移动。 2. 蛇身速度控制 用计数器来控制蛇身移动的时间间隔,间隔短,移动快,游戏难度就越难。在游戏难度选择界面,用SW[2:0]选择难度。 //蛇身移动速度 else begin clk_cnt ...

wire和reg型变量的组合使用

博主头像 模型功能 实现寄存器之间的连线 实现寄存器的声明 建构时钟的时序系统 模型框图 `timescale 1ns / 1ps /* */ // ******************************************************************************* ...

parameter常数及常数函数的使用

博主头像 模型功能 常数在verilog设计中具备特殊的含义 一个可以由编译器进行处理的数 和C语言中常数一个不变的变量的作用不同 在verilog中,常数更多地作为预编译变量以提高设计的灵活性 在上一篇文章中已经使用的genvar i就是用于级联变量而存在 也就是说 verilog的常数更多地服务于结构描述 ...

FPGA学习实践之旅——前言及目录

很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定理解程度的学习过程。 前言 回想我的编程之旅其实 ...

数字IC学习01

博主头像 在正式开始前,我必须要交代一下,我写这些博客的原因:主要是想记录和梳理一下自己如何学习数字IC这个我也许余身都要从事的行业,如果能给读者带来帮助,那便是更好不过的事情了。 作为一个经历过千万人高考,百万人考研的人来说,学习并不是一件轻松的事,更可能算的上幸苦,得益于我们的教育系统,我成为了一个半吊子 ...