5年12月批准了IEEE1666-2005标准。通常，系统由软件部分和硬件部分组成，系统的一部分功能由软件实现，而另一部分功能则由硬件实现。早期的系统比较简单，系统工程师将准备设计的系统划分为软件部分和硬件部分，分别由软件工程师和硬件工程师进行设计、仿真、实现和改进，最后再将软件部分和硬件部分结合起来形成系统。软件工程师使用C和C++等程序设计语言，因为这些语言专长于描述串行执行的程序，用来仿真软件部分；而硬件工程师则使用VHDL和Verilog等硬件描述语言，因为这些语言专长于描述并行运行的硬件，用来