FPGARelated.com
Forums

Is there a verilog version of PicoBlaze?

Started by Unknown June 17, 2004
Hi all,

  I have downloaded a VHDL version of PicoBlaze. I can synthesize it
with other VHDL modules, my I prefer the use of Verilog, so the only
way I can use it with them is through EDIF black-box.

  Anyway, life could be better if I can use a verilog version of
PicoBlaze directly. Does anyone know if it exists?

  Thanks in advance, Santiago.
On 17 Jun 2004 02:39:09 -0700, sanpab@eis.uva.es wrote:

>Hi all, > > I have downloaded a VHDL version of PicoBlaze. I can synthesize it >with other VHDL modules, my I prefer the use of Verilog, so the only >way I can use it with them is through EDIF black-box. > > Anyway, life could be better if I can use a verilog version of >PicoBlaze directly. Does anyone know if it exists?
1. No, a Verilog version doesn't exist. (If you write one, let me know!) This is a PITA. 2. The latest version of picoblaze uses an NGC file rather than EDIF. You should probably upgrade. Also, you should use picoblaze2 if you can; the extra code space helps. 3. There shouldn't be any problems synthesising with a black box. (I'm doing something similar in my current design.) 4. There *is* a problem with simulation though: you will need to find a simulator that can do both languages simultaneously. These tend to cost a lot. 5. Ken Chapman's kcpsm/kcpsm2 assembler uses template files (e.g. ROM_form.vhd) when it writes the RAMB4 or RAMB16 INIT values. The assembler performs a simple textual substitution, so you can change the template so that it writes Verilog instead of VHDL. The filename can't be changed from ROM_form.vhd though. 6. The assembler doesn't correctly handle source files if they have names longer than 8 characters, or if they are in a directory other than the directory containing the assembler, or if they are not in the current directory. I contacted Xilinx about this and they said that it wouldn't be fixed. :( Regards, Allan.
Check the latest version KCPSM3, I don't use Verilog but the assembler have
a Verilog rom form.

Walter.

"Allan Herriman" <allan.herriman.hates.spam@ctam.com.au.invalid> a &#4294967295;crit
dans le message de news:hgq2d0p1jumlijq9jumml5fks5739g5122@4ax.com...
> On 17 Jun 2004 02:39:09 -0700, sanpab@eis.uva.es wrote: > > >Hi all, > > > > I have downloaded a VHDL version of PicoBlaze. I can synthesize it > >with other VHDL modules, my I prefer the use of Verilog, so the only > >way I can use it with them is through EDIF black-box. > > > > Anyway, life could be better if I can use a verilog version of > >PicoBlaze directly. Does anyone know if it exists? > > 1. No, a Verilog version doesn't exist. (If you write one, let me > know!) This is a PITA. > > 2. The latest version of picoblaze uses an NGC file rather than EDIF. > You should probably upgrade. Also, you should use picoblaze2 if you > can; the extra code space helps. > > 3. There shouldn't be any problems synthesising with a black box. > (I'm doing something similar in my current design.) > > 4. There *is* a problem with simulation though: you will need to find > a simulator that can do both languages simultaneously. These tend to > cost a lot. > > 5. Ken Chapman's kcpsm/kcpsm2 assembler uses template files (e.g. > ROM_form.vhd) when it writes the RAMB4 or RAMB16 INIT values. The > assembler performs a simple textual substitution, so you can change > the template so that it writes Verilog instead of VHDL. The filename > can't be changed from ROM_form.vhd though. > > 6. The assembler doesn't correctly handle source files if they have > names longer than 8 characters, or if they are in a directory other > than the directory containing the assembler, or if they are not in the > current directory. > I contacted Xilinx about this and they said that it wouldn't be fixed. > :( > > Regards, > Allan.
The new PicoBlaze User Guide has a short section on using the VHLD PicoBlaze
design in a Verilog environment.  The Xilinx ISE software includes mixed
VHDL/Verilog support.  The other option is to instantiate the PicoBlaze
design as a black box.  Either way, check out page 69 in the following
document.

PicoBlaze 8-bit Embedded Microcontroller User Guide
for Spartan-3, Virtex-II, and Virtex-II Pro
http://www.xilinx.com/bvdocs/userguides/ug129.pdf

Also, as described on page 72, the KCPSM3 assembler generates a Verilog file
describing the instruction ROM, which is useful for simulation.

The latest PicoBlaze design is available from the following site.
http://www.xilinx.com/picoblaze
---------------------------------
Steven K. Knapp
Applications Manager, Xilinx Inc.
General Products Division
Spartan-3/II/IIE FPGAs
http://www.xilinx.com/spartan3
---------------------------------
Spartan-3:  Make it Your ASIC

<sanpab@eis.uva.es> wrote in message
news:d79abcea.0406170139.4845d531@posting.google.com...
> Hi all, > > I have downloaded a VHDL version of PicoBlaze. I can synthesize it > with other VHDL modules, my I prefer the use of Verilog, so the only > way I can use it with them is through EDIF black-box. > > Anyway, life could be better if I can use a verilog version of > PicoBlaze directly. Does anyone know if it exists? > > Thanks in advance, Santiago.
On Thu, 17 Jun 2004 10:18:38 -0300, "INS122595"
<walter@chasque.apc.org> wrote:

>Check the latest version KCPSM3, I don't use Verilog but the assembler have >a Verilog rom form.
Hi Walter, do you know where I can download KCPSM3? The Xilinx site requires a user name and password, but I can't find a page that will allow me to register (again). Regards, Allan.
Allan,

To register and download Picoblaze3:
- Goto http://www.xilinx.com/picoblaze
- Click on 'PicoBlaze for Spartan-3, Virtex-II, and Virtex-II Pro FPGAs'
- Click on the 'Download' button
- Click on 'Create an Account' button

Cheers,
Shalin-

Allan Herriman wrote:
> On Thu, 17 Jun 2004 10:18:38 -0300, "INS122595" > <walter@chasque.apc.org> wrote: > > >>Check the latest version KCPSM3, I don't use Verilog but the assembler have >>a Verilog rom form. > > > Hi Walter, do you know where I can download KCPSM3? The Xilinx site > requires a user name and password, but I can't find a page that will > allow me to register (again). > > Regards, > Allan.
On Thu, 17 Jun 2004 07:29:26 -0700, Shalin Sheth
<Shalin.Sheth@xilinx.com> wrote:

>Allan, > >To register and download Picoblaze3: >- Goto http://www.xilinx.com/picoblaze >- Click on 'PicoBlaze for Spartan-3, Virtex-II, and Virtex-II Pro FPGAs' >- Click on the 'Download' button >- Click on 'Create an Account' button
got it, thanks. First impressions: Picoblaze3 has 16 registers vs 32 for Picoblaze2. Some bugs in kcpsm2.exe are also present in kcpsm3.exe (see webcases #533179 and #533195). Kcpsm3.exe can't compile code that compiles with kcpsm2.exe. (This violates one of the cardinal rules of EDA - don't break existing designs.) The problem seems to be that kcpsm3 doesn't accept register names of the form 's00', which is the only form that kcpsm2 accepts. Regards, Allan.
"Allan Herriman" <allan.herriman.hates.spam@ctam.com.au.invalid> wrote in
message news:drb3d09tn390n8g3m7a0fdebqqapvc20r9@4ax.com...

[snip]

> Some bugs in kcpsm2.exe are also present in kcpsm3.exe (see webcases > #533179 and #533195).
It appears that web case #533195 relates to the DOS 8.3 filename requirements for the KCPSM3 assembler. This is an unfortunate side effect of maintaining compatibility with the widest number of development computers and with the original choice of programming languages to create the KCPSM3 assember. One alternative is to use the more modern Mediatronix pBlazIDE graphical development environment, which is also no charge. The instruction nmemonics are slightly different than the KCPSM3 assembler but the pBlazIDE software has a code import function that reads KCPSM3 code. Furthermore, the pBlazIDE software includes an instruction-set simulator. http://www.mediatronix.com/pBlazeIDE.htm
> Kcpsm3.exe can't compile code that compiles with kcpsm2.exe. (This > violates one of the cardinal rules of EDA - don't break existing > designs.) > The problem seems to be that kcpsm3 doesn't accept register names of > the form 's00', which is the only form that kcpsm2 accepts.
There are some differences between the PicoBlaze controller for the Spartan-3, Virtex-II, and Virtex-II Pro FPGA families and the older version available for just Virtex-II and Virtex-II Pro. The latest incarnation includes two new instructions (COMPARE, TEST) plus a 64-byte scratchpad RAM, although the number of registers dropped back to 16 from 32. You can use the NAMEREG assembler directive to handle the different register assignment. Here's an example. Just add the following code to the start of your NAMEREG s0, s00 ; alias old register name s00 to s0 NAMEREG s1, s01 ; alias old register name s01 to s1 ... NAMEREG sF, s0F ; alias old register name s0F to sF Then the remainder of your code should compile using the old names. However, you still need to adjust the register assignments for the upper 16 registers. --------------------------------- Steven K. Knapp Applications Manager, Xilinx Inc. General Products Division Spartan-3/II/IIE FPGAs http://www.xilinx.com/spartan3 --------------------------------- Spartan-3: Make it Your ASIC
On Thu, 17 Jun 2004 16:29:49 -0700, "Steven K. Knapp"
<steve.knappNO#SPAM@xilinx.com> wrote:

> >"Allan Herriman" <allan.herriman.hates.spam@ctam.com.au.invalid> wrote in >message news:drb3d09tn390n8g3m7a0fdebqqapvc20r9@4ax.com... > >> [Allan calls it a bug] >> > > [Steve calls it a feature]
That's pretty much the response I expected. Regards, Allan.
Dear Steve/Allan:
What would be needed in my Picoblaze IDE to support Verilog. Please
let me know, so when I find the time I can add that.

Regards,
Henk van Kampen