OpenCores
URL https://opencores.org/ocsvn/tcp_socket/tcp_socket/trunk

Subversion Repositories tcp_socket

[/] [tcp_socket/] [trunk/] [chips2/] [docs/] [source/] [index.rst] - Rev 4

Compare with Previous | Blame | View Log

===================================
*Chips* - Hardware Design in Python
===================================

What is *Chips*?
================

*Chips* makes FPGA design quicker and easier. *Chips* isn't a Hardware
Description Language (HDL) like VHDL or Verilog, its a different way of doing
things. In *Chips*, you design components using a simple subset of the C
programming language. There's a Python API to connect C components together
using fast data streams to form complex, parallel systems all in a single chip.
You don't need to worry about clocks, resets, or timing. You don't need to
follow special templates to make your code synthesisable. All that's done for
you!

Features
======== 

Some of the key features include:

        - A fast and simple development environment

        - A free open source solution (MIT license)

        - Automatic generation of synthesisable Verilog

        - Optimise for speed or area

        - Use C and Python software tools to design hardware.


You can get the *Chips* from the `Git Hub <http://github.com/dawsonjon/Chips-2.0>`_
homepage. If you want to give it a try in some real hardware, take a look at
the `demo <http://github.com/dawsonjon/Chips-Demo>`_ for the Digilent Atlys
Demo card.

A Quick Taster
==============

.. code-block:: c

        lfsr.c:

        //4 bit linear feedback shift register

        void lfsr(){
            int new_bit = 0;
            int shift_register = 1;
            while(1){
         
                 //tap off bit 2 and 3 
                 new_bit=((shift_register >> 0) ^ (shift_register >> 1) ^ new_bit);
         
                 //implement shift register
                 shift_register=((new_bit & 1) << 3) | (shift_register >> 1);
         
                 //4 bit mask
                 shift_register &= 0xf;
         
                 //write to stream
                 report(shift_register);
             }
        }

::

        console:

        $ c2verilog iverilog run lfsr.c

        8
        12
        14
        7
        3
        1

Documentation
=============
.. toctree::
   :maxdepth: 2

   language_reference/index
   examples/index
   tutorial/index

Links
=====

- `SciPy`_ Scientific Tools for Python.

- `matplotlib`_ 2D plotting library for Python.

- `Python Imaging Library (PIL)`_ Python Imaging Library adds image processing
  capabilities to Python.

- `MyHDL`_ A Hardware description language based on Python.

.. _`SciPy`: http://scipy.org
.. _`matplotlib`: http://matplotlib.org
.. _`MyHDL`: http://www.myhdl.org
.. _`Python Imaging Library (PIL)`: http://www.pythonware.com/products/pil/


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.