lkml.org 
[lkml]   [2005]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 'virtual HW' into kernel (SystemC)
Màrius Montón wrote:
> Hello all,
>
> I'm a PhD student and I'm focusing on HW/SW co-design.
>
> First of all, a brief introduction to problem:
> Nowadays, we can use C++ libraries, called SystemC, to describe HW
> behavior, and synthesize with commercial tools.
>
> A SystemC description can be simulated using its own simulator kernel,
> and we can indeed wrap a module with its simulator kernel into a C++
> class, so we can use it as a 'normal' C++ code...
>
> Our main problem now appears: if we develop a PCI device using SystemC
> we cannot start to develop and test the device driver until we have a
> real prototype,
> and hence, we cannot test our HW with SW.
>
> Our proposal is to develop a set of tools (kernel module, daemon, ...) in
> order to use a SystemC model of HW as a virtual device.
>
> With this set of code, when we have SystemC description finished (and
> only SystemC code, nor prototype, nor real HW), we will able to start
> developing driver, and testing our "virtual HW" with complete SW suite.
>
> At this point, we plan to develop a pci device driver to act as a bridge
> between kernel PCI subsystem and SystemC simulator (in user space).

No need for a set of tools. As long as your SystemC simulator simulates
an entire platform -- CPU, DRAM, etc. -- then you can boot Linux on the
simulated platform.

If you can boot Linux on the simulated platform, then you can easily
develop a Linux driver long before real HW is available.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-07 13:43    [W:0.076 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site