大发快3

硬件设计热门培训内容之软件与硬件设计的区别和联系

时间:2018-12-06 17:16:06

软件设计指的是编程,硬件设计也是编程,但两者是有区别的。

软件编写的程序最终转化为机器语言,并在硬件上执行。

硬件编写的程序最终转化为电路,以实体的形式被制造出来。

也就是说,软件设计的是0/1的二进制码,硬件设计的是实际的电路。

但既然硬件设计也是通过编程实现的,那么,软件工程遵循的原则也应该适用于硬件设计。

比如:需求分析/编程规范/版本控制等等。

在具体的编程上,由于衡量准则/操作颗粒度不同,对编程的要求也不同。

软件的衡量准则是时间复杂度和空间复杂度,硬件的衡量准则是工作频率,面积,功耗。

软件操作的最小单位绝大多数是字节,硬件操作的最小单位是比特。

这些不同是造成软件设计和硬件设计区别的最大原因。

 

例:计算数的二进制表示中1的个数,如,5的二进制表示是101,1的个数为2,7的二进制

表示是111,1的个数是3。

软件的解决方法是:

num=0;

while(n!=0) {

    n = n & (n-1);

    num++;

}

硬件的解决方法是:

assign num[6:0] = n[0]+n[1]+n[2]+...+n[31];
 

?

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!