原创 零基础学FPGA (二十) 记在北京的这些日子

2015-1-20 10:29 933 16 16 分类: FPGA/CPLD 文集: FPGA/CPLD

       Day  1                  2015.1.18

       颠簸了一路,终于在日落之前赶到了公司,北京难得的好天气,晴空万里,据说北京已经很久没有这么蓝的天了...当然风还是有点大的。这里环境挺好的,暖气温度适宜,瞬间忘却了外面凌冽的西北风。

       公司离机场很近,听同事们说,北京很少有这样楼群密度低环境又好的地方了,所以吸引了很多明星大腕富二代在这一片居住,有位同事还说前面那栋别墅就是成龙大哥的~也不知是真是假~

      有了自己的办公桌,还有几个很亲切的同事,室友是一位西电研究生毕业的大神,听说SOPC方向很牛,但是我自己对这一块却不甚了解,遗憾的是大神在这里待几天就走了,要不然还可以在睡前探讨一下经验~

      明天公司里有SOPC的课程,今晚打算先了解一下,明天去听听课吧~

img_1114.jpg
 
          Day 2               2015.1.19
 
    去上了sopc的课程,给我的感觉是,我还是回来补补吧,像我这种还从没接触过的想要听懂还真是不容易,所以我还是回来补补课再去听吧~
    最近有网友问我关于异步复位,同步释放的问题,在补课之前先来回答大家这个问题
    所谓异步复位,同步释放无非就是采用两级或三级D触发器来对复位信号进行处理,如下图
360桌面截图20150119110210.jpg
 
我们知道,如果我们不采用这种方式,单纯用异步复位的方式,即
 
    always @ (posedge clk or negedge rst_n)  begin 
           if(!rst_n)   ............
              else  ...............
end
 
凡是存在异步的信号,亚稳态问题就不可避免,假如我们复位信号的释放时间在锁存沿latch edge - 建立时间 和 latch edge + 保持时间之内的话  (这要设计时序问题,不懂得同学可以自行补课~)见下图
 
360桌面截图20150119111134.jpg
 
那么时钟信号检测到的复位信号就是不定值,即不知道复位信号有没有释放,便会发生亚稳态问题。如果采用两级或三级寄存器的话,当复位信号释放时,那么即使会发生亚稳态,但是复位信号会在下一个时钟沿到来之前真正释放,也就是会自动升高(说白了就是按键的抖动问题,在下一个时钟沿到来之前会逐渐平稳),这样就会被下一个时钟信号正确捕获,发生亚稳态的概率也大大减小,如果采用3级寄存器的话,那么几乎是不会发生亚稳态的。
 
360桌面截图20150119104205.jpg
 
好了,我自己也该去补课了~
 
         晚上看了一晚上关于SOPC的资料,大体了解了下,其实无非就是利用sopc builder,在FPGA内部嵌入NIOS II处理器,再用C语言对处理器进行编程,来控制外设,内存,显示器这些类似的事情。
         第一次接触这东西,从网上找了些资料,开始一步一步的跟着资料走,可能是自己有一定的基础的原因,一路走下来没大遇到什么问题,遇到一些小问题也自行解决掉了,今天就算是先熟悉一下NIOS II开发的过程吧,也就是用Qurtus II设计硬件,用NIOS ii设计软件,然后花了点时间从头到尾做了一个入门实验,感觉还好~明天继续加油~

    

文章评论0条评论)

登录后参与讨论
我要评论
0
16
关闭 站长推荐上一条 /2 下一条