
重拾FPGA
PriscillaSCU
into the void
展开
-
【重拾FPGA】大三下有感
我的学习历程,可以说是花心大萝卜,什么都想学,什么都只学了一点就不学了。转眼大三下了,即将面临工作或者考研,看了看本校本专业前几年的考研数据,可谓是惨不忍睹。。。考研劝退。那就专心准备就业吧。就业方向呢,钟情于建筑电气设计或者硬件设计、FPGA开发。建筑电气感觉挺有意思的,但是需要补习太多知识了,感觉浪费了我这三年来写代码、画板子。那就做硬件吧。FPGA我一年前学数电的时候便开始接...原创 2019-04-13 17:42:20 · 488 阅读 · 0 评论 -
【重拾FPGA】分开时序和组合逻辑,让写代码思路更清晰
感谢锆石科技。学了一下锆石科技的按键消抖,真的是突然豁然开朗,收益匪浅。锆石科技代码风格就是将时序逻辑和组合逻辑分开,用类似于状态机的方式赋值,这样真的,让我思路很清晰,逻辑条理也很好,不容易因为赋值问题出现bug。可能是我太菜了呜呜呜。我就写一下这个计数20ms的按键消抖程序吧。首先是变量定义,因为要分开时序和组合来写,因此要定义的变量有点多,且都是经过了一个D触发器的:inp...原创 2019-05-14 22:41:26 · 1849 阅读 · 1 评论 -
【重拾FPGA】一个简单的同步脉冲电路
今天在图书馆看《硬件架构的艺术》这本书的时候,对书上出现的一个同步脉冲电路非常有感觉,似乎有点从电路到代码的思路了,特此发出来记录一下。电路图如下:由两个D触发器来控制信号的存储和移位,通过组合逻辑对当前信号和上一个信号进行判断,是否出现了上升沿或者下降沿(不同的脉冲触发只需要改变组合逻辑电路非门位置)代码比较简单module IMPUSE(clk, data, out);...原创 2019-05-14 13:36:25 · 2587 阅读 · 2 评论 -
【重拾FPGA】读锆石科技硬件语法篇有感
最近一直在学习FPGA编程的思想,如何才能让自己摆脱C语言,做到眼中代码,心中电路,这是我最近一直在思考的问题。读了一下锆石科技的FPGA硬件语法篇后,我发现了很多自己平时写Verilog时没有注意到的地方,带有C语言影子的地方,在这里总结一下,希望自己在日后写Verilog时不要再犯了摆脱C语言!!!1.三段式状态机图来自锆石科技。可见,对于状态机的状态编码,我们应该使用格雷...原创 2019-05-06 18:35:46 · 2267 阅读 · 0 评论 -
【面试记录】TI封装工艺实习生终面
在经过了电话面试之后,TI通知我4.17日上午10:30到他们在红光那边保税区里面的厂面试。到达厂区后不得不感慨,真tmd大啊厂区一瞥门口登记领取visitor证之后,便有人事部的带着到二楼等候面试。二楼是他们的办公区,封装的都在这里,岗位分的很详细,wafer,final,bond啥的,大家都是称呼英文名,经理办公室名牌也是英文名。但是感觉办公区没啥人,空位特别多,难道说...原创 2019-04-17 15:59:43 · 698 阅读 · 0 评论 -
【重拾FPGA】三段式状态机的路口红绿灯
以前我写状态机都是一段式状态机,虽然目前因为项目都很小,所以一段式没觉得有什么不对劲的,但是为了以后的需要,还是转向三段式状态机吧。三段式是哪三段呢?1.将“新状态”赋给“当前状态”,非阻塞赋值2.产生下一个“新状态”(可能包含组合逻辑),阻塞赋值,激励条件为当前状态3.根据“当前状态”产生输出(可能包含组合逻辑),非阻塞赋值以一个只有两个状态的路口红绿灯为例写一个三段式状态机...原创 2019-04-14 18:12:17 · 3484 阅读 · 1 评论 -
【重拾FPGA】由按键消抖观察到的阻塞赋值和非阻塞赋值的区别
按键消抖在单片机上的实现是非常简单的,检测到输入变化后延时一段时间继续检测,在FPGA上也可以运用相似的原理,延时采用计数方式。注:此消抖方法并不是最优化的,本文并不主讲消抖,而是讲在消抖过程中发现的阻塞赋值和非阻塞赋值的区别本文使用的按键消抖中,有四个重要的寄存器和一个wire型变量:output reg key_state; //寄存新的key状态output reg key...原创 2019-04-14 11:17:56 · 702 阅读 · 0 评论 -
【重拾FPGA】PWM的实现方法
首先看两张PWM在FPGA上实现方式的原理图:引自http://www.stepfpga.com/doc/altera_9breath呼吸灯设计要求呼吸的周期为2s,也就是说LED灯从最亮的状态开始,第一秒时间内逐渐变暗,第二秒的时间内再逐渐变亮,依次进行。本设计中需要两个计数器cnt1和cnt2,cnt1随系统时钟同步计数(系统时钟上升沿时cnt1自加1)范围为0~T,cnt2随cnt...原创 2019-04-14 10:14:20 · 9930 阅读 · 2 评论 -
【重拾FPGA】testbench编写
刚学习FPGA的时候,我最喜欢用Quartus自动生成testbench代码,只用自己往里面添加一些测试代码就可以开始仿真了。随着学习的升入,意识到了代码可读性的重要性,自动生成的testbench代码格式和可读性确实有点差强人意,于是便学习了testbench的编写。testbench代码编写我认为可以分为一下几个步骤:1.仿真时间单位/时间精度2.仿真模块建立3.与被测试模...原创 2019-04-13 18:01:03 · 3147 阅读 · 2 评论 -
【重拾FPGA】PWM的练习,改变代码风格
【重拾FPGA】PWM的练习,改变代码风格前言本文主要还是想练习一下使用Typora写文档,然后通过markdown转到CSDN。之前做实验忙碌了一段时间,今天有空便重新写了一下PWM的程序,通过使用锆石的代码风格,将时序和组合逻辑分开写,确实是思路要清晰一点,能够只通过看电路图写出性能稳定的PWM波形产生器。通过计数器产生PWM原理通过上图,可以发现,实现PWM需要两个计数器...原创 2019-06-05 14:05:05 · 821 阅读 · 0 评论