![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA
blue0432
这个作者很懒,什么都没留下…
展开
-
硬件描述语言Verilog设计经验总结
一、硬件描述语言Verilog 粗略地看Verilog与C语言有许多相似之处。分号用于结束每个语句,注释符也是相同的(/* ... */和// 都是熟悉的),运算符“==”也用来测试相等性。Verilog的if..then..else语法与C语言的也非常相似,只是Verilog用关键字 begin和end代替了C的大括号。事实上,关键字begin和end对于单语句块来说是可有可无的,就与C中的大转载 2013-04-25 15:34:30 · 7523 阅读 · 0 评论 -
比较好的三段式状态机verilog范例
状态机采用VerilogHDL语言编码,建议分为三个always段完成。三段式描述方法虽然代码结构复杂了一些,但是换来的优势是使FSM做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说在FPGA/CPLD等可编程逻辑器件上的综合与布局布线效果更佳。 示列如下: //第一个进程,同步时序always模块,格式化描述次态寄存器迁移到现态寄存器转载 2013-04-25 15:36:49 · 2199 阅读 · 0 评论 -
Verilog HDL语法提纲
1.模块的端口定义 module 模块名(口1,口2,口3,口4, ………); 2.(数据类型及其常量、变量) 数字 整数: 位宽>进制>数字>这是一种全面的描述方式。 1) 二进制整数(b或B) 2) 十进制整数(d或D) 3) 十六进制整数(h或H) 4) 八进制整数(o或O) x和z值 :在数字电路中,x代表不定值,z代表高转载 2013-04-25 07:59:55 · 881 阅读 · 0 评论 -
键盘消抖
首先将按键值保存两次,以检验按键值的变化。当按键值变后将计数器置0,否则继续加1。当计数器值等于fffff的时候,说明按键是正常按下的,接着保存两次,检测值的变化。若相应位有变化,则将相应的led控制取反。(好像新的代码中键值只检验了一次,不过找不到新代码了。) `timescale 1ns / 1ps /////////////////////////////////////////////转载 2013-04-27 07:48:03 · 1018 阅读 · 0 评论 -
脉冲边沿检测(Verilog)
在很多时候都要对输入脉冲进行边沿检测,如PS/2时序,ps2_data数据在ps2_clk时钟下降沿接收。 边沿检测Verilog程序代码: 布线布局后仿真波形如下图: 点击看原图 可以注意到其中的移位寄存器用了非阻塞赋值( ps2_clk_r0 ps2_clk_r1 ps2_clk_r2 如果用阻塞赋值的话,综合的时候会把其中两个寄存器去点,用转载 2013-04-26 21:12:04 · 3798 阅读 · 1 评论