Files
DSView-decoders/parallel/__pycache__/pd.cpython-36.pyc
T

40 lines
5.6 KiB
Plaintext
Raw Normal View History

2026-06-18 10:45:25 +08:00
3
,v/dÁ$ã@sFddlZddlmZdd„ZGdd„deƒZdZGdd „d ejƒZdS)
éN)ÚbitpackcCsJddddœg}x2t|ƒD]&}d|d|d|dœ}|j|ƒqWt|ƒS)NÚclkÚCLKz
Clock line)ÚidÚnameÚdesczd%dzD%dz Data line %d)ÚrangeÚappendÚtuple)Ú num_channelsÚlÚiÚd©rú/C:/Program Files/DSView/decoders\parallel\pd.pyÚ channel_list9s
rc@s eZdZdS)Ú ChannelErrorN)Ú__name__Ú
__module__Ú __qualname__rrrrr@sré c@sÊeZdZdZdZdZdZdZdZdgZ dgZ
dgZ e e
ƒZd d
d d5d
dœdddddœdddd6ddœfZd9Zd>Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4S)?ÚDecoderéZparallelZParallelzParallel sync busz!Generic parallel synchronous bus.zgplv2+ÚlogicÚUtilÚ
clock_edgezClock edge to sample onÚrisingÚfallingZdec_parallel_opt_clock_edge)rrÚdefaultÚvaluesÚidnÚwordsizezData wordsize (# bus cycles)rZdec_parallel_opt_wordsize)rrrr Ú
endiannesszData endiannessÚlittleÚbigZdec_parallel_opt_endiannessÚitemsÚItemsÚwordsÚWordsécCs |jƒdS)N)Úreset)ÚselfrrrÚ__init__aszDecoder.__init__cCs:g|_d|_d|_d|_|_d|_d|_d|_d|_dS)NTr) r%Ú
saved_itemÚ
saved_wordÚss_wordÚes_wordÚfirstÚ
have_clockÚprv_dexÚ
num_item_bits)r+rrrr*ds z
Decoder.resetcCs |jtjƒ|_|jtjƒ|_dS)N)ÚregisterÚsrdÚ
OUTPUT_PYTHONÚ
out_pythonÚ
OUTPUT_ANNÚout_ann)r+rrrÚstartnsz
Decoder.startcCs|j|j|j|j|ƒdS)N)Úputr/r0r8)r+ÚdatarrrÚputpwrsz
Decoder.putpwcCs|j|j|j|j|ƒdS)N)r<r/r0r:)r+r=rrrÚputwusz Decoder.putwcCs|j|||j|ƒdS)N)r<r:)r+ÚsÚer=rrrÚput_annxszDecoder.put_anncCs|j|||j|ƒdS)N)r<r8)r+r@rAr=rrrÚput_py{szDecoder.put_pycCs¨|j}|jrV|jsH|j|j|d|jgƒ|j|j|d|jj|jƒggƒd|_||_n<|j|j|d|jgƒ|j|j|d|jj|jƒggƒ||_||_|j ||ƒdS)NÚITEMrF)
Ú samplenumr1r2rCr3r-rBÚfmt_itemÚformatÚ handel_word)r+ÚitemÚcur_dexrrrÚ handle_bits~s  zDecoder.handle_bitscsÔˆjdk rNˆjddkrH|ˆ_ˆjdˆjjˆjƒggƒˆjdˆjgƒdˆ_|dkrZdSˆjsf|ˆ_ˆjj |ƒˆjd}t
ˆjƒ|krŽdSˆjd}|dkrªˆjj ƒt ‡fdd„t
|ƒDƒƒ}|ˆ_gˆ_dS) Nr!rr)ÚWORDr"r$cs g|]}ˆj||ˆj>‘qSr)r%r4)Ú.0r
)r+rrú
<listcomp>´sz'Decoder.handel_word.<locals>.<listcomp>)r.Úoptionsr0r?Úfmt_wordrGr>r%r/r ÚlenÚreverseÚsumr)r+rIrJÚwsZendianÚwordr)r+rrH˜s(
 


zDecoder.handel_wordcCsV|j}|jdkrR|j|j|d|jgƒ|j|j|d|jj|jƒggƒ|jd|ƒdS)NrDr)Úlast_samplenumr-rCr3rBrFrGrH)r+rJrrrÚend¸s

 z Decoder.endc2!sÜtˆjƒ}‡fdd„t|ƒDƒ}dd„|Dƒ}|s:tdƒ‚t|ƒ}ˆjdƒˆ_ˆjˆ_ˆj}|rxˆj dd}d|i}ndd„|Dƒ}|d}|d} ˆj d }
| |
} | d
d } d j
| ƒˆ_ | d
d } d j
| ƒˆ_ | ˆ_
d