PacoBlaze 2.2

P

Pablo Bleyer Kocik

Guest
Dear group:

PacoBlaze 2.2 has been released. This version solves some bugs that
were still lurking in the stack and interrupt manipulation. The cores
have also received more testing, and more debug information has been
added to simulations enabled with the HAS_DEBUG macro. Instructions
also have now a one-hot encoding format that is used when
USE_ONEHOT_ENCODING is defined. Unfortunately, the compatibility with
Icarus Verilog is broken but I am still working on it.

The KCAsm assembler has been tweaked a bit to accept constructs in
the form of the original KCPSM assembler, so that most PSM files
should be accepted with little or no modification.

The PacoBlaze web site is at http://bleyer.org/pacoblaze, where you
can find more information and links to the source distribution.

I can't end this post without referring to the tragic and unexpected
loss of Rodney Smith. My deepest condolences to his family and
friends. He was one of the pioneers and pillars of this industry that
has vamped digital design in a new era. He will be really missed.

Warmest regards.

--
PabloBleyerKocik / "I wish I could sleep in a warm sleeping bag.
pablo / No matter what happens I am going to climb
McKinley."
@bleyer.org / -- Naomi Uemura, 1984
 
On May 29, 3:37 am, Pablo Bleyer Kocik <pabloble...@hotmail.com>
wrote:
Dear group:

PacoBlaze 2.2 has been released. This version solves some bugs that
were still lurking in the stack and interrupt manipulation. The cores
have also received more testing, and more debug information has been
added to simulations enabled with the HAS_DEBUG macro. Instructions
also have now a one-hot encoding format that is used when
USE_ONEHOT_ENCODING is defined. Unfortunately, the compatibility with
Icarus Verilog is broken but I am still working on it.

The KCAsm assembler has been tweaked a bit to accept constructs in
the form of the original KCPSM assembler, so that most PSM files
should be accepted with little or no modification.

The PacoBlaze web site is athttp://bleyer.org/pacoblaze, where you
can find more information and links to the source distribution.

I can't end this post without referring to the tragic and unexpected
loss of Rodney Smith. My deepest condolences to his family and
friends. He was one of the pioneers and pillars of this industry that
has vamped digital design in a new era. He will be really missed.

Warmest regards.

--
PabloBleyerKocik / "I wish I could sleep in a warm sleeping bag.
pablo / No matter what happens I am going to climb
McKinley."
@bleyer.org / -- Naomi Uemura, 1984
Pablo,

I was also wondering if you fixed the issues with the assembler that I
wrote to you about last June?

From email sent to you.
Pablo,

I encountered the follow error:


java -Dkcpsm=3 -Dbram=18 -Dmodule=isp -jar c:/clcfpga2/pacoblaze-2.1b1/
KCAsm.jar isp.psm isp.rmh Exception in thread "main" TokenMgrError:
Lexical error at line 668, column 23. Encountered:
"(" (40), after : ""
at KCAsmTokenManager.getNextToken(KCAsmTokenManager.java:539)
at KCAsm.jj_scan_token(KCAsm.java:629)
at KCAsm.jj_3_15(KCAsm.java:479)
at KCAsm.jj_3R_9(KCAsm.java:466)
at KCAsm.jj_3_17(KCAsm.java:381)
at KCAsm.jj_2_17(KCAsm.java:340)
at KCAsm.Arguments(KCAsm.java:213)
at KCAsm.CommandExpression(KCAsm.java:152)
at KCAsm.Expression(KCAsm.java:100)
at KCAsm.Start(KCAsm.java:84)
at KCAsm.main(KCAsm.java:41)


The line of code that cause this error is pointed to below.
load Areg, seedata0 ; pointer to eeprom parameters
fetch accm, fpwmminus0 ; pwmminus0
--> store accm, (Areg) ;
add Areg, 01 ;

I also noticed that there is a compatibility issue with the Xilinx
kcpsm assembler. It defaults to hex format for numbers while yours
defaults to decimal. This caused some of my constant definitions that
were hex values to give an errors

thanks for you help.

Dave Colson
 
