I'm currently looking for "alpha" testers for the upcoming 1.0 version, which uses the new Arduino IDE and a new, improved core.
In case you are interested in testing it, please drop me a note. !
Alvie
Tuesday, December 13, 2011
Tuesday, December 6, 2011
The new Extreme core
I just uploaded a new extreme bitfile, one which does only implement one emulated instruction (loadb, using an extra cycle). Implementation of other instructions is coming next.
Again, a Papilio One, S3E250, at 96MHz, AES benchmark:
Comparison with older core, with *many* more instructions implemented:
Definitely, getting somewhere :)
Alvie
Again, a Papilio One, S3E250, at 96MHz, AES benchmark:
Press ENTER to start benchmark
Doing 10000 runs...
Time: 1536 milisseconds, 104166 bytes/s
Comparison with older core, with *many* more instructions implemented:
Press ENTER to start benchmark
Doing 10000 runs...
Time: 2101 milisseconds, 76154 bytes/s
Definitely, getting somewhere :)
Alvie
Thursday, October 6, 2011
Upcoming VGA interface with SRAM
Just a photo for a start ;)
full image version here
This was done with new Spartan6 boards from Gadget Factory, which include a 512KB SRAM.
Alvie
full image version here
This was done with new Spartan6 boards from Gadget Factory, which include a 512KB SRAM.
Alvie
Wednesday, August 31, 2011
ZPUino demo video with VGA
Jack made a wonderful demo video of ZPUino with VGA, running on Papilio One:
Watch it here.
Thanks Jack!
Watch it here.
Thanks Jack!
Monday, July 25, 2011
Tuesday, July 19, 2011
Beta2 released
ZPUino Beta2 released
Download: http://www.alvie.com/zpuino/download.html
Release notes: http://alvie.com/zpuino/releasenotes.html
Have fun!
Download: http://www.alvie.com/zpuino/download.html
Release notes: http://alvie.com/zpuino/releasenotes.html
Have fun!
Wednesday, June 29, 2011
Working with simulator
I've been working on a real ZPUino simulator, one that can run all your sketches directly.
Although it's not a perfect one (proper timing is not implemented) it's fully functional, and I'm even putting out a GUI for it.
Although it's not a perfect one (proper timing is not implemented) it's fully functional, and I'm even putting out a GUI for it.
And it's a lot of fun! And it's rather easy to add simulation for your own devices.
Alvie
Tuesday, June 21, 2011
Beta1 released
Hi,
I'm proud to announce that ZPUino Beta1 release is now available:
Release Notes
Download
Good hacking!
Alvie
I'm proud to announce that ZPUino Beta1 release is now available:
Release Notes
Download
Good hacking!
Alvie
Monday, June 20, 2011
A Sponsor Appreciation
Hi,
Beta 1 will be available later today, but I would not release it before a short sponsor appreciation, which is entirely justified.
So, I'd like to give a very special thank you to Gadget Factory, and to Jack Gassett himself. They have kindly provided to me all of their hardware boards for no cost, thus helping a lot ZPUino development (I need boards to test, to develop on, and new additional hardware too). That included Papilio One 250, Papilio One 500, and some early prototypes, like Papilio Overshield and C/RAM Wing and other in-production wings, like VGA, Audio and Joystick. Development goes way more smoother when we have real hardware to test stuff on.
Jack has also been a Beta tester for ZPUino, and he even put some demonstrations online, which I also thank him very much for the time spent (and pacience).
For all this, a huge Thank You to Gadget Factory and Jack.
Alvie
Beta 1 will be available later today, but I would not release it before a short sponsor appreciation, which is entirely justified.
So, I'd like to give a very special thank you to Gadget Factory, and to Jack Gassett himself. They have kindly provided to me all of their hardware boards for no cost, thus helping a lot ZPUino development (I need boards to test, to develop on, and new additional hardware too). That included Papilio One 250, Papilio One 500, and some early prototypes, like Papilio Overshield and C/RAM Wing and other in-production wings, like VGA, Audio and Joystick. Development goes way more smoother when we have real hardware to test stuff on.
Jack has also been a Beta tester for ZPUino, and he even put some demonstrations online, which I also thank him very much for the time spent (and pacience).
For all this, a huge Thank You to Gadget Factory and Jack.
Alvie
Thursday, June 16, 2011
ZPUino BETA to be released
Yes, that's true!
ZPUino 1st BETA will be release hopefully during this weekend. I won't disclose all details until then, but here's a quick overview:
Stay tuned!.
Alvie
ZPUino 1st BETA will be release hopefully during this weekend. I won't disclose all details until then, but here's a quick overview:
- Wishbone compatible. You can connect any wishbone-compliant core to the IO module
- Improved bootloader and programmer, with a lot of sanity checks.
- A new Papilio One core for S3E500, with HQVGA(160x120, 8-bit color) support
- A new S3ESK core, with a HQVGA 8-bit color (but reduced to 3-bit due to no board support)
- SmallFS - a simple-to-use, small filesystem on flash
- A new library: VGA, to work with the new cores
- Full (yes, full) Microsoft Windows Support (subject to testing, of course!)
- An optional preliminary IDE based on upcoming Arduino 1.0 release
- Lots of bugfixes all around
Stay tuned!.
Alvie
Tuesday, June 14, 2011
Win32 port
I'm happy to announce that all important ZPUino parts are now working in win32 (Windows XP).
The important parts are: IDE, compiler toolchain and programmer.
I'll release a beta version soon.
Alvie
The important parts are: IDE, compiler toolchain and programmer.
I'll release a beta version soon.
Alvie
Friday, June 3, 2011
Updated bitfile for Papilio One 500
Due to a miscalculation, the Alpha 4 image for Papilio One 500 would overwrite the FPGA bitfile when you uploaded a sketch, which in turn would cause it to require a new bitfile upload when power cycled. This is now fixed, and I published a new bitfile for it:
http://www.alvie.com/zpuino/download.html
Thanks a lot to the reporter and tester, "dack", who I spoke with on IRC on #gadgetfactory channel (FreeNode).
Alvie
http://www.alvie.com/zpuino/download.html
Thanks a lot to the reporter and tester, "dack", who I spoke with on IRC on #gadgetfactory channel (FreeNode).
Alvie
Tuesday, May 24, 2011
Extreme
ZPUino extreme (the smallest version of it) successfully implemented and tested on FPGA. This core can do 1-cycle operations on many instructions, hence a lot faster than traditional cores. It also features a separate stack/memory, so memory is now mostly free and available for a DMA engine.
It might need a small redesign however, due to slowness of internal Block RAM. Despite timing things went very good. It still needs interrupt support, but should not be very intrusive.
Álvaro
It might need a small redesign however, due to slowness of internal Block RAM. Despite timing things went very good. It still needs interrupt support, but should not be very intrusive.
Álvaro
Thursday, May 5, 2011
ZPUino going wishbone
ZPUino is going wishbone, from the CPU core to the IO devices.
This will ease addition of new peripherals, like the ones in opencores.
Álvaro
This will ease addition of new peripherals, like the ones in opencores.
Álvaro
Tuesday, April 26, 2011
Examples section
I just added a new "Examples" section to the website (http://www.alvie.com/zpuino/examples.html).
There's a single demo there for now, which is meant for S3ESK board only.
I'll notify you all when I add some more examples (like the so awaited WAV player).
Álvaro
There's a single demo there for now, which is meant for S3ESK board only.
I'll notify you all when I add some more examples (like the so awaited WAV player).
Álvaro
Monday, April 25, 2011
Alpha 4 is out
ZPUino Alpha 4 is out.
Release Notes
Programmer/bootloader
* Changed the reset method to BREAK + low speed transfer. This hopefully will allow reset even when RS232 signals are noisy.
* Fix bootloader for simulation, was using deprecated methods.
* Small update for new interrupt controller
* Remove unused syscall file for bootloader
Core
* Refactor interrupt controller. New controller uses edge interrupts, and has two external interrupt lines. Also interrupts are now masked by default.
* GPIO: allow disabling PPS on some GPIO pins, such as those who map directly on board devices.
Boards
* Clock speed was being defined as unsigned long long. This might break inline computations, so changed to unsigned long.
* Place memreg[] in lower memory, so it can be used by bootloader/sketch. Interrupts should work perfectly now (and sketches should be slightly smaller)
Papilio One
* Reorganize papilio one directory to hold different FPGA
* New bitfile for Papilio One based on S3E500
Spartan 3E Evaluation Board
* Add some more IO pins to design, to support accessing LCD and rotary encoder.
Full release notes: Release Notes
Download: Download
Release Notes
Programmer/bootloader
* Changed the reset method to BREAK + low speed transfer. This hopefully will allow reset even when RS232 signals are noisy.
* Fix bootloader for simulation, was using deprecated methods.
* Small update for new interrupt controller
* Remove unused syscall file for bootloader
Core
* Refactor interrupt controller. New controller uses edge interrupts, and has two external interrupt lines. Also interrupts are now masked by default.
* GPIO: allow disabling PPS on some GPIO pins, such as those who map directly on board devices.
Boards
* Clock speed was being defined as unsigned long long. This might break inline computations, so changed to unsigned long.
* Place memreg[] in lower memory, so it can be used by bootloader/sketch. Interrupts should work perfectly now (and sketches should be slightly smaller)
Papilio One
* Reorganize papilio one directory to hold different FPGA
* New bitfile for Papilio One based on S3E500
Spartan 3E Evaluation Board
* Add some more IO pins to design, to support accessing LCD and rotary encoder.
Full release notes: Release Notes
Download: Download
Thursday, April 21, 2011
ZPU core comparison
I believe I forgot to share this one: It's a comparison between the older core (zpu_core_small), the current core (ZPUino Premium) and the on-the-forge ZPUino Extreme:
Nice, no ?
ZPUino Extreme also features a completely different architecture, but it's not very suitable for multitasking. But falls perfecly in ZPUino niche.
Alvie
Nice, no ?
ZPUino Extreme also features a completely different architecture, but it's not very suitable for multitasking. But falls perfecly in ZPUino niche.
Alvie
Thursday, April 14, 2011
Request for examples
Can you provide me what you believe would be good examples to include in ZPUino core ?
I've a few I might publish soon:
* Simple AES256 benchmark
* WAV player from SD card
I'll be expecting your comments (or alternatively, send them to zpuino@alvie.com)
Alvie
I've a few I might publish soon:
* Simple AES256 benchmark
* WAV player from SD card
I'll be expecting your comments (or alternatively, send them to zpuino@alvie.com)
Alvie
Wednesday, April 13, 2011
Preparing for Alpha 4
Alpha 4 is on the forge now. I decided to release it as soon as possible, due to eventual problems with programmer (which was not updated on last images, might require you to build your own).
Also a bug related to how compiler handles 64-bit values was fixed: again, it might break some computations, like baud rates, delays, and others.
I don't think win32 port will be ready by then, but other features will make it. The most prominent one is a new interrupt controller, and two external interrupt lines you can use (edge-triggered, high or low level, using PPS). Auto-cleanup of interrupt is also working for the latter, you still need to clear interrupt bits for internal devices for now.
Alvaro
Also a bug related to how compiler handles 64-bit values was fixed: again, it might break some computations, like baud rates, delays, and others.
I don't think win32 port will be ready by then, but other features will make it. The most prominent one is a new interrupt controller, and two external interrupt lines you can use (edge-triggered, high or low level, using PPS). Auto-cleanup of interrupt is also working for the latter, you still need to clear interrupt bits for internal devices for now.
Alvaro
Friday, April 8, 2011
Alpha 3 is out
I'm proud to announce Alpha 3 release of ZPUino.
As usual, you can find it in http://www.alvie.com/zpuino/
Here are the release notes:
Programmer/bootloader
* Programmer now uses a dual-speed transfer. It starts at 115200 baud for identification, then ramps up speed if required.
* Some bugfixes and refactoring.
* Preliminary direct memory upload. Still untested.
Core
* New main ZPU core: ZPU Premium. You should expect almost a 3x performance increase, when compared with old core.
* New PPS implementation. Things should have become clearer now. See more information on PPS page
* IO selection is now clearer, so to ease adding new devices. See Implementing or porting IO devices document for more information
* Fixed RAM indexing, which caused synthesis warnings
Boards
* Added per-board SPI clock dividers for bootloader
Spartan 3E Evaluation Board
* First prebuilt image for this board
* Design was not being properly built, fixed that.
* Changed clock speed to 96MHz, instead of 100MHz. This helps meeting timing and give accurate baud rate dividers
* Fixed GPIO mappings
* Added proper IO pads
Documentation
* Added IO device tutorial: Implementing or porting IO devices
* Added Advanced IO: Advanced IO
* Added PPS documentation for users: Peripheral Pin Select
Known Issues
* There is still no Win32 port. Some dificculties arose so I'm delaying to next release. But good news is that compiler is now built, but other parts of the toolchain still need some tweaking, as well as the IDE set up.
* Resetting the serial port sometimes fails when using a real RS232 cable. This is probably due to ringing - I'll address this on next release (this only affects S3E evaluation board, but since there's a manual reset button you can get it to work)
* S3E P&R is having difficulties due to both DCM used, but it does meet timing. However I'll address that on next release, to speed up the implementation process.
As usual, you can find it in http://www.alvie.com/zpuino/
Here are the release notes:
Programmer/bootloader
* Programmer now uses a dual-speed transfer. It starts at 115200 baud for identification, then ramps up speed if required.
* Some bugfixes and refactoring.
* Preliminary direct memory upload. Still untested.
Core
* New main ZPU core: ZPU Premium. You should expect almost a 3x performance increase, when compared with old core.
* New PPS implementation. Things should have become clearer now. See more information on PPS page
* IO selection is now clearer, so to ease adding new devices. See Implementing or porting IO devices document for more information
* Fixed RAM indexing, which caused synthesis warnings
Boards
* Added per-board SPI clock dividers for bootloader
Spartan 3E Evaluation Board
* First prebuilt image for this board
* Design was not being properly built, fixed that.
* Changed clock speed to 96MHz, instead of 100MHz. This helps meeting timing and give accurate baud rate dividers
* Fixed GPIO mappings
* Added proper IO pads
Documentation
* Added IO device tutorial: Implementing or porting IO devices
* Added Advanced IO: Advanced IO
* Added PPS documentation for users: Peripheral Pin Select
Known Issues
* There is still no Win32 port. Some dificculties arose so I'm delaying to next release. But good news is that compiler is now built, but other parts of the toolchain still need some tweaking, as well as the IDE set up.
* Resetting the serial port sometimes fails when using a real RS232 cable. This is probably due to ringing - I'll address this on next release (this only affects S3E evaluation board, but since there's a manual reset button you can get it to work)
* S3E P&R is having difficulties due to both DCM used, but it does meet timing. However I'll address that on next release, to speed up the implementation process.
Wednesday, March 30, 2011
New bootloader, Win32 support
Although there was a preliminary programmer for win32, I only recently realised that win32 does not actually support natively serial speeds above 256Kbaud. This stroke me as very odd, we're on the 21th century now, with advent of serial links not rs232-based (like USB serial controllers) having speeds of 1Mbaud, 3Mbaud or even higher is very common, it's weird why Microsoft did not expand its baudrate selection to higher speeds.
Anyway.
So to support win32, we've to get that speed down, so I decided on a two-steps approach. We can initially talk to ZPUino at a reasonably lower speed (115200), and then depending on OS and eventually board features rise this speed to something more acceptable (which would be 1/3Mbaud on Unices, 256Kbaud on Windows). This requires changes to bootloader and to programmer which I am ultimating as I write.
Also for win32 support we need the compilers. Those are building now, if everything goes well I hope full win32 support will be on next Alpha version (which, by the way, will be due this weekend). The programmer already has a fix for the insane command line processing in mingw32 (or is it msvc?), so everything seems to be on rails.
Alvie
Anyway.
So to support win32, we've to get that speed down, so I decided on a two-steps approach. We can initially talk to ZPUino at a reasonably lower speed (115200), and then depending on OS and eventually board features rise this speed to something more acceptable (which would be 1/3Mbaud on Unices, 256Kbaud on Windows). This requires changes to bootloader and to programmer which I am ultimating as I write.
Also for win32 support we need the compilers. Those are building now, if everything goes well I hope full win32 support will be on next Alpha version (which, by the way, will be due this weekend). The programmer already has a fix for the insane command line processing in mingw32 (or is it msvc?), so everything seems to be on rails.
Alvie
Sunday, March 6, 2011
Alpha2 is out
ZPUino Alpha 2 is out.
http://alvie.com/zpuino/download.html
Release notes:
http://alvie.com/zpuino/releasenotes.html
Alvie
http://alvie.com/zpuino/download.html
Release notes:
http://alvie.com/zpuino/releasenotes.html
Alvie
Wednesday, March 2, 2011
Tuesday, February 15, 2011
Delays
As you all noticed, Alpha 2 is a bit delayed. This is due to several reasons:
1) I'm integrating a new UART, because current one performs not very well at high bit rates.
2) ADC direct interface took some time, it's stabilizing now.
3) Some more unplanned changes are coming in, like CRC queuing.
4) A faster ZPUino is also on the forge. Some operations are important, and I'd like to merge them in for alpha 2.
5) Documentation is laggin behind because I don't have much spare time lately.
So, stay tuned.
Alvie
1) I'm integrating a new UART, because current one performs not very well at high bit rates.
2) ADC direct interface took some time, it's stabilizing now.
3) Some more unplanned changes are coming in, like CRC queuing.
4) A faster ZPUino is also on the forge. Some operations are important, and I'd like to merge them in for alpha 2.
5) Documentation is laggin behind because I don't have much spare time lately.
So, stay tuned.
Alvie
Wednesday, January 19, 2011
Website down
Website http://www.alvie.com/zpuino is currently down due to hardware problems in my hosting company, Awardspace.
I hope they'll fix problems quickly.
Alvie
I hope they'll fix problems quickly.
Alvie
Tuesday, January 4, 2011
Internet Explorer fixes
Seems Internet Explorer users were not even able to access the website.
Fixed now, but I lost ability to inline mathematical functions, so now I have to render them by "hand".
Alvie
Fixed now, but I lost ability to inline mathematical functions, so now I have to render them by "hand".
Alvie
Subscribe to:
Posts (Atom)