赞
踩
软件设计指的是编程,硬件设计也是编程,但两者是有区别的。
软件编写的程序最终转化为机器语言,并在硬件上执行。
硬件编写的程序最终转化为电路,以实体的形式被制造出来。
也就是说,软件设计的是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];
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。