在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 1894|回复: 5

[原创] 向李小龙学FPGA

[复制链接]
发表于 2018-9-3 10:42:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

还是从李小龙说起。伴随着一声“哟嚯”,飞出一脚后张开双臂身体半蹲的招牌式动作,被全球各地无数人模仿过。可是我们知道,全世界只有一个李小龙。无论你把“招式”模仿得多么惟妙惟肖,都无法达到那个效果。原因其实很简单,我们不具备他的速度和力量。采用反推法逆向思维,如果具备了他的速度与力量,任何一个招式都会威力无穷。由此可知,基本功是多么重要。

前几节的内容,我们讲的是怎么“减负”,尽量卸下对于完成项目来说没有必要的学习部分。本节内容要讲的就是,对于核心知识点,必须下苦功完全掌握。

我们经常会遇到这样的情况,“感觉”已经懂了,会了,但是一进入实际项目束手无策。为什么?这种情形,绝大部分时候,都是因为基本核心知识点还没有完全学通,处于半懂不懂的状态。例如:

搞不清楚 add_flag和sel_flag的区别 ,不清楚变量使用的条件,不清楚计数器需要用几个已经计数器之间的关系。

那么对于核心知识点,应该达到什么样的标准,才算是真正掌握了呢?

例 :当收到en1=1时,执行一下操作

a.间隔2个时钟周期后,dout产生宽度为5的高电平脉冲,然后

b.间隔2个时钟周期后,dout产生宽度为7的高电平脉冲,然后

c.间隔2个时钟周期后,dout产生宽度为3的高电平脉冲,然后

d.间隔2个时钟周期后,dout产生宽度为6的高电平脉冲。

当收到en2=1时,执行一下操作

a.间隔4个时钟周期后,dout产生宽度为3的高电平脉冲,然后

b.间隔1个时钟周期后,dout产生宽度为6的高电平脉冲,然后

c.间隔6个时钟周期后,dout产生宽度为3的高电平脉冲,然后

d.间隔2个时钟周期后,dout产生宽度为5的高电平脉冲。(答案如下)

  

1

  

2

  

3

  

4

  

5

  

6

  

7

  

8

  

9

  

10

  

11

  

12

  

13

  

14

  

15

  

16

  

17

  

18

  

19

  

20

  

21

  

22

  

23

  

24

  

25

  

26

  

27

  

28

  

29

  

30

  

31

  

32

  

33

  

34

  

35

  

36

  

37

  

38

  

39

  

40

  

4142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899

  
  

always @(posedge clk or negedge rst_n)begin

  

     if(!rst_n)begin

  

        cnt0  <= 0;

  

    end

  

    else  if(add_cnt0)begin

  

         if(end_cnt0)

  

            cnt0  <= 0;

  

        else

  

            cnt0  <= cnt0 + 1;

  

    end

  

end

  

assign add_cnt0 = add_flag ;      

  

assign end_cnt0 = add_cnt0 && cnt0==x-1 ;

  

always @(posedge clk or negedge rst_n)begin

  

     if(!rst_n)begin

  

        cnt1  <= 0;

  

    end

  

    else  if(add_cnt1)begin

  

         if(end_cnt1)

  

            cnt1  <= 0;

  

        else

  

            cnt1  <= cnt1 + 1;

  

    end

  

end

  

assign add_cnt1 = end_cnt0;      

  

assign end_cnt1 = add_cnt1 && cnt1==4-1 ;

  

always  @(posedge  clk or negedge rst_n)begin

  

    if(rst_n==1'b0)begin

  

        dout  <= 0;

  

    end

  

    else  if(en_dout)begin

  

        dout  <= 1;

  

    end

  

    else  if(end_cnt0)begin

  

        dout  <= 0;

  

    end

  

end

  

assign en_dout = add_cnt0 && cnt0 == y-1;

  

always  @(posedge  clk or negedge rst_n)begin

  

     if(rst_n==1'b0)begin

  

        add_flag  <= 0;

  

    end

  

    else  if(en1||en2)begin

  

        add_flag  <= 1;

  

    end

  

    else  if(end_cnt1)begin

  

        add_flag  <= 0;

  

    end

  

end

  


  

always  @(posedge  clk or negedge rst_n)begin

  

     if(rst_n==1'b0)begin

  

        sel_flag  <= 0;

  

    end

  

    else  if(en1)begin

  

        sel_flag  <= 0;

  

    end

  

    else  if(en2)begin

  

        sel_flag  <= 1;

  

    end

  

end

  

always  @(*)begin

  

     if(sel_flag==0)begin

  

        if(cnt==0)begin

  

        x = 7;

  

        y = 2;

  

       end

  

       else if  (cnt1==1)begin

  

        x = 9;

  

        y = 2;

  

       end

  

       else if (cnt1==2)begin

  

        x = 5;

  

        y = 2;

  

       end

  

       else begin

  

        x = 8;

  

        y = 2;

  

       end

  

    end

  

    else begin

  

         if(cnt==0)begin

  

        x = 7;

  

        y = 4;

  

       end

  

       else if  (cnt1==1)begin

  

        x = 7;

  

        y = 1;

  

       end

  

       else if (cnt1==2)begin

  

        x = 9;

  

        y = 6;

  

       end

  

       else begin

  

        x = 7;

  

        y = 2;

  

       end

  

   end

  

end

  



类似这些习题,一直要练习到不需要思考的过程,而是形成类似于条件反射式的自然反应。掌握的要领就是不停练习反复练习。在这一点上,没有捷径可走。唯一可依托的,就是——勤奋。

高深的内容都是由最基本的要素组合而成。一旦有了扎实的基本功底,就有了“李小龙的速度与力量”,很多“招式”方面的高深问题就迎刃而解了。

本节中我们通过借喻“功夫”,来说明基本功的重要性以及和高深内容的关系。

FPGA李小龙学习方法.pdf

474.96 KB, 下载次数: 9 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2018-9-3 19:53:46 | 显示全部楼层
thanks
回复 支持 反对

使用道具 举报

发表于 2018-9-4 10:18:53 | 显示全部楼层
和帖子明文的一样,不需要下载了~
回复 支持 反对

使用道具 举报

发表于 2018-9-4 12:38:46 | 显示全部楼层
thanks
回复 支持 反对

使用道具 举报

发表于 2018-9-4 14:59:59 | 显示全部楼层
心若有江湖 哪里都是江湖!
一入IC深似海,从此双休是路人!!!!
回复 支持 反对

使用道具 举报

发表于 2018-9-4 16:26:57 | 显示全部楼层
这是在干嘛???
请不要乱发东西,
我没有get到任何有用信息,
全都是在扯淡。
请求管理员关注!       
@jackzhang
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-29 00:26 , Processed in 0.024704 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表