logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrealizować następujacą funkcję?

narasta 07 Lut 2010 16:58 1107 2
REKLAMA
  • #1 7658158
    narasta
    Poziom 21  
    Jak zrealizować następującą funkcję? konwersja 10bit na 10bit

    
    0		1	0	0	0	0	0	0	0	0	0		->		1	0	0	0	0	0	0	0	0	0
    1		0	1	0	0	0	0	0	0	0	0		->		1	1	0	0	0	0	0	0	0	0
    2		0	0	1	0	0	0	0	0	0	0		->		1	1	1	0	0	0	0	0	0	0
    3		0	0	0	1	0	0	0	0	0	0		->		1	1	1	1	0	0	0	0	0	0
    4		0	0	0	0	1	0	0	0	0	0		->		1	1	1	1	1	0	0	0	0	0
    5		0	0	0	0	0	1	0	0	0	0		->		1	1	1	1	1	1	0	0	0	0
    6		0	0	0	0	0	0	1	0	0	0		->		1	1	1	1	1	1	1	0	0	0
    7		0	0	0	0	0	0	0	1	0	0		->		1	1	1	1	1	1	1	1	0	0
    8		0	0	0	0	0	0	0	0	1	0		->		1	1	1	1	1	1	1	1	1	0
    9		0	0	0	0	0	0	0	0	0	1		->		1	1	1	1	1	1	1	1	1	1
    


    Czy da się to jakoś prosto uzyskać, czy nie opłaca się w tym momencie bawić w układy logiczne tylko od razu wziąć jakiś prosty mikrokontroler?
  • REKLAMA
  • #2 7659991
    Dr.Vee
    VIP Zasłużony dla elektroda
    To co przedstawiłeś jest opisem funkcji częściowej. Przyjmując, że dla innych wartości wejścia wyjście może być dowolne (don't care) możesz tą funkcję zrealizować jako:
    y(n) = x(0)           dla n = 0
    y(n) = y(n-1) OR x(n) dla n > 0
    

    gdzie n jest numerem bitu licząc od prawej.

    Pozdrawiam,
    Dr.Vee
  • #3 7671334
    shg
    Poziom 35  
    ~(x - 1)

    Po polsku: negacja wartości wejściowej zmniejszonej o 1.
REKLAMA