[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) “blur the boundary
+between hardware and software,” 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 & GNU inquiries to
+<a href="mailto:address@hidden"><address@hidden></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"><address@hidden></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">
+ <address@hidden></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 © 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>
- www/philosophy hardware-software-boundary.html,
Pavel Kharitonov <=