[CALU] Re: Wir können und sollten uns einen zyklus bei teuren alu ops sparen

  • From: Martin Elshuber <e9825286@xxxxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Mon, 24 May 2010 15:49:47 +0200

ad r15)
das problem habe ich gelöst (ich habs ja auch verursacht)

das problem war das aufgrund falscher logik bei PRED_FLAGS die werte von
p_pos, p_neg nicht geschrieben wurden
in diesem speziellen fall war das problem bei
 andbf r15,r15,0
=> rd=15 => p_pos=15, p_neg=>0
folglich wurde p15=pZ nicht geschrieben, was eine endlos schleife zu folge hatte.

die notwendigen änderungen waren alle in
  .../src/predicate/predicate_register_arch.vhd

ich habe sie ins "iomapped" zurück gepushed.

gibt es eine möglichkeit diese änderung in alle branches zu übernhemen?

lg martin

Martin Elshuber wrote:
ad r15)
hab mir das mal angesehen und denke das ich das problem eingränzen kann

in der schleife wird pZ=p15 und r15 verwenden ich denke das da irgendwas in der predikaten logik was nicht passt,
ich werd mir das ansehen

lg martin

Benedikt Huber wrote:

On 23.05.2010, at 18:20, Günther Wimpassinger wrote:

Zitat von Benedikt Huber <benedikt@xxxxxxxxxxxxxxxxxx>:

p.s.: Mit dem Prozessor in HEAD funktioniert modelsim nicht (sim/ pisp_template)

Wo genau liegt das Problem? Der Assembler muss als "$CALUROOT/assembler/asm/asmbin" existieren. Mit HEAD ist ja "remote/origin/master" gemeint, oder?
Hallo Guenther,
pipeline.do funktioniert, danke.
Ich habe noch 2 Probleme (vermutlich bugs im Prozessor):
* r15 funktioniert nicht richtig (siehe iomapped:target/lib/uart.S:uartwaitsend) * iomapped:target/app/sum.S: das high-halfword by ld ist undefiniert (in der benchmark loop)
Ausserdem scheinen der stall/flush counter noch nicht zu stimmen.
lg, benedikt






Other related posts: