P1v Experiments
David Betz
Posts: 14,516
in Propeller 1
I'm finally finding time to play with the FPGA boards I've accumulated over the years and would like to get P1v working on either a BeMicro CV board or a DE0-Nano. Does anyone have a recommendation as to which would be the best? Also, is there a concise description of how to setup either board for P1v. I have the docs for the boards but I'm not sure where to find the most current Verilog sources for P1v that will run on each board.
Thanks!
David
Thanks!
David
Comments
That includes builds for the DE0-Nano and the DE2-115. I guess I'll use the DE0-Nano for now.
Also, has anyone had luck running Quartus under a VirtualBox VM? It seems very slow when I do it and I'm running on a fairly fast i7 desktop machine with 32gb of RAM.
Do you have the P1V-master.zip file?
Here is my last version of my clean test. It has all the various ROM codes so you can include what you need. There are all the original update fixes but IIRC there is nothing else added. It was working with Quartus 15.
I don't recall how long it took to compile. If you enable sending info Quartus works faster.
This is the old repo from before the time that Parallax created their own P1V repo. My branch in that repo has a number of improvements including the possibility to compile it for Spartan (I haven't tested this myself) but it's not "sanctioned" by Parallax and it's pretty much abandoned now that Parallax has a repo.
This is the most recent P1V repo. The exact URL is https://github.com/jacgoudsmit/P1V.
The master branch in that repo is closest to what Parallax put online, but I don't work in that branch anymore because I've moved further and further away from the original Parallax directory structure: I combined the source code for all targets into one directory, and instead of having small variations (e.g. to change the ROM emulation on the DE0-Nano) are now done with conditional expressions and a super-top-module that has all the hardware specific stuff in it such as DIP switches and LEDs. There is now a "rel" branch that has the most stable version, and the "dev" branch which has the latest and greatest features. That includes builds for the BeMicroCV-A9 and the FPGA1-2-3 boards from Parallax. If you're just trying stuff out with P1V and aren't planning on making any changes to the P1V sources, the best place to work is probably the "rel" branch (which is the default). If you want to make a small change, use the "dev" branch or create your own after you fork the project.
Unfortunately I haven't had time for this project for a while, and not all the features from the old repo have been ported to the new repo. For example, the Xilinx targets haven't been ported yet (though the AHDL modules have been replaced by Verilog modules to make this easier), and the P1V repo still has the scrambled Spin interpreter whereas the old P8X32A_Emulation repo has the option of using a descrambled Spin ROM image.
===Jac
Try my files that I attached a few posts back. At least I understand those files and I can retest here if you cannot get them to work for you.
This might help
https://www.parallax.com/downloads/setup-propeller-1-design-de0-nano
To make a .jic file from your .sof file try these settings.
Quartus makes it possible to put several targets in the same project file by using "revisions". They are similar to how you can compile a Windows or Linux program in x86 mode as well as x64 mode. I reorganized the files so there are no duplicates anymore (unlike the original Parallax P1V distro), and the various targets are now built as "revisions". Quartus remembers the last selected revision when you load the .qsf file but if you downloaded the files straight from my Github, chances are that the current revision is NOT the DE0-Nano because I don't have one of those. You'll have to change the current revision to DE0-Nano before you compile.
The steps you need to take (including selecting the Nano as target) are here. For the other targets, there is also a readme.txt in the appropriate top level directory.
Here's a copy-paste of the DE0-Nano readme, slightly modified for clarity:
If you want to tweak something and then recompile, restart at step 4.
If you have any questions, feel free to send me a PM. I don't come here often
===Jac
PS on my Dell Optiplex (4-core i5 at 3.1GHz with 8GB memory and an SSD, running Windows 7) the compilation of the DE0-Nano revision takes 3 minutes and 35 seconds.