Behöver hjälp med ett VHDL-problem!

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Jennie
Inlägg: 173
Blev medlem: 8 februari 2014, 13:23:00

Behöver hjälp med ett VHDL-problem!

Inlägg av Jennie »

Hej!
Finns det någon som kan hjälpa till med ett litet VHDL-problem här som jag inte kan få bukt med?

Jag vill att en signal som heter "switches" ska sändas in i nåt av de 5 registerna (från MR3 till MR7) som jag har i min kod nedan. Vilket register som det sänds in i avgörs av min signal "buttons", registret ska sedan sättas samman med en byte av 0:or för att bilda ett 16-bit tal och slutligen sändas ut på en signal som heter DataBusR.

Problemet är att det bara fungerar för ett enda register i min simulering och inte de övriga, även fast koden är identisk! Vad kan vara fel? :(

Test
Bild
Ser att det händer nåt när BTN0 går hög men 3 bits blir odefinierade och bara BTN2 fungerar och sänder ut värdet på Switcharna till Data_Out.

Kod
Bild
Senast redigerad av Jennie 20 november 2016, 18:59:12, redigerad totalt 2 gånger.
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Re: Behöver hjälp med ett VHDL-problem!

Inlägg av arte »

Några fel:

1. Buttons finns inte med i den sensitivity list. Så ändring i buttons triggar inte processen
2. Vet inte om det är meningen men MR3->MR7 är inte inom CLOCK'EVENT så de är inte register, bara signaler. (MR0 till MR2 är register=
3. Du skriver till DataOUTR på rad 119 och 91-99. Så det inom rad 91-99 är obsolete
4. På rad 199 har du MR5 flera gånger, MR6 och MR7 nämns inte.

Lite tips:
- I klockade processer behöver du bara ha CLK och RESET i sensitivity list. Därimot i combinatoriska processer behöver du ha alla signaler sensitivity list
- Ingen använder VHDL, lär dig verilog.
Jennie
Inlägg: 173
Blev medlem: 8 februari 2014, 13:23:00

Re: Behöver hjälp med ett VHDL-problem!

Inlägg av Jennie »

Tack så mycket för svar arte! :) :tumupp:

Intressant att du säger att ingen använder VHDL, för det är det som jag fått lära mig på utbildningen till elektroing. och det är så som jag börjat leka med det. Märkligt att de inte har lärt ut Verilog istället, men som tur verkar det inte vara särskilt stort hopp till Verilog från VHDL när jag har kikat på det så...

Men okej! Jag försökte ändra lite i koden nu som du tipsade om (och tog bort det som är irrelevant för problemet här). Men problemet kvarstår tyvärr. Har försökt ändra lite hur som i "sensitivity list" med det tycks inte ändra något. Det verkar ju vara något konstigt med den här raden:
"D prövat att ändra den på olika sätt men ja, problemet kvarstår.

Simulering: Här på bilden ses alltså att allting kommer ut på utgången DataOutr först när BTN4 blir hög, men tokigt nog så sänder den då ut resultatet kopplat till registret MR3 (istället för MR7, som ju hör till BTN4). Övriga knappar funkar inte heller. Hur kan jag fixa det?
Bild
Senast redigerad av Jennie 20 november 2016, 18:59:35, redigerad totalt 2 gånger.
Användarvisningsbild
AndLi
Inlägg: 17116
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Behöver hjälp med ett VHDL-problem!

Inlägg av AndLi »

Jag försökte hitta en verilog och fpga grundkurs. Men det fanns inte utan det fick bli en vhdl istället eftersom det var det alla efterfrågade.

VHDL sas så för ca 90% i Europa...

Iof används verilog på jobbet, så det verkar bero på vem man frågar...
Jennie
Inlägg: 173
Blev medlem: 8 februari 2014, 13:23:00

Re: Behöver hjälp med ett VHDL-problem!

Inlägg av Jennie »

EDIT: Fick det till att fungera nu! Tack för hjälp igen arte
Shimonu
Inlägg: 295
Blev medlem: 21 oktober 2015, 22:44:33

Re: Behöver hjälp med ett VHDL-problem!

Inlägg av Shimonu »

Vad var problemet då?
Skriv svar