On May 30, 4:14 pm, "dscol...@rcn.com" <dscol...@rcn.com> wrote:
Pablo,

I was also wondering if you fixed the issues with the assembler that I
wrote to you about last June?

From email sent to you.
Hello Dave.

Yes, these issues have been fixed. The assembler now accepts bounded
'()' tokens; just as a visual convenience since they are converted to
regular arguments. The default format is now hexadecimal. If a name is
not found in the environment, and if that word is a valid hex number,
it gets converted to the latter. It's a shame the kcpsm assembler
treats numbers these way, it is not the default format of most
assemblers, and usually numbers in a different radix are decorated in
some way to avoid confusion or a clash with valid labels. KCAsm
supports binary (%) octal (@), decimal (&), and hexadecimal ($)
modifiers.

KCAsm still accepts names only in valid C format - the identifiers
can't start with a number or symbol different to the underscore (_).

Please tell me if you find other issues.

Best regards.

--
PabloBleyerKocik /"But what... is it good for?"
pablo / -- 1968 Engineer at IBM's Advanced Computing
@bleyer.org / Systems Division, commenting on the microchip
 
On May 30, 8:14 pm, Pablo Bleyer Kocik <pabloble...@hotmail.com>
wrote:
On May 30, 4:14 pm, "dscol...@rcn.com" <dscol...@rcn.com> wrote:

Pablo,

I was also wondering if you fixed the issues with the assembler that I
wrote to you about last June?

From email sent to you.

Hello Dave.

Yes, these issues have been fixed. The assembler now accepts bounded
'()' tokens; just as a visual convenience since they are converted to
regular arguments. The default format is now hexadecimal. If a name is
not found in the environment, and if that word is a valid hex number,
it gets converted to the latter. It's a shame the kcpsm assembler
treats numbers these way, it is not the default format of most
assemblers, and usually numbers in a different radix are decorated in
some way to avoid confusion or a clash with valid labels. KCAsm
supports binary (%) octal (@), decimal (&), and hexadecimal ($)
modifiers.

KCAsm still accepts names only in valid C format - the identifiers
can't start with a number or symbol different to the underscore (_).

Please tell me if you find other issues.

Best regards.

--
PabloBleyerKocik /"But what... is it good for?"
pablo / -- 1968 Engineer at IBM's Advanced Computing
@bleyer.org / Systems Division, commenting on the microchip
Pablo,

Thanks for the fixes. However, I Just found another "bug" more of a
compatibility issue. KCPSM allows the following renaming of registers
as follows:
first namereg
namereg s4, clkcnt ; temp register
:
:
later renamed S4. however, KCPSM requires you use the name you renamed
S4 to previously.

namereg clkcnt, DIFF0 ;

Here is the output of KCasm
I don't know if this one will be an easy one the fix.

C:\clcfpga2\PACOBL~1.2\test>asmkcpsm isp

C:\clcfpga2\PACOBL~1.2\test>java -Dkcpsm=3 -Dbram=18 -Dmodule=isp -jar
c:/clcfpga2/pacoblaze-
2.2/KCAsm.jar isp.psm isp.rmh
Exception in thread "main" java.lang.IllegalArgumentException: Bad
register declaration: name
reg(clkcnt,DIFF0) at line 1358
at Assembler.parse(Assembler.java:155)
at Assembler3.<init>(Assembler3.java:55)
at KCAsm.main(KCAsm.java:48)

C:\clcfpga2\PACOBL~1.2\test>

Best regards

Dave
 
On May 31, 10:04 am, "dscol...@rcn.com" <dscol...@rcn.com> wrote:
Pablo,

Thanks for the fixes. However, I Just found another "bug" more of a
compatibility issue. KCPSM allows the following renaming of registers
as follows:
first namereg
namereg s4, clkcnt ; temp register
:
:
later renamed S4. however, KCPSM requires you use the name you renamed
S4 to previously.

namereg clkcnt, DIFF0 ;
Thanks, Dave. I will look into that.

Regards.
 

Welcome to EDABoard.com

Sponsor

Back
Top