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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1835|回复: 0

[原创] FPGA设计思想的异同

[复制链接]
发表于 2012-12-16 20:25:03 | 显示全部楼层 |阅读模式

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

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

x
传统的MCU/DSP基于软件思维,软件思维的特点基本上是串行,即便是用多核的DSP或者MCU进行数据的并行处理,在各个核内部运行的程序也是串行的。所谓的串行,举个例子,比如说C语言:
            for(i = 0; i < 50; i++)
                  a[i] = i;
            k = i/4;
    该语句的执行顺序基本上是这样的:首先第一次进入for循环时,i被赋值为0,然后下一个指令周期(假设该CPU是N级流水线)跟50进行比较,小于50则进行a[0]=0,然后i自加1变成1,跟50进行再一次比较,小于则进行a[1]=1,否则则退出循环。。。如此反复,当退出for循环后,执行k = i/4,此时i=50。这是一种串行的思想。其次还有一个特点,即在设计程序解决实际问题时,设计者的思维集中于事件驱动,即当发生了某些事情(比如中断,或者查询某个变量)后进行相应的处理。
    而对于FPGA来说,则是一种硬件式的处理思维。对于每一条verilog/vhdl语言来说,经过综合后就是一个实实在在的逻辑电路。举个例子:
    assign a = b&e;
    assign c = d&f;
    这两条语句并不是串行的关系,经过综合后,将会形成两个二输入与门,其中一个与门的输入是b和e,输出是a, 另外一个与门的输出是c,输入是d和f。这两条语句/两个电路之间并没有所谓的时间上串行的关系,两者之间属于独立的两个电路,都是在同一时间内一起对不同的激励/输入发生作用的。这也是为什么说FPGA是一种硬件的设计思想,尽管某些硬件描述语言(verilog)看起来很像C语言,其实是不一样的一种设计思想。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-6 15:27 , Processed in 0.022795 second(s), 11 queries , Gzip On, Redis On.

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