特权同学

TestBench的IIC从机设计

这个testbench的编写是基于之前日志里的基于FPGA的IIC通信而做的,原来只是做了简单的主机写随机地址EEPROM,然后主机读随机地址EEPROM,都是只有一个字节的,做的是最简单的通信。所以这次testbench设计IIC从机也是和前面的相对应的。Testbench代码

Testbench仿真串口自收发通信

以前仿真用的都是ISE自带的TestBenchWaveform。图形化界面,只要点点添加把信号拉高或者拉低进行激励添加,可谓方便快捷。但是所有的仿真激励都用TBW里做恐怕在大一些的项目模块仿真时就会遇到困难了,之前的IIC收发通信用TBW里添加仿真激励就显得有些为难了,所以在对R

FPGA驱动VGA图像显示

由于图像信息用的是黑白的BMP,也就是说1bit代表1个像素点的色彩信息,这样一来是为了节省FPGA的ROM资源(由于没有外界rom或者ram,只能用FPGA生成一片512x640-bit的ROM做实验),二来FPGA与VGA之间只是简单的数字I/O接口,没有DA进行过度,色彩最多也就8色。&nbs

可综合的verilog语法子集

常用的RTL语法结构如下:☆模块声明:module……endmodule☆端口声明:input,output,inout(inout的用法比较特殊,需要注意)☆信号类型:wire,reg,tri等,integer常用语for语句中(reg,wire时最常用的,一般tri和integer不用)☆参数定义:parameter

verilog的PS2键盘解码

之前日志里深入探讨过PS/2键盘编解码以及数据传输协议,这次自己动手实现了利用FPGA接收键盘编码,然后通过串口传输到PC。做的比较简单,只是通过FPGA把大写字母A-Z转换成相应的ASCII码,只要字母按键被按下,就能在串口调试助手里显示相应大写字母。下面就共享代码吧!

FPGA与PC串口自收发通信

串口通信其实简单实用,这里我就不多说,只把自己动手写的verilog代码共享下。实现的功能如题,就是FPGA里实现从PC接收数据,然后把接收到的数据发回去。使用的是串口UART协议进行收发数据。上位机用的是老得掉牙的串口调试助手,如下:发送数据的波

inout用法浅析

有感于之前IIC通信中第一次使用verilog的inout端口,早就想写点什么。有些人可能会认为所谓的inout端口FPGA会自己处理,你要它做INPUT的时候从它读数据,你要它OUTPUT的时候给它赋值就行。问题可不是这么简单!我先送上一个表格吧,正好今天在一本书

基于FPGA的IIC接口设计

这个设计做的比较痛苦,前前后后利用业余时间调试了应该是不下一个星期了。咬咬牙挺过来了,伴随着成功的喜悦而来的,更多的是自己在调试verilog代码过程中对HDL语言更深的认识和感悟。其实对于IIC通信协议自己早已是牢记在心,就

26路脉冲计数设计 仿真波形图分析

1、复位信号rst_n下降沿到来,大部分寄存器从不确定状态x清零。因为此时脉冲计数使能信号counter_en还没有拉高(使能),所以即使输入脉冲signal_in有一路信号出现下降沿,但是仍然没有写入dualRAM的操作。2、当counter_en拉高使能后,立刻出现了一个dualRAM写操作(sta

解读verilog代码的一点经验

学习FPGA其实也不算久,开始的时候参考别人的代码并不多,大多是自己写的,那时候做时序逻辑多一些。参加了中嵌的培训班,一个多月的时间在熟悉ISE软件的使用以及verilog语法方面下了苦功,也参考了不少书,算是为自己打下了比较好的基础。因为那时候培训的方向是软件无

红外解码芯片IRM3638的verilog实现

最近关注奥运是大事,我的开发板进展放缓,主要原因是在红外编解码这一块卡壳了,没法继续。上来肯定是要先看看电路的:一个是发一个是收,似乎很简单。所以我就想当然的以为它们之间的通信无非就是发1收1发0收0了,然

基于verilog的VGA简单接口驱动

verilog键盘扫描程序之debug

Verilog之Johnson计数器

经典的verilog键盘扫描程序