清霜一梦

3月26日深圳FPGAer聚会感言

做技术的人,典型风格就是直来直去,不喜欢拐弯抹角,对于聚会我们看惯了产品推广会,厌烦了企业宣讲会,所以我很喜欢参加这种纯技术交流会。大家来者不拒,去者不追。听到的全部是技术干货——不是网络课程可以比拟的。半天时间,免费,包饭。 ...

基于FPGA的信号消抖

信号消抖的小模块。在上一篇博文的基础上进行修改的

基于FPGA的按键消抖你真的设计正确了吗?

其实这个代码本来不想发的,因为一说按键消抖,FPGA入门的第一个设计就是它。然而...............翻开百度结果却很难找到正确的程序。通常设计思想是酱紫的1,采集key_in 进入key_reg 寄存器12,延时DELAY_TIM...

verilog中always块延时总结

在上一篇博文中 verilog中连续性赋值中的延时中对assign的延时做了讨论,现在对always块中的延时做一个讨论。观测下面的程序,@0时刻,输入的数据分别是0x13,0x14 。        @2时刻,输入数据分别是0x14,,0...

verilog中连续性赋值中的延时

上次遇到一个问题。写一个testbench需要移动两个时钟之间的相位。后来一想,貌似我们都是这么写clock的always #(`P/2) clk = ~clk 我的两个时钟都是这么写,只是p不一样,那相位怎么移动呢?于是就追究起 ...

FPGA中改善时序性能的方法

本文内容摘自《advanced FPGA design》对应中文版是 《高级FPGA设计,结构,实现,和优化》第一章中的内容  FPGA中改善时序,我相信也是大家最关心的话题之一,在这本书中列举了一些方法供给大家参考。1,插入寄存器(Add...

verilog中读取文件中的字符串

 今天给个程序大家玩玩。因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串。一直copy 函数 UART ("COMM_1"); UART ("COMM_2");........可是指令有好几十个哦。如果遇上百个岂不是...

FPGA知识大梳理(四)FPGA中的复位系统大汇总

本文整合特权(吴厚航)和coyoo(王敏志)两位大神的博文。我也很推崇这两位大神的书籍,特权的书籍要偏基础一下,大家不要一听我这么说就想买coyoo的。我还是那一句话,做技术就要step by step。闲言少叙,直入正题。  一,异步复位...

FPGA知识大梳理(三)verilogHDL语法入门(2)知识汇总

1,时序逻辑。将上次的练习修改成时序逻辑会如何设计。  always @ (posedge clock)2,block 与unblocking   A,有clock的always中通常使用nonblocking。  B,无clock的alw...

FPGA知识大梳理(二)verilogHDL语法入门(1)

此文是写给0基础学习者,也是对自己知识点总结水平的考验。    对于有C基础的人来说,学习verilog应该是轻而易举 —— 类比法学习。  第一步:格式。  对于C来说我们前面会写   ‘include“stdio.h”int main ...

FPGA知识大梳理(一)对FPGA行业的一点感言

今天想开始把这FPGA行业的知识点做一个大整理,从个人感想,到语法,到器件基础,难点攻克,到项目应用。把自己这几年接触到的知识做一个全面的回顾,看看自己这几年走过的路。  人生无常,几年的跌跌撞撞勉强算是在FPGA行业大门前。之前一直都是看...

openrisc 之 Wishbone总线学习笔记——接口信号定义

这部分内容就是copy下来的,网上到处都有。先看看接口啥样子,在详细说明              接口定义copy http://blog.csdn.net/ce123/article/details/6929897。百度文库里面很多文章...

openrisc 之 Wishbone总线学习笔记——总线互联

一,总线命名规范  1,wishbone总线接口信号都是高电平有限  2,wishbone接口信号都是以 _i ,或者是 _o 结束。i表示输入, o表示输出。 ()表示该信号为总线信号,总线位宽可以大于等于1.二,互联规范 点到点、数据...

openrisc 之 Wishbone总线学习笔记——总线特性

特性:一,互联方式: 支持点到点、共享总线、十字交叉(Crossbar)和基于交换结构(Switch fabric)的互联。二,数据操作方式:单次读/写操作、块读/写操作,读改写(RMW,Read-Modify- Write)三,操作结束方...

在verilog中关于inout口的两种设计方法

在学习IIC的时候我们知道这么设计inout   inout scl ;   reg scl_reg , scl_en ;   scl = scl_en ? scl_reg : 1'dz ; 当scl_en 有...