Forum: FPGA, VHDL & Co. Open Bench Logic Sniffer - FPGA läuft nicht an


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Wolfgang M. (procrash)


Lesenswert?

Hallo,

soweit ich das von der Dokumentation des OpenBench Logic Sniffers 
entnehmen kann sollte doch nach dem das Board mit Strom versorgt wird 
die Power LED an sein und die ACT Led blinken und dann anschließend aus 
sein, ist das richtig so?

Bei mir (Zustand der Auslieferung) bleibt die ACT Led an, was laut 
Community ein Hinweis darauf ist, dass der FPGA nicht richtig vom PIC 
konfiguriert wurde.

Hat jemand ne Idee wo ich noch den Fehler suchen könnte, oder ist das 
ein Hinweis auf defekte Hardware? Hab den Pic auf Firmware 3.0 geflasht 
und den FPGA mit dem aktuellsten Logic_Sniffer_dynamic_depth_2.12.bit 
geflasht.

Flashen geht gut und beides meldet mir keine Fehler, allerdings der FPGA 
läuft aus irgendeinem Grund nicht an.

Ideen?

von Deutschlehrer (Gast)


Lesenswert?

Soweit ich die Dokumentation von OpenCutLE verstanden habe muss ich auf 
den zweiten Knopf von rechts drücken, um meine Ausgaben zu sehen, leider 
läuft das MMc-Modul nicht an.

Oder anders ausgedrückt:

Vielleicht beschreibst Du Dein Problem mal von vorne.

von Wolfgang M. (procrash)


Lesenswert?

Ok,

