element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Code Exchange
  • Technologies
  • More
Code Exchange
Blog XXICC (21st Century Co-design) release 0.0j
  • Blog
  • Forum
  • Documents
  • Events
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Code Exchange requires membership for participation - click to join
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: johnbeetem
  • Date Created: 14 Mar 2014 6:43 PM Date Created
  • Views 600 views
  • Likes 1 like
  • Comments 5 comments
  • galaxc
  • gchd
  • Code Exchange
  • xxicc
Related
Recommended

XXICC (21st Century Co-design) release 0.0j

johnbeetem
johnbeetem
14 Mar 2014

In celebration of USA Pi day 3/14/2014, here is the new release 0.0j of XXICC.

 

XXICC (21st Century Co-design) is a not-for-profit research project which attempts to bring digital hardware/software co-design into the 21st Century using an improved programming language and a Reduced Software Complexity philosophy.  Its goal is to make it easier and more enjoyable to write and maintain digital hardware and software. XXICC is pronounced "Chicken Coop", so-called because it has so many layers.

 

Until now, I've used Google Code as the location for XXICC downloads, wiki, and issues list.  Google Code recently stopped allowing new downloads.  Now that XXICC includes (fairly) usable hardware design tools, I figure it's appropriate content for element14.  The XXICC wiki and issues list will remain at Google Code for now: the link is xxicc.org. That's also the place to find earlier releases.

 

For an overview of XXICC, see the xxicc.org home page and wiki.  For details on the GalaxC programming language, XXICC Object Editor, and GalaxC extensions for Hardware Design (GCHD), here are the latest documents and complete code.

 

Release notes for XXICC rev 0.0j

Programming in the GalaxC Language rev 0.0j: reference and user guide for the GalaxC programming language.

The XXICC Anthology rev 0.0j: collection of miscellaneous XXICC topics, including user guides for the XXICC Object Editor and GCHD.

XXICC code release 0.0j: all source code for XXICC.

XXICC source code listing rev 0.0j: source code listing in PDF.

XXICC executable binaries rev 0.0j: executable XXICC binaries if you don't want to build from source code.

GalaxC sample/demo programs rev 0.0j: sample GalaxC programs and GCHD logic libraries.

GalaxC sample/demo program listings rev 0.0j: PDF listing of the sample GalaxC programs and GCHD.

Editable XXICC documentation files rev 0.0j: editable XOE files for XXICC documentation.

Installing and Running XXICC rev 0.0h: Document describing how to install and run XXICC, unchanged for 0.0j.

Compiling and Running GalaxC Programs rev 0.0h: Document describing how to compile and run your own GalaxC programs, unchanged for 0.0j.

 

Most of these files are stored in the element14 FPGA Group, for two reasons: (1) I can't seem to upload files to the Code Exchange, and (2) a main target technology for XXICC (and especially GCHD) will be FPGAs, so the FPGA Group will be a good location.  The last two files are at Google Code.

 

I've tested XXICC 0.0j on GNU/Linux (Ubuntu, Raspberry Pi Debian "Squeeze", Beagle Ångström) and Windows (2000 and 7).  My main machine is Ubuntu, so the others are more likely to have anomalies.  Constructive comments and suggestions are most welcome.  I'd especially like to find out how to reproduce some of the bugs that have been eluding me.

 

XXICC is a FLOSS (Free as in Liberty Open Source Software) project.  Software is licensed under GPLv3 and other content is licensed under Creative Commons CC-BY-SA 3.0.

Anonymous

Top Comments

  • Former Member
    Former Member over 8 years ago +1

    For those who try to build this, please note that the Ubuntu machine you run on must be 32bit - i.e., "i386" and not "amd64" or "x86_64". If you compile for 64 bit CPUs you will get a valid executable…

  • johnbeetem
    johnbeetem over 8 years ago

    XXICC release 0.0k is now available: XXICC (21st Century Co-design) release 0.0k.

     

    Release 0.0k adds Flavia, described in this 'blog post: Flavia: the Free Logic Array.

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 8 years ago in reply to Former Member

    Alan Mimms wrote:

     

    For those who try to build this, please note that the Ubuntu machine you run on must be 32bit - i.e., "i386" and not "amd64" or "x86_64". If you compile for 64 bit CPUs you will get a valid executable xxicc, but the thing dies with an internal assertion failure related to a PSIsp != 0. Maybe if I get a chance to fiddle with this a bit I will go find the 64b issues and submit patches to Dr. Beetem.

    You're correct -- I've never tried XXICC on a 64-bit system.  There's probably a GCC option to make sure the executable is 32 bit, though that probably requires all the shared libraries to be 32-bit as well.

     

    In any case, I'd better update Installing and Running XXICC to mention the issue.

     

    The "xxicc" executable has the PSI (postfix stack interpreter) that runs all the code compiled from GalaxC source code.  PSI code is 32-bit, so if PSI is compiled for 64-bit it's not going to work.

     

    XXICC has a Reduced Software Complexity philosophy, so 32-bit addresses are plenty

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 8 years ago in reply to Former Member

    Alan Mimms wrote:

     

    The pgl00j.zip and xxanth00j.zip files - at least for me - download as zero bytes in length. I think they might be useful/interesting. Can you please fix this? Thanks!

    I tried downloading them myself and got the same result.  I just uploaded them again and they should work now.

     

    Update: I also replaced demopdf00j.zip which also had "zero bytes".  All the files should be OK now.

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
  • Former Member
    Former Member over 8 years ago

    For those who try to build this, please note that the Ubuntu machine you run on must be 32bit - i.e., "i386" and not "amd64" or "x86_64". If you compile for 64 bit CPUs you will get a valid executable xxicc, but the thing dies with an internal assertion failure related to a PSIsp != 0. Maybe if I get a chance to fiddle with this a bit I will go find the 64b issues and submit patches to Dr. Beetem.

     

    A successful path that I just took was to build on Ubuntu 14.04 i386 desktop in a virtual machine on my real machine, which is Ubuntu 14.04 amd64 desktop. In the VM I did the following in the directory where I extracted the source files:

     

    sudo apt-get install libx11-dev libxft-dev

    mkdir -p xxicc.od

    make T=XGL

    export PATH=$PATH:`pwd`

    xxicc -force xoe

     

    This built a working system, as far as I can tell at this point. I'm now going to play with it and see if I can get it to do some magical things.

    • Cancel
    • Vote Up +1 Vote Down
    • Reply
    • More
    • Cancel
  • Former Member
    Former Member over 8 years ago

    The pgl00j.zip and xxanth00j.zip files - at least for me - download as zero bytes in length. I think they might be useful/interesting. Can you please fix this? Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2022 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube