Skocz do zawartości

Oryginalność mikrokontrolerów AVR z Chin


Sabre

Pomocna odpowiedź

Świat nie kończy się na FPGA - które są smutną i przerażająco rozrzutną energetycznie koniecznością. Mając odpowiednie narzędzia możesz kompilować projekty VHDL do masek (korzystasz wtedy z biblioteki konkretnego producenta chipów i konkretnej technologii) lub opisu logicznego (wtedy projekt jest bardziej uniwersalny, ale przeniesienie na krzem kosztuje więcej). Wysyłasz dokumentację plus (obowiązkowy) zestaw testów pozwalających odróżnić chip dobry od złego zanim zostanie wstawiony do obudowy, wpłacasz 10-30kUSD i dostajesz partię kilkudziesięciu sztuk (z jednego wafla) sprawdzonych chipów w próbnych obudowach (najczęściej jakaś ceramika).

Link do komentarza
Share on other sites

marek1707, da się dostać prawdziwe układy z projektu za

10-30kUSD

Spodziewałem się 10x tyle za samo przeczytanie maila szczerze mówiąc.

Dlaczego właściwie FPGA są tak kosztowne prądowo? Długość połączeń pomiędzy bramkami, przełączanie połączeń czy jeszcze co innego?

A przy okazji: jak tylko wydasz książkę to podaj linka, kupię od razu.

Link do komentarza
Share on other sites

"A przy okazji: jak tylko wydasz książkę to podaj linka, kupię od razu."

Też poproszę o jeden egzemplarz 🙂

marek1707:

Przy tak głębokiej wiedzy, nie mam nic do powiedzenie. Jesteś wielki 😉

Nie chciałem Cię denerwować.

[ Dodano: 22-06-2016, 02:49 ]

// na potrzebę www.forbot.pl www.nse.netlook.pl
.include "m328pdef.inc"
.equ ram_L = 0x00
.equ ram_H = 0x01
.equ off_L = 0x00
.equ off_H = 0x01
.equ test  = 0xAA
.equ PORTX = PORTB
.equ DDRx  = DDRB
.org 0x0000 rjmp start

start:
ldi R16,0xFF
out DDRX,R16
ldi R30,ram_L
ldi R31,ram_H
ldi R16,test
ldi R28,off_L
ldi R29,off_H
clr R15
_1:
 ST Z,R16
 LD R17,Z
 CP R17,R16
brne _2
 INC R15 
 ADD R30,R28
 ADC R31,R29
jmp _1
_2:
out PORTX,R15 
jmp start

Pozdrawiam 🙂

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Nie będzie żadnej książki, skąd ten pomysł? Irytują mnie czasem jakieś rzeczy, ale 100km na rowerze z rana usuwa wszelkie brudy z mózgu, polecam.

nse: Dobrze kombinujesz, choć to dopiero pierwsza przymiarka do jakiegoś testu. Nie wiesz jednak, czy dekodowanie RAMu jest pełne, tj, czy ta sama strona/obszar nie powtarza się co jakiś czas. Producenci tego raczej nie specyfikują (ATMEL pisze gdzie RAM jest, ale nie podaje co jest w miejscach gdzie go nie ma) a ten kod na tym polegnie. Wystarczy, że będę miał 1 bajt RAMu widoczny pod każdym adresem i wykrywasz obecność 64K (a test się nie kończy i nie daje żadnego wyniku). Spróbuj zmodyfikować go tak, by zapisywał tylko jedno miejsce, ale sprawdzał wszystkie dotychczas "odwiedzone". W poprzednich powinna być jakaś wartość "tu byłem" inna od aktualnej "tu jestem".

A w ogóle to powinieneś zacząć od testowania RAMu jak czarnej skrzynki mającej N wejściowych linii adresowych i M linii danych. Każda magistrala może mieć w sobie zwarcia i niekontakty. Zastanów się nad testem sprawdzającym poprawność adresowania zadanego obszaru oraz sprawność działania szyny danych. Dopiero wtedy można przejść do sprawdzania błędów kolejnych rodzajów (uszkodzenia bitów konkretnych komórek, zwarcia między bitami w tych samych, sąsiednich i coraz bardziej odległych komórkach a nie na wspólnej szynie, tendencyjność układów odczytu itd).

Ponieważ napisanie tego może zająć trochę czasu i wymaga sporej dozy podejrzliwości, czasem wiele podobnych testów dobrze zastępuje się użyciem sekwencji pseudolosowej. Piszesz sobie jakiś dobry generator o długim okresie i zapisujesz jego wyniki do (całego?) RAMu a potem to sprawdzasz. Powtarzając to w pętli za każdym razem używasz innego posiewu generatora dla pierwszej komórki. Nie jest to test wyczerpujący, ale po wielu przejściach istnieje bardzo mała szansa niewykrycia zwarcia lub uszkodzenia bitu. Im masz więcej czasu tym lepiej, ale to nie produkcja chipów i można się bawić. Dobrze napisana faza odczytu (nie stajemy na pierwszym błędzie) wykrywa też wielkość pamięci.

W każdym razie stoisz na początku drogi a pole do popisu masz ogromne. Do dzieła, czekamy na kolejne, coraz bardziej wyrafinowane testy.

Link do komentarza
Share on other sites

To taki szkic ( rodzynek ) pewnego szerszego zamysłu, taki opensource, mam nadzieje że razem się tym tematem pobawimy ?

Na symulacji ten program działa 😉

Na początku myślałem o wpisaniu danej i sprawdzaniu kiedy obszar pamięci się zawinie, ale potem pomyślałem by zastosować zapis/odczyt i porównanie 🙂

teraz liczy ilość dostępnych stron RAM ta liczba powinna się zawsze zgadzać z liczbą wygenerowaną z sprawnego procesora 😉

Test trwa ok 28uS przy kwarcu 4MHz.

Link do komentarza
Share on other sites

Załóż nowy wątek albo (mam nadzieję) któryś Admin zrobi to za Ciebie. Ten nie jest Twój i nie jest o testach pamięci. Ciekawi jesteśmy Twoich kolejnych osiągnięć na polu rodzynków.

Takie rzeczy źle się symulują bo mają sprawdzać pewnie nieoczywiste cechy sprzętu. Nie wiesz jak symulator oddaje zachowanie procesora w tym zakresie. Pierwszy z brzegu przykład z 1-bajtowym RAMem ogłupiającym Twój test pokazuje, że wyniki z symulatora możesz sobie.. no, wywalić do kosza. Takie testy muszą być bardziej pewne niż hamulce w samochodzie: nie mogą dobrze działać w 99% przypadków a w pozostałym 1% zachowywać się przypadkowo lub wcale. To kompletnie podważa zaufanie i tak naprawdę je dyskwalifikuje. Postaraj się bardziej.

Link do komentarza
Share on other sites

marek1707, pomysł z książką stąd że świetnie tłumaczysz skomplikowane koncepcje dużo mniej wiedzącym osobom i byłoby super gdyby mogło to przeczytać więcej osób i w większej ilości niż tu na forum. Właściwie jeśli o mnie chodzi to może być o czymkolwiek a i tak kupię 😃

Link do komentarza
Share on other sites

marek1707

Masz racje na fizycznym procesorze inaczej działa, jak uporam się ze swoimi zajęciami to do tego tematu wrócę i lepiej go pomęczę, na teorii i symulacji koncepcja działa, a praktyka pokazuje inaczej 🙂

Temat ciekawy warto się nim pobawić i zainteresować jotagiem do tej pory bez niego się obywałem 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.