nochmal von vorne.
Das Problem dass ich mit dem OpenBench Logic Sniffer habe ist dass mir 
die Software (http://www.lxtreme.nl/ols/ Logic Sniffer 0.9.5) mitteilt 
dass es die Hardware nicht finden kann.

Im Log der Java Logic Sniffer Software kann man dann entdecken dass das 
USB Device eine falsche Hardware ID hat, sobald man das Capturen 
startet:

Folgende Ausgaben sind da vom Java Log relevant:
...
[14.07.12 00:16:15 - INFO  -    LogicSnifferAcquisitionTask]: Starting 
capture ...
[14.07.12 00:16:15 - INFO  -    LogicSnifferAcquisitionTask]: Found 
unknown device: 0x48014603 ...
...
[14.07.12 00:16:15 - WARN  - BackgroundDataAcquisitionService]: 
Acquisition failed!
java.io.IOException: Device not found!
        at 
org.sump.device.logicsniffer.LogicSnifferAcquisitionTask.detectDevice(Lo 
gicSnifferAcquisitionTask.java:844)

Jetzt habe ich versucht den Fehler genauer einzugrenzen um abzuschätzen 
ob es sich um nen Hardwarefehler bei dem LA handelt oder ob ich 
softwaretechnisch vielleicht irgendwas falsch installiert habe bzw. die 
Firmware des Boards evtl. mit der falschen Softwareversion geflasht ist.

Vielleicht hat ja jemand den OpenBench Logic Sniffer von euch und kennt 
das Problem bereits und weiss woran es liegt dass die Sniffer Software 
nicht will.

Die Firmware habe ich übrigens von folgendem Link:
http://www.gadgetfactory.net/logicsniffer/index.php?n=LogicSniffer.Download

Und ich benutze dabei die Windows Version Latest Stable Release is 
Version 3.08.

Was mir bei dem Zip aufgefallen ist, ist dass die Scripte die da 
mitgeliefert werden falsch sind, weil sich das Board geweigert hat Daten 
zu akzeptieren weil beispielsweise Dateien nicht in den richtigen Pfaden 
liegen und das Flasher Programm diese deshalb nicht finden konnte.

Die Scripte die ich zum flashen des Boards verwendet habe sind:
winbin\ols-loader -write -erase -p:com4 
-wB:..\OLS_Upgrader\FPGAROM_2.12\Logic_Sniffer_dynamic_depth_2.12.bit
winbin\ols-loader -boot -p:com4
pause
cd PIC_firmware
fw_update -e -w -m flash -vid 0x04D8 -pid 0xFC90 -ix 
OLSv1.firmware.v3.0.hex
#fw_update -e -w -m flash -vid 0x04D8 -pid 0xFC90 -ix 
OLSv1.04-firmware-v2.3
pause
cd ..
winbin\ols-loader -run -p:com4



So. Hat jetzt jemand ne Idee wie ich auf dem Board testen kann ob der 
FPGA hinüber ist?
Hardwarebeschreibung und ähnliches kann man auf
http://dangerousprototypes.com/2010/02/25/prototype-open-logic-sniffer-logic-analyzer-2/
finden...

Treiber & Co oder ähnliches habe ich gecheckt. Funktioniert soweit 
zumindest.


Das ist das Statement der Anleitung auf die ich mich beziehe in der 
Hardwarebeschreibung beziehe (link siehe oben):
"After a reset, the ACT LED will blink while the FPGA loads the 
bitstream contained in the ROM chip. If the FPGA doesn’t load after a 
few seconds, because of an error or blank ROM chip, the PIC will 
automatically enter ROM update mode and the ACT LED will illuminate (see 
ROM updater below).

The ACT LED will turn off when the FPGA is configured and ready. The OLS 
then enumerates as a USB virtual serial port device. The first time you 
plug it in, you may need to feed Windows the .inf file in the project 
archive to assign driver to the device.

Once enumerated, the ACT LED blinks to indicate any USB activity.

ROM Updater

ROM updater mode is used to program a new FPGA bitstream into the flash 
storage chip.This feature lets us release FPGA design updates that can 
be loaded over the USB interface.

To enter ROM update mode, press the reset button while holding the 
update button. The PIC will also automatically enter ROM update mode if 
the FPGA doesn’t load correctly because of an error or blank ROM chip. 
The ACT LED will light in this mode."

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Du bist nicht zufällig der Fred, der in dem anderen thread mal eben 
schnell Ethernet ans FPGA kleben wollte und es nun über USB probiert?

>Open Bench Logic Sniffer - FPGA läuft nicht an
Was läuft beim FPGA nicht an?

Hast Du mal Signale nach Aussen geführt?

von Wolfgang M. (procrash)


Lesenswert?

Ne, kein Ethernet und auch kein Fred.
Bei mir gehts um nen Open Source Logic Analyzer, der irgendwie nicht 
will.
Und ich will wissen ob ich evtl die falsche Software geladen habe oder 
ob die Hardware defekt ist.

Inwzischen bin ich so weit dass ich mit dem Oszi herausgefunden habe 
dass der FPGA den DONE Pin nicht setzt. Die Frage ist nur jetzt warum 
und was genau beim Laden der Konfiguration passiert.

Vielleicht hat ja jemand von euch den OpenBench Logic Sniffer von 
Dangerous Prototypes und kann mir sagen woran's liegen könnte. Das 
Projekt selbst ist leider schon seit einiger Zeit nicht mehr besonders 
geupdatet worden, und die Software liegt auch ziemlich zerstreut rum, an 
der Hardware wurde wohl ein größeres Flash verbaut, was auf meiner HW 
schon verbaut ist.

Signale sind soweit nach aussen geführt. Ich geh da aber notfalls auch 
direkt mit der Probe vom Oszi dran, ist ein wenig fummelig aber geht 
wenn man aufpasst.

von PittyJ (Gast)


Lesenswert?

Ich hatte auch mal, dass der Done-Pin nicht gesetzt wurde.
Das lag daran, dass das Image (.bin-File) falsch war und nicht zum FPGA 
passte.
Es gibt von den FPGA-Herstellern Dokumente, die beschreiben, was bei der 
Initialisierung abläuft.
z.B. für Xilinx Spartan 6 das Dokument UG-380.

von Robert K. (robident)


Lesenswert?

Eigentlich ist es so, dass das FPGA den donePin solange auf GND zieht, 
bis er geladen ist und dann loslässt.

Es kommt vor, dass manche Programmer oder Prozessoren das nicht 
erkennen, weil der Pegel nicht reicht (zu wenig gepullt) oder die Flanke 
nicht steil genug ist.

von Wolfgang M. (Gast)


Lesenswert?

Hm. Das komische ist, dass der FPGA manchmal anlaeuft und manchmal 
nicht.
Hab ich das Ding in der Plexiglasbox (die ueberigens vom Shopbetreiber 
mit dazu geordert werden kann), so laeuft das Ding so gut wie nie an.
Eigentlich kann ich mir nicht vorstellen das das Ding leitfaehig ist 
(ich hoffe es zumindest).

Hab ich's ausserhalb der Box, so laeuft der FPGA meisstens zwar an, 
spaeter beim capturen des LA hab ich allerdings das problem dass das nur 
in 2 von 5 versuchen erfolgreich klappt.

von Duke Scarring (Gast)


Lesenswert?

Wolfgang M. schrieb:
> Das komische ist, dass der FPGA manchmal anlaeuft und manchmal
> nicht.
Das klingt nach einem unsynchronisierten Reset.
Hast Du Zugriff auf den Designquellcode für das FPGA?

Duke

von Wolfgang M. (Gast)


Lesenswert?

Theoretisch. Bin mir nicht sicher ob's die aktuellste Version ist. Es 
gibt zwei Webseiten, eine etwas aeltere die VHDL Code und Verilog Code 
enthaelt (wurde wohl fuer VHDL zuerst entwickelt und dann auf Verilog 
portiert, siehe 
http://gadgetforge.gadgetfactory.net/gf/project/butterflylogic/scmsvn/)

und dann gibts da noch die etwas aktuellere Website die allerdings die 
Sourcen nicht mehr enthaelt sondern nur noch BIT und MCS Files zum FPGA.

Wozu und wie synchronisiert man denn eigentlich nen Reset in VHDL bzw 
Verilog.

Das sagt mir leider noch gar nichts, da ich bisher nur rudimentaer mal 
VHDL bzw Verilog gesehen habe, aber an Projekten noch nichts damit 
gemacht hab.

von Duke Scarring (Gast)


Lesenswert?

Wolfgang M. schrieb:
> Wozu und wie synchronisiert man denn eigentlich nen Reset in VHDL bzw
> Verilog.
Damit alle Teile der Schaltung zum gleichen Zeitpunkt aus dem Reset 
losgelassen werden.
Dazu findest Du auch genügend Beiträge hier im Forum.

Duke

von Duke Scarring (Gast)


Lesenswert?

Wolfgang M. schrieb:
> http://gadgetforge.gadgetfactory.net/gf/project/bu...)

Wenn in Deinem Projekt dieses File drinsteckt, sieht es sehr nach 
kaputtem Reset aus:
http://gadgetforge.gadgetfactory.net/gf/project/butterflylogic/scmsvn/?action=browse&path=%2Ftrunk%2FVHDL_Core%2Fcore.vhd&view=markup
1
....
2
entity core is
3
    GENERIC
4
    (
5
    MEMORY_DEPTH    : integer := 6
6
    );
7
    Port ( clock    : in STD_LOGIC;
8
           extReset : in STD_LOGIC;
9
10
...
11
12
   reset <= extReset or resetCmd;
13
14
...
15
16
  Inst_trigger: trigger PORT MAP(
17
    input => sample,
18
    inputReady => sampleReady,
19
    data => data,
20
    clock => clock,
21
    reset => reset,
22
...
Verwendet wird der so erzeugte Reset an den Stellen, wo ich geguckt habe 
asynchron :-/

Seit dem ich bei mir einen reset-Synchronizer verwende, habe ich keine 
Probleme mehr mit dem Anlaufen von FPGA-Schaltungen:
1
    signal reset_shreg : std_ulogic_vector(3 downto 0) := (others => '1');
2
3
...
4
5
    reset_synchronizer: process
6
    begin
7
        wait until rising_edge( clk);
8
        reset_shreg <= reset_shreg(reset_shreg'left-1 downto 0) & '0';
9
        reset       <= reset_shreg(reset_shreg'left);
10
        if async_reset = '1' then
11
            reset_shreg <= (others => '1');
12
        end if;
13
    end process;
14
    reset_n <= not reset;

Duke

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

I'm not 100% sure

But i think the java client at : http://www.lxtreme.nl/ols/

Was made to fit the new Verilog Analyzer core from here.
http://dangerousprototypes.com/forum/viewtopic.php?f=23&t=1711

I'm not even sure if the VHDL core is updated anymore.

/Bingo - Dänemark

von Wolfgang M. (procrash)


Lesenswert?

Thanks for the Info Karsten. It get''s more and more confusing now. Can 
you confirm that this is the latest release? I mean there's no 
indication on the website. The official site from gadgetfactory contains 
just the binary stuff. Not the source code. Probably OT now. I'll ask 
the guys from the website to ensure that I have the latest version 
installed.

von Karsten F. (Firma: von Dänemark) (bingo600)


Angehängte Dateien:

Lesenswert?

Wolfgang i use Linux , but did write down how i did the update , see 
attachment.

I have a v1.04 from (Watterrot) , but still used this PIC firmware.
OLSv1.firmware.v3.0.hex

I think the V2.12 FPGA sw you use are the "Old Sump"
See here : 
http://dangerousprototypes.com/docs/Logic_Sniffer:_Feature_status


I use the logic_sniffer_3.07-Demon-Core.bit for the FPGA

I got the images from this package : 
http://github.com/downloads/GadgetFactory/OpenBench-Logic-Sniffer/ols-0308-expert.tgz

But i guess they are teh same in the windows version.


Btw: You do know the forum don't you ?
http://dangerousprototypes.com/forum/viewforum.php?f=23

Ohh ... Verilog source (#.07) is here (Bottom):
http://dangerousprototypes.com/forum/viewtopic.php?f=23&t=1711#p16505

Direct link
http://dangerousprototypes.com/forum/download/file.php?id=3635

Just above the source , tehere is a word and pdf file with the doc for 
the new functions of the Verilog core.

/Bingo

von Wolfgang M. (procrash)


Lesenswert?

Hi Karsten,

thanks for the quick reply. The problems which I have pop up with the 
3.07 version on the FPGA. How do I determine the HW revision of the PCB?
Is there any print on the board to spot the HW revision?

 Mine has a different flash than the one mentioned from 
dangerousprototypes. It seems to be a 1MB version if I'm looking in the 
correct datasheet of the chip. I bought it from skpang 
(http://www.skpang.co.uk/catalog/openbench-logic-sniffer-p-899.html).

If I put the PCB in the case also offered from the shop 
(http://www.skpang.co.uk/catalog/acrylic-case-for-openbench-logic-sniffer-p-901.html) 
the FPGA seems to have problems to start up.

If I start the FPGA outside the case it runs but has the already 
mentioned capturing hickups (where 2-3 out of 5 trials fail with an 
Device not found error):

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

The version is printed on the PCB (You can even see it on the skpang 
pict)
http://www.skpang.co.uk/catalog/index.php?main_page=popup_image&pID=899

I think you are right about a HW defect.

Try t get another from skpang , or get one from here
http://www.watterott.com/de/Open-Logic-Sniffer

But it seems a bit strange , that you can program the PIC & FPGA.
But not pass the selftest .....

From your post here it seems like your W25X80 is detected & used fine
http://dangerousprototypes.com/forum/viewtopic.php?f=23&t=4307

I just started my OLS , and i get som short blinking in ACT , and then 
it turns off. I then have constant light in power and in the last "red 
one" towards the IO pins .. Does it say RUN ?

I haven't started the Java client

/Bingo

von Wolfgang M. (procrash)


Lesenswert?

Hi, should have spotted version myself beforehand. The board is shipped 
in already. Hope that I they swap it for me.

Had some trials until I found out that the 3.07 is the correct one for 
my FPGA Board.
The reason why the ACT LED stayed on was the wrong firmware inside the 
FPGA.
If I load it with (Logic_Sniffer_dynamic_depth_2.12.bit) everything is 
fine besides the connection problems which arise.

ACT LED goes off, and I can run the capture process, but I get those no 
deterministic behaviour where sometimes the FPGA works and sometimes 
not.

You don't think that the Case can be a problem too for the board? That 
was my first concern when I saw that it didn't work at all inside the 
case.

Probably a soldering problem, but I didn't want to go over with the 
solder tip and resolder the stuff as I was unsure if the shop does the 
swap as soon as it's recognized that touched it.

Let's hope the best that they swap it.
Do you know what has changed on the hw design in v1.04?

I'm still hoping that they will introduce some life capture that I can 
forward the stuff in realtime to my computer with the drawback of 
capture speed as the memory doesn't seem to be very huge on that 
board...

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

They do mention to try another USB cable or even another USB Port.

But as you have the strange error when mounting it in a case , i'd say a 
solder defect on the board.

/Bingo

von Wolfgang M. (procrash)


Lesenswert?

Yeah also think so. Tried it out on different ports already. Didn't swap 
the cables but I don't think it's the source of the problem as the cable 
I used works fine with other equipment.

Let's see...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.