no use no use 1/1 no use no use
Pasma on Spartan 3AN Starter Kit
by sza2 on Feb 23, 2010
Posts: 4
Joined: Sep 19, 2008
Last seen: Jul 27, 2012

I found the Plasma CPU project on these pages. However it seems it is implemented on Spartan 3e kit only, but I would like to try it on the board mentioned in the title.

Unfortunately my poor knowledge is not enough to modify this project to work on my board (different Ethernet PHY, DDR2 instead of DDR, etc. (and of course the .ucf, but it seems to be the easiest task:-).

So I would like to know whether someone may already port it to Spartan 3AN developer board.

Thanks in advance,

RE: Pasma on Spartan 3AN Starter Kit
by masASN on May 20, 2010
Posts: 1
Joined: Nov 10, 2009
Last seen: Jul 7, 2010
I succesfully implemented YACC on Spartan-3AN starter kit(with its 16k/32k on-chip ram and uart, with some modifications). It uses plasma-mips toolchain and I check its examples and new C code on my implementation. Every thing works good.
I also implemented plasma on my board(whitout external ram and ethernet),
but it has some issues(putchar() works but puts() no!).
64MB DDR2 SDRAM, however,is an obstacle (and an opportunity!). MIG could be a solution.
I welcome any contribution...

RE: Pasma on Spartan 3AN Starter Kit
by priscared on May 31, 2010
Posts: 2
Joined: Oct 14, 2009
Last seen: Jun 11, 2010
care to share how you implemented it?
I would be very interested to know.
If i could get the toolchain and plasma going on my spartan3an i would be very happy. even without external ram?
RE: Pasma on Spartan 3AN Starter Kit
by mas.a on Jun 13, 2010
Posts: 1
Joined: May 11, 2010
Last seen: Dec 13, 2013
A taste of Plasma processor on Spartan3an Starter kit:
1)extract and to a single directory
2)copy below files to the directory:
no_os.c, plasma.h, boot.asm, ram_xilinx.vhd
3)create tst.c and build .bat
tst.c: **********************************************
int putchar(int value);
int main()
return 0;

build.bat: ******************************************
as -o boot.o boot.asm
gcc -O2 -Wall -c -s tst.c
gcc -O2 -Wall -c -s no_os.c
ld -Ttext 0 -eentry -Map -s -N -o test.axf boot.o tst.o no_os.o
objdump --disassemble test.axf > test.lst
4)run build.bat and copy hex column of generated test.lst to a new file :code.txt (convert_bin.exe didn�t work)
5)open cmd in the directory:
ram_image.exe ram_xilinx.vhd code.txt ram_image.vhd
,now we have ram_image.vhd

6)create an ISE VHDL project for x3s700an target and add below VHDL files:
Plasma_if (top module)
ram_image.vhd (from step 5)
and other related files

7)create a UCF file and add it to the project:
Plasma_if.ucf: ********************************************
NET "clk_in" TNM_NET = "clk_in";
TIMESPEC "TS_clk_in" = PERIOD "clk_in" 20 ns HIGH 50 %;
NET "clk_reg1" TNM_NET = "clk_reg1";
TIMESPEC "TS_clk_reg1" = PERIOD "clk_reg1" 39.9 ns HIGH 50 %;
NET "clk_in" LOC = "E12";
NET "reset" LOC = "T16";
NET "uart_read" LOC = "E16";
NET "uart_write" LOC = "F15";
8)synthesis it and generate bit file.
9)start Hyper terminal with below settings and then download bit file to the board:
57600, 8, None, 1, Hardware
,now you can see a �a� character on terminal.
no use no use 1/1 no use no use
© copyright 1999-2014, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.