DesignLab IDE replaces ZAP IDE

Jack Gassett

Recommended Posts

With the release of DesignLab and retirement of the ZAP IDE this forum has been renamed from the ZAP IDE forum to the DesignLab forum. We will keep all of the old ZAP IDE discussions here as we proceed with DesignLab discussions.


DesignLab is the next step beyond ZAP IDE and better integrates FPGA circuits with Arduino sketches. With DesignLab every sketch has an FPGA circuit associated with it. DesignLab also has easy to create and share libraries that have FPGA circuits, arduino style c++ libraries,  and example sketches all packaged together. 


For more information about the vision of DesignLab visit the Papilio DUO Kickstarter page.


To download the latest version of DesignLab visit the Download Page.

Link to comment
Share on other sites

DesignLab 1.0.0, Papilio One 500K + Arcade MegaWing:

I've changed boards.txt: One (500K) - ZPUino Hyperionzpuino_papilio_one500vps.boardid=0xb4010f00zpuino_papilio_one -DCLK_FREQ=92000000 -DBOARD_ID=0xb4010f00 -DBOARD_MEMORYSIZE=0x4000 -D__S3E_500__

Somehow the compiled binary is much larger than earlier for the sometris game. It was 9144 bytes for zpu1, but 14216 bytes without Timer now:

Executing  /usr/share/papilio-designlab/hardware/tools/zpu/bin/zpu-elf-size /tmp/build7908412095521054450.tmp/sometris.cpp.elf
Binary sketch size: 14,216 bytes (of a 12,160 byte maximum) - 12,836 bytes ROM, 2,736 bytes memory, 116% used


I've checked the dump of the zpuino1 and zpuino2 output. I found an sprintf in the latter one. Maybe -ffunction-sections -fdata-sections switches of gcc can help?

Link to comment
Share on other sites

Another thing I found (under Linux): if I try to edit the circuit it always says it is a library circuit (but it is in ~/DesignLab/sometris/):


EDIT: Probably 4 pull-ups are accidentally wired to integrated buttons instead of Joystick B pins.


Hey Peter,


After you save the file to a new location be sure to remove the line that associates it with a library circuit:

#define circuit Arcade_MegaWing

I should make this automatic so it isn't confusing...



Link to comment
Share on other sites

I downloaded DesignLab 1.0.1 (Linux 32-bit). I got these errors:

Executing  /usr/share/papilio-designlab/hardware/tools/zpu/bin/zpu-elf-size /tmp/build9052358762595091587.tmp/sometris.cpp.elfBinary sketch size: 14,216 bytes (of a 12,160 byte maximum) - 12,836 bytes ROM, 2,736 bytes memory, 116% Sketch too big; see for tips on reducing it.

But ZAP 2.3.0 produces this executable size:

Executing  /usr/share/papilio-zap-ide/hardware/tools/zpu/bin/zpu-elf-size /tmp/build246896770949469503.tmp/sometris.cpp.elfBinary sketch size: 9,144 bytes (of a 12,160 byte maximum) - 9,008 bytes ROM, 1,312 bytes memory, 75% used
Link to comment
Share on other sites

Which board are you targeting ? Is that a Papilio One ? [edit: did not read the whole thread: a P1-500, correct ?]


Indeed it looks like DesignLab is generating bigger binaries. We can eventually look at that in detail - can you send me the generated .elf file ? Send it to alvieboy at alvie dot com please. If printf is the culprit, I'll see where it's being called, and remove it (it's probably debugging)



Link to comment
Share on other sites

  • 2 months later...


I've just downloaded DesignLab 1.0.5. I tried to use Papilio One 500K and Arcade Megawing again. My sometris game can be compiled and uploaded to the board, but none of the joysticks are working (neither integrated buttons nor Joy A, B). Reading with digitalRead returns always LOW.




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.