I2C控制器的Verilog建模之一
前言:之前申请了ADI公司的一款ADV7181CBSTZ的视频解码芯片,正好原装DE2板子安的是同系列的ADV7181BBSTZ。虽然都是ADV7181的宗出,但是寄存器配置等等还是有些诧异,引脚也不兼容。而且ADI已经停产了ADV7181B,现在主推C系列的。关于7181不同系列配置和操作问题可以...
verilog中24LC04B iic(i2c)读写通信设计步骤,以及程序常见写法错误。
板子使用的是黑金的是xilinx spartan—6开发板,首先准备一份24LC04B芯片资料,读懂资料后列出关键参数。如下:1、空闲状态为SDA和SCL都为高电平2、开始状态为:保持SCL,SDA高电平不变,SDA 保持最少4us,之后SDA为低,保持最少4us3、结束状态为:保持SCL为高、SD...
Verilog学习笔记简单功能实现(八)...............异步FIFO
基本原理: 1.读写指针的工作原理写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0)。读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0). 2.FIFO的“空”/“满”检测FIFO设计的关键:产生可靠的FIFO读写指针和生成FIFO“空”...
verilog中符号位的扩展问题
以下内容转自 艾米电子 - 使用有符号数,Verilog(http://www.cnblogs.com/yuphone/archive/2010/12/12/1903647.html)Verilog-1995中的有符号数在Verilog-1995中,只有integer数据类型被转移成有符号数,而re...
system verilog中的跳转操作
在verilog中,使用disable声明来从执行流程中的某一点跳转到另一点。特别地,disable声明使执行流程跳转到标注名字的声明组末尾,或者一个任务的末尾。verilog中的disable命令用法有很多,下面是一个简单的例子,解释了disable的作用范围: // find first bit...
System Verilog随笔(1)
测试文件该怎么写?首先看一个简单代码案例:`timescale 1ns/10ps//1module test; //2intput wire[15:0] a;output reg[15:0] b;reg clock;chip chip(.clock(.clock)); //3always #5 c...
Verilog中变量位宽注意
Verilog中,变量定义方式可以为:reg[位宽-1:0] 数据名;reg[位宽:1] 数据名。其他变量也类似。以reg变量cnt为例,当cnt位宽为4时,可定义为reg[3:0] cnt,或者定义为reg[4:1] cnt当cnt赋值为3时,reg[3:0] cnt;cnt=3 等效为 cnt[...
system verilog的一些总结(从其他博客复制来的)
转载自 http://blog.sina.com.cn/s/blog_e7fec2630101f5t9.htmlSystemVerilog是一种硬件描述和验证语言(HDVL),它基于IEEE 1364-2001 Verilog硬件描述语言(HDL),并对其进行了扩展,包括扩充了C语言数据类型、结构、...
[转]System Verilog的概念以及与verilog的对比
原文地址;http://blog.csdn.net/gtatcs/article/details/8970489SystemVerilog语言简介SystemVerilog是一种硬件描述和验证语言(HDVL),它基于IEEE1364-2001 Verilog硬件描述语言(HDL),并对其进行了扩展,...
System Verilog基础(一)
学习文本值和基本数据类型的笔记。1.常量(Literal Value)1.1.整型常量例如:8‘b032'd0'0'1'x'z省略位宽则意味着全位宽都被赋值。例如:wire [:] sig1;assign sig1 = '1; //sig1 = 8'b111111111.2.实型常量支持...
一段比较有意思的代码——介绍system verilog中的新增幅值语句
system verilog中新加了很多幅值语句,虽然都只适用于阻塞幅值,但是在某些场合中非常实用。下面是一段有意思的代码,覆盖了一些用法。 package definitions; typedef enum logic [:] {ADD,SUB,MULT,DIV,SL,SR} opcode...
【接口时序】6、IIC总线的原理与Verilog实现
一、 软件平台与硬件平台软件平台:1、操作系统:Windows-8.12、开发套件:ISE14.73、仿真工具:ModelSim-10.4-SE 、ChipScope硬件平台:1、 FPGA型号:Xilinx公司的XC6SLX45-2CSG3242、 EEPROM型号:Microchip公司的AT2...
Cordic算法——verilog实现
上两篇博文Cordic算法——圆周系统之旋转模式、Cordic算法——圆周系统之向量模式做了理论分析和实现,但是所用到的变量依然是浮点型,而cordic真正的用处是基于FPGA等只能处理定点的平台。只需将满足精度的浮点数,放大2^n倍,取整,再进行处理。1. 旋转模式假设要通过FPGA计算极坐标(5...
Verilog写一个对数计算模块Log2(x)
网上一个能用的也没有,自己写一个把。1.计算原理: 整数部分网上找到了一个c语言的计算方法如下:int flog2(float x) { return ((unsigned&)x>>23&255)-127;}用matlab测试了一下,得到的结果是一个log2的整数部...
写自己的第二级处理器(3)——Verilog HDL行为语句
我们会继续上传新书《自己动手写处理器》(未公布),今天是第七章,我每星期试试42.6 Verilog HDL行为语句2.6.1 过程语句Verilog定义的模块一般包含有过程语句,过程语句有两种:initial、always。当中initial经常使用于仿真中的初始化。当中的语句仅仅运行一次,而al...
I2C Verilog的实现(二)
1. 起始结束信号的判断//---------------------------------------------//start,stop condition judgement//---------------------------------------------wire start, ...
用Verilog语言实现一个简单的MII模块
项目中要求简单地测试一下基于FPGA的模拟平台的RJ45网口,也就是需要实现一个MII或者RMII模块。看了一下官方网口PHY芯片的官方文档,还是感觉上手有点障碍,想在网络上找些参考代码看看,最后只在opencores找到了一些MAC层控制模块,代码庞大且复杂,对于初学者来说阅读起来很困难。于是在此...
信号监测---verilog
信号监测---verilog此模块用于监测某一信号源是否持续稳定的传送。监测思路:监测信号源高电平或者低电平的宽度是否始终保持一致(一定范围内允许有误差)`timescale 1ns / 1ps/////////////////////////////////////////////////////...
如何编写一个基本的 Verilog Module(模块)
1、概述 这篇文章主要介绍了 Verilog 在 FPGA 设计中的概念和使用方法。首先讨论使用模块(module)关键字构造 Verilog 设计的方式,以及这与所描述的硬件的关系。这包括对参数、端口(port)和例化(instantiaton)的讨论及一个完整示例。 虽然不需要为了使用它而讨论...
FPGA纯verilog代码实现sobel 边缘检测,提供2套工程源码和技术支持
目录 1、前言2、理论基础3、设计思路和架构4、图像输入5、RGB转灰度6、3x3卷积滑窗获取7、Sobel卷积运算8、FDMA图像缓存9、图像输出10、工程1详解:ov5640输入11、工程2详解:hdmi输入12、上板调试验证并演示13、福利:工程代码的获取 1、前言 边缘检测是一种常用的图像...