www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/philosophy hardware-software-boundary.html


From: Pavel Kharitonov
Subject: www/philosophy hardware-software-boundary.html
Date: Tue, 10 Mar 2015 14:48:53 +0000

CVSROOT:        /web/www
Module name:    www
Changes by:     Pavel Kharitonov <ineiev>       15/03/10 14:48:53

Added files:
        philosophy     : hardware-software-boundary.html 

Log message:
        New article RT #990411.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/hardware-software-boundary.html?cvsroot=www&rev=1.1

Patches:
Index: hardware-software-boundary.html
===================================================================
RCS file: hardware-software-boundary.html
diff -N hardware-software-boundary.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ hardware-software-boundary.html     10 Mar 2015 14:48:52 -0000      1.1
@@ -0,0 +1,115 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.77 -->
+<title>The Boundary Between Hardware And Software
+- GNU Project - Free Software Foundation</title>
+<!--#include virtual="/server/gnun/initial-translations-list.html" -->
+<!--#include virtual="/server/banner.html" -->
+<h2>The Boundary Between Hardware And Software</h2>
+
+<p>What is the boundary, in digital devices, between hardware and
+software?  We can find it by applying the definitions: software is the
+operational part of a device that can be copied and changed in a
+computer; hardware is the operational part that can't be.  This is the
+right way to make the distinction because it relates to the practical
+consequences.</p>
+
+<p>There is a gray area between hardware and software that contains
+firmware that <em>can</em> be upgraded or replaced, but is not meant
+ever to be upgraded or replaced once the product is sold.  In
+conceptual terms, the gray area is rather narrow.  In practice, it is
+important because many products fall in it.  We can treat that
+firmware as hardware with a small stretch.</p>
+
+<p>Some have said that preinstalled firmware programs and
+Field-Programmable Gate Array chips (FPGAs) &ldquo;blur the boundary
+between hardware and software,&rdquo; but I think that is a
+misinterpretation of the facts.  Firmware that is installed during use
+is software; firmware that is delivered inside the device and can't be changed
+is software by nature, but we can treat it as if it were a circuit.
+As for FPGAs, the FPGA itself is hardware, but the gate pattern that
+is loaded into the FPGA is a kind of firmware.</p>
+
+<p>Running free gate patterns on FPGAs could potentially be a useful
+method for making digital devices that are free at the circuit level.
+However, to make FPGAs usable in the free world, we need free
+development tools for them.  The obstacle is that the format of the
+gate pattern file that gets loaded into the FPGA is secret.  Until
+recently there was <em>no</em> model of FPGA for which those files
+could be produced without nonfree (proprietary) tools.</p>
+
+<p>Thanks to a reverse-engineering effort, it is now possible to compile
+C programs and run them on the Xilinx Spartan 6 LX9 FPGA.  The tools
+do not yet support HDL (hardware definition language) code, though, so
+this does not offer a usable substitute for real digital chips.
+Meanwhile, that model of FPGA is starting to get old.  These tools
+constitute a tremendous advance over the situation a few years ago,
+but there's a long way to go before FPGAs are fully usable in freedom.</p>
+
+<p>As for the HDL code itself, it can act as software (when it is run on
+an emulator or loaded into an FPGA) or as a hardware design (when it
+is realized in immutable silicon or a circuit board).</p>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Please send general FSF &amp; GNU inquiries to
+<a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.  Broken links and other corrections or suggestions can be sent
+to <a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+        replace it with the translation of these two:
+
+        We work hard and do our best to provide accurate, good quality
+        translations.  However, we are not exempt from imperfection.
+        Please send your comments and general suggestions in this regard
+        to <a href="mailto:address@hidden";>
+        &lt;address@hidden&gt;</a>.</p>
+
+        <p>For information on coordinating and submitting translations of
+        our web pages, see <a
+        href="/server/standards/README.translations.html">Translations
+        README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+</div>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+     files generated as part of manuals) on the GNU web server should
+     be under CC BY-ND 3.0 US.  Please do NOT change or remove this
+     without talking with the webmasters or licensing team first.
+     Please make sure the copyright date is consistent with the
+     document.  For web pages, it is ok to list just the latest year the
+     document was modified, or published.
+     
+     If you wish to list earlier years, that is ok too.
+     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+     years, as long as each year in the range is in fact a copyrightable
+     year, i.e., a year in which the document was published (including
+     being publicly visible on the web or in a revision control system).
+     
+     There is more detail about copyright years in the GNU Maintainers
+     Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright &copy; 2015 Free Software Foundation, Inc.</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p class="unprintable">Updated:
+<!-- timestamp start -->
+$Date: 2015/03/10 14:48:52 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]