Organized the documentation, corrected and extended the entries. The original

datasheet has been broken up into individual pages;  these can be recast into
sphinx or HTML as needed, while the graphics have been exported to SVG.
This commit is contained in:
Tim Edwards 2021-12-16 17:32:38 -05:00
parent 6f80be7ea8
commit ccd0a19af7
19 changed files with 5430 additions and 0 deletions

View File

@ -0,0 +1,834 @@
%!PS-Adobe-3.0
%%Title: counter_timer_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:19:33 2021
%%Pages: 2
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: counter_timer 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1088 640 translate
0.678 1.000 0.184 scb
512 1.000 -896 1280 -896 -448 352 -448 352 1280 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -896 1248 label
1 1.000 -896 1232 352 1232 2 polygon
(page 15) {/Helvetica cf} 2 31 0.000 0.700 336 1264 label
(Counter-Timer 0) {/Helvetica-Bold cf} 2 16 0.000 0.700 -896 1200 label
0 1.000 -848 928 -848 976 176 976 176 928 4 polygon
1 1.000 -816 928 -816 880 2 polygon
1 1.000 -784 928 -784 880 2 polygon
1 1.000 -752 928 -752 880 2 polygon
1 1.000 -720 928 -720 880 2 polygon
1 1.000 -688 928 -688 880 2 polygon
1 1.000 -656 928 -656 880 2 polygon
1 1.000 -624 928 -624 880 2 polygon
1 1.000 -592 928 -592 880 2 polygon
1 1.000 -560 928 -560 880 2 polygon
1 1.000 -528 928 -528 880 2 polygon
1 1.000 -496 928 -496 880 2 polygon
1 1.000 -464 928 -464 880 2 polygon
1 1.000 -432 928 -432 880 2 polygon
1 1.000 -400 928 -400 880 2 polygon
1 1.000 -368 928 -368 880 2 polygon
1 1.000 -304 928 -304 880 2 polygon
1 1.000 -272 928 -272 880 2 polygon
1 1.000 -240 928 -240 880 2 polygon
1 1.000 -208 928 -208 880 2 polygon
1 1.000 -176 928 -176 880 2 polygon
1 1.000 -144 928 -144 880 2 polygon
1 1.000 -112 928 -112 880 2 polygon
1 1.000 -80 928 -80 880 2 polygon
1 1.000 -48 928 -48 880 2 polygon
1 1.000 -16 928 -16 880 2 polygon
1 1.000 16 928 16 880 2 polygon
1 1.000 48 928 48 880 2 polygon
1 1.000 80 928 80 880 2 polygon
1 1.000 112 928 112 880 2 polygon
1 1.000 144 928 144 880 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 160 904 label
(1) {/Helvetica cf} 2 21 0.000 0.500 128 904 label
(2) {/Helvetica cf} 2 21 0.000 0.500 96 904 label
(3) {/Helvetica cf} 2 21 0.000 0.500 64 904 label
0.600 0.600 0.600 scb
(4) {/Helvetica cf} 2 21 0.000 0.500 32 904 label
(5) {/Helvetica cf} 2 21 0.000 0.500 0 904 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -32 904 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -64 904 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -96 904 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -128 904 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -160 904 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -192 904 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -224 904 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -256 904 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -288 904 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -320 904 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -352 904 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -384 904 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -416 904 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -448 904 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -480 904 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -512 904 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -544 904 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -576 904 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -608 904 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -640 904 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -672 904 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -704 904 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -736 904 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -768 904 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -800 904 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -832 904 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 208 912 label
(0x22000000) {/Courier-Bold cf} 2 16 0.000 0.700 -32 992 label
1 1.000 -80 976 -80 1024 2 polygon
1 1.000 -592 976 -592 1024 2 polygon
1 1.000 -848 1024 -848 976 2 polygon
1 1.000 176 1024 176 976 2 polygon
1 1.000 176 928 176 880 2 polygon
1 1.000 -848 928 -848 880 2 polygon
0.600 0.600 0.600 scb
(0x22000001) {/Courier-Bold cf} 2 16 360.000 0.700 -288 992 label
(0x22000002) {/Courier-Bold cf} 2 16 0.000 0.700 -544 992 label
(0x22000003) {/Courier-Bold cf} 2 16 0.000 0.700 -800 992 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 256 992 label
(value) {/Helvetica cf} 2 20 0.000 0.700 208 960 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -448 944 label
1 1.000 -848 1024 176 1024 2 polygon
1 1.000 -848 880 176 880 2 polygon
(reg_timer0_config) {/Courier-Bold cf} 2 16 0.000 0.700 -432 1040 label
1 1.000 -80 976 -80 928 2 polygon
1 1.000 -336 1024 -336 976 2 polygon
1 1.000 -336 928 -336 880 2 polygon
(Timer config) {/Helvetica cf} 2 17 360.000 0.700 48 944 label
(Table 16) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -848 1040 label
0 1.000 -848 400 -848 448 176 448 176 400 4 polygon
1 1.000 -816 400 -816 352 2 polygon
1 1.000 -784 400 -784 352 2 polygon
1 1.000 -752 400 -752 352 2 polygon
1 1.000 -720 400 -720 352 2 polygon
1 1.000 -688 400 -688 352 2 polygon
1 1.000 -656 400 -656 352 2 polygon
1 1.000 -624 400 -624 352 2 polygon
1 1.000 -592 400 -592 352 2 polygon
1 1.000 -560 400 -560 352 2 polygon
1 1.000 -528 400 -528 352 2 polygon
1 1.000 -496 400 -496 352 2 polygon
1 1.000 -464 400 -464 352 2 polygon
1 1.000 -432 400 -432 352 2 polygon
1 1.000 -400 400 -400 352 2 polygon
1 1.000 -368 400 -368 352 2 polygon
1 1.000 -304 400 -304 352 2 polygon
1 1.000 -272 400 -272 352 2 polygon
1 1.000 -240 400 -240 352 2 polygon
1 1.000 -208 400 -208 352 2 polygon
1 1.000 -176 400 -176 352 2 polygon
1 1.000 -144 400 -144 352 2 polygon
1 1.000 -112 400 -112 352 2 polygon
1 1.000 -80 400 -80 352 2 polygon
1 1.000 -48 400 -48 352 2 polygon
1 1.000 -16 400 -16 352 2 polygon
1 1.000 16 400 16 352 2 polygon
1 1.000 48 400 48 352 2 polygon
1 1.000 80 400 80 352 2 polygon
1 1.000 112 400 112 352 2 polygon
1 1.000 144 400 144 352 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 160 376 label
(1) {/Helvetica cf} 2 21 0.000 0.500 128 376 label
(2) {/Helvetica cf} 2 21 0.000 0.500 96 376 label
(3) {/Helvetica cf} 2 21 0.000 0.500 64 376 label
(4) {/Helvetica cf} 2 21 0.000 0.500 32 376 label
(5) {/Helvetica cf} 2 21 0.000 0.500 0 376 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -32 376 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -64 376 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -96 376 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -128 376 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -160 376 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -192 376 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -224 376 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -256 376 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -288 376 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -320 376 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -352 376 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -384 376 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -416 376 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -448 376 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -480 376 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -512 376 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -544 376 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -576 376 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -608 376 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -640 376 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -672 376 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -704 376 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -736 376 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -768 376 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -800 376 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -832 376 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 208 384 label
(0x22000004) {/Courier-Bold cf} 2 16 0.000 0.700 -32 464 label
1 1.000 -80 448 -80 496 2 polygon
1 1.000 -592 448 -592 496 2 polygon
1 1.000 -848 496 -848 448 2 polygon
1 1.000 176 496 176 448 2 polygon
1 1.000 176 400 176 352 2 polygon
1 1.000 -848 400 -848 352 2 polygon
(address) {/Helvetica cf} 2 17 0.000 0.700 256 464 label
(value) {/Helvetica cf} 2 20 0.000 0.700 208 432 label
1 1.000 -848 496 176 496 2 polygon
1 1.000 -848 352 176 352 2 polygon
(reg_timer0_value) {/Courier-Bold cf} 2 16 360.000 0.700 -432 512 label
1 1.000 -336 496 -336 448 2 polygon
1 1.000 -336 400 -336 352 2 polygon
(Table 17) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -848 512 label
0 1.000 -848 96 -848 144 176 144 176 96 4 polygon
1 1.000 -816 96 -816 48 2 polygon
1 1.000 -784 96 -784 48 2 polygon
1 1.000 -752 96 -752 48 2 polygon
1 1.000 -720 96 -720 48 2 polygon
1 1.000 -688 96 -688 48 2 polygon
1 1.000 -656 96 -656 48 2 polygon
1 1.000 -624 96 -624 48 2 polygon
1 1.000 -592 96 -592 48 2 polygon
1 1.000 -560 96 -560 48 2 polygon
1 1.000 -528 96 -528 48 2 polygon
1 1.000 -496 96 -496 48 2 polygon
1 1.000 -464 96 -464 48 2 polygon
1 1.000 -432 96 -432 48 2 polygon
1 1.000 -400 96 -400 48 2 polygon
1 1.000 -368 96 -368 48 2 polygon
1 1.000 -304 96 -304 48 2 polygon
1 1.000 -272 96 -272 48 2 polygon
1 1.000 -240 96 -240 48 2 polygon
1 1.000 -208 96 -208 48 2 polygon
1 1.000 -176 96 -176 48 2 polygon
1 1.000 -144 96 -144 48 2 polygon
1 1.000 -112 96 -112 48 2 polygon
1 1.000 -80 96 -80 48 2 polygon
1 1.000 -48 96 -48 48 2 polygon
1 1.000 -16 96 -16 48 2 polygon
1 1.000 16 96 16 48 2 polygon
1 1.000 48 96 48 48 2 polygon
1 1.000 80 96 80 48 2 polygon
1 1.000 112 96 112 48 2 polygon
1 1.000 144 96 144 48 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 160 72 label
(1) {/Helvetica cf} 2 21 0.000 0.500 128 72 label
(2) {/Helvetica cf} 2 21 0.000 0.500 96 72 label
(3) {/Helvetica cf} 2 21 0.000 0.500 64 72 label
(4) {/Helvetica cf} 2 21 0.000 0.500 32 72 label
(5) {/Helvetica cf} 2 21 0.000 0.500 0 72 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -32 72 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -64 72 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -96 72 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -128 72 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -160 72 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -192 72 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -224 72 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -256 72 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -288 72 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -320 72 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -352 72 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -384 72 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -416 72 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -448 72 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -480 72 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -512 72 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -544 72 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -576 72 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -608 72 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -640 72 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -672 72 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -704 72 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -736 72 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -768 72 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -800 72 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -832 72 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 208 80 label
(0x22000008) {/Courier-Bold cf} 2 16 0.000 0.700 -32 160 label
1 1.000 -80 144 -80 192 2 polygon
1 1.000 -592 144 -592 192 2 polygon
1 1.000 -848 192 -848 144 2 polygon
1 1.000 176 192 176 144 2 polygon
1 1.000 176 96 176 48 2 polygon
1 1.000 -848 96 -848 48 2 polygon
(0x22000009) {/Courier-Bold cf} 2 16 360.000 0.700 -288 160 label
(0x2200000a) {/Courier-Bold cf} 2 16 0.000 0.700 -544 160 label
(0x2200000b) {/Courier-Bold cf} 2 16 0.000 0.700 -800 160 label
(address) {/Helvetica cf} 2 17 0.000 0.700 256 160 label
(value) {/Helvetica cf} 2 20 0.000 0.700 208 128 label
1 1.000 -848 192 176 192 2 polygon
1 1.000 -848 48 176 48 2 polygon
(reg_timer0_data) {/Courier-Bold cf} 2 16 360.000 0.700 -432 208 label
1 1.000 -336 192 -336 144 2 polygon
1 1.000 -336 96 -336 48 2 polygon
(Table 18) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -848 208 label
(Timer value) {/Helvetica cf} 2 17 0.000 0.700 -336 416 label
(0x22000005) {/Courier-Bold cf} 2 16 0.000 0.700 -288 464 label
(0x22000006) {/Courier-Bold cf} 2 16 0.000 0.700 -544 464 label
(0x22000007) {/Courier-Bold cf} 2 16 0.000 0.700 -800 464 label
(Timer data) {/Helvetica cf} 2 17 0.000 0.700 -336 112 label
(Timer configuration bit definitions) {/Helvetica cf} 2 16 0.000 0.700 -848 832
label
1 1.000 -848 816 176 816 2 polygon
(Bit 3) {/Helvetica cf} 2 16 0.000 0.700 -848 784 label
(Bit 2) {/Helvetica cf} 2 16 0.000 0.700 -848 720 label
(Bit 1) {/Helvetica cf} 2 16 0.000 0.700 -848 656 label
(Bit 0) {/Helvetica cf} 2 16 0.000 0.700 -848 592 label
(Counter/timer enable) {/Helvetica cf} 2 16 0.000 0.700 -736 784 label
(1 = counter/timer enabled) {/Helvetica cf} 2 16 0.000 0.700 -352 784 label
(0 = counter/timer disabled) {/Helvetica cf} 2 16 0.000 0.700 -352 752 label
(Oneshot mode) {/Helvetica cf} 2 16 0.000 0.700 -736 720 label
(1 = oneshot mode) {/Helvetica cf} 2 16 0.000 0.700 -352 720 label
(0 = continuous mode) {/Helvetica cf} 2 16 0.000 0.700 -352 688 label
(Updown) {/Helvetica cf} 2 16 0.000 0.700 -736 656 label
(1 = count up) {/Helvetica cf} 2 16 0.000 0.700 -352 656 label
(0 = count down) {/Helvetica cf} 2 16 0.000 0.700 -352 624 label
(Interrupt enable) {/Helvetica cf} 2 16 0.000 0.700 -736 592 label
(1 = interrupt enabled) {/Helvetica cf} 2 16 0.000 0.700 -352 592 label
(0 = interrupt disabled) {/Helvetica cf} 2 16 0.000 0.700 -352 560 label
(MHz, the longest single time interval is 26.84 seconds.) {qS}
(core clock rate of 80) {CR}
(variety of timing functions including one-shot counts, continuous timing, and interval interrupts. At a)
{CR}
(The counter/timer is a general-purpose 32-bit adder and subtractor that can be configured for a)
{/Helvetica cf} 8 28 0.000 0.700 -896 1168 label
(register is read-write and can be used to reset the timer.) {CR}
(The value in this register is the current value of the counter. Value is 32 bits. The)
{/Helvetica cf} 4 28 0.000 0.700 -848 320 label
(The value in this register is the reset value for the comparator.)
{/Helvetica cf} 2 28 0.000 0.700 -848 16 label
(reg_timer_value register.) {CR}
(timer in a hold state. When re-enabled, counting resumes. To reset the timer, write zero to the)
{CR}
(Note: When the counter/timer is disabled, the reg_timer_value remains unchanged, which puts the)
{/Helvetica cf} 6 16 0.000 0.700 -896 -432 label
(If counting down, the count continues until the counter reaches zero.) {CR}
(the counter is enabled. If counting up, the count continues until the counter reaches reg_timer_data.)
{CR}
(When enabled, the counter counts up or down from the value set in reg_timer_value at the time)
{/Helvetica cf} 6 28 0.000 0.700 -896 -48 label
(reaches the value of reg_timer_data \(up count\) or zero \(down count\), and stops.)
{CR}
(In one-shot mode, the counter triggers an interrupt \(IRQ channel 10; see next page\) when it)
{/Helvetica cf} 4 28 0.000 0.700 -896 -272 label
(the counter will generate an interrupt on every cycle.) {CR}
(reg_timer_data if counting down, and the count continues immediately. If the interrupt is enabled,)
{CR}
(In continuous mode, the counter resets to zero if counting up, and resets to the value in)
{/Helvetica cf} 6 28 0.000 0.700 -896 -160 label
pgsave restore showpage
%%Page: caravel_datasheet 2
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1024 352 translate
0.678 1.000 0.184 scb
512 1.000 -832 1568 -832 -160 416 -160 416 1568 4 polygon
sce
1 1.000 -832 1520 416 1520 2 polygon
(page 16) {/Helvetica cf} 2 31 0.000 0.700 400 1552 label
(Counter-Timer 1) {/Helvetica-Bold cf} 2 16 0.000 0.700 -832 1488 label
0 1.000 -784 1216 -784 1264 240 1264 240 1216 4 polygon
1 1.000 -752 1216 -752 1168 2 polygon
1 1.000 -720 1216 -720 1168 2 polygon
1 1.000 -688 1216 -688 1168 2 polygon
1 1.000 -656 1216 -656 1168 2 polygon
1 1.000 -624 1216 -624 1168 2 polygon
1 1.000 -592 1216 -592 1168 2 polygon
1 1.000 -560 1216 -560 1168 2 polygon
1 1.000 -528 1216 -528 1168 2 polygon
1 1.000 -496 1216 -496 1168 2 polygon
1 1.000 -464 1216 -464 1168 2 polygon
1 1.000 -432 1216 -432 1168 2 polygon
1 1.000 -400 1216 -400 1168 2 polygon
1 1.000 -368 1216 -368 1168 2 polygon
1 1.000 -336 1216 -336 1168 2 polygon
1 1.000 -304 1216 -304 1168 2 polygon
1 1.000 -240 1216 -240 1168 2 polygon
1 1.000 -208 1216 -208 1168 2 polygon
1 1.000 -176 1216 -176 1168 2 polygon
1 1.000 -144 1216 -144 1168 2 polygon
1 1.000 -112 1216 -112 1168 2 polygon
1 1.000 -80 1216 -80 1168 2 polygon
1 1.000 -48 1216 -48 1168 2 polygon
1 1.000 -16 1216 -16 1168 2 polygon
1 1.000 16 1216 16 1168 2 polygon
1 1.000 48 1216 48 1168 2 polygon
1 1.000 80 1216 80 1168 2 polygon
1 1.000 112 1216 112 1168 2 polygon
1 1.000 144 1216 144 1168 2 polygon
1 1.000 176 1216 176 1168 2 polygon
1 1.000 208 1216 208 1168 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 224 1192 label
(1) {/Helvetica cf} 2 21 0.000 0.500 192 1192 label
(2) {/Helvetica cf} 2 21 0.000 0.500 160 1192 label
(3) {/Helvetica cf} 2 21 0.000 0.500 128 1192 label
0.600 0.600 0.600 scb
(4) {/Helvetica cf} 2 21 0.000 0.500 96 1192 label
(5) {/Helvetica cf} 2 21 0.000 0.500 64 1192 label
(6) {/Helvetica cf} 2 21 0.000 0.500 32 1192 label
(7) {/Helvetica cf} 2 21 0.000 0.500 0 1192 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -32 1192 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -64 1192 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -96 1192 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -128 1192 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -160 1192 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -192 1192 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -224 1192 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -256 1192 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -288 1192 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -320 1192 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -352 1192 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -384 1192 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -416 1192 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -448 1192 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -480 1192 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -512 1192 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -544 1192 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -576 1192 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -608 1192 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -640 1192 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -672 1192 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -704 1192 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -736 1192 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -768 1192 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 272 1200 label
(0x23000000) {/Courier-Bold cf} 2 16 0.000 0.700 32 1280 label
1 1.000 -16 1264 -16 1312 2 polygon
1 1.000 -528 1264 -528 1312 2 polygon
1 1.000 -784 1312 -784 1264 2 polygon
1 1.000 240 1312 240 1264 2 polygon
1 1.000 240 1216 240 1168 2 polygon
1 1.000 -784 1216 -784 1168 2 polygon
0.600 0.600 0.600 scb
(0x23000001) {/Courier-Bold cf} 2 16 360.000 0.700 -224 1280 label
(0x23000002) {/Courier-Bold cf} 2 16 0.000 0.700 -480 1280 label
(0x23000003) {/Courier-Bold cf} 2 16 0.000 0.700 -736 1280 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 320 1280 label
(value) {/Helvetica cf} 2 20 0.000 0.700 272 1248 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -384 1232 label
1 1.000 -784 1312 240 1312 2 polygon
1 1.000 -784 1168 240 1168 2 polygon
(reg_timer1_config) {/Courier-Bold cf} 2 16 0.000 0.700 -368 1328 label
1 1.000 -16 1264 -16 1216 2 polygon
1 1.000 -272 1312 -272 1264 2 polygon
1 1.000 -272 1216 -272 1168 2 polygon
(Timer config) {/Helvetica cf} 2 17 360.000 0.700 112 1232 label
(Table 19) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -784 1328 label
0 1.000 -784 688 -784 736 240 736 240 688 4 polygon
1 1.000 -752 688 -752 640 2 polygon
1 1.000 -720 688 -720 640 2 polygon
1 1.000 -688 688 -688 640 2 polygon
1 1.000 -656 688 -656 640 2 polygon
1 1.000 -624 688 -624 640 2 polygon
1 1.000 -592 688 -592 640 2 polygon
1 1.000 -560 688 -560 640 2 polygon
1 1.000 -528 688 -528 640 2 polygon
1 1.000 -496 688 -496 640 2 polygon
1 1.000 -464 688 -464 640 2 polygon
1 1.000 -432 688 -432 640 2 polygon
1 1.000 -400 688 -400 640 2 polygon
1 1.000 -368 688 -368 640 2 polygon
1 1.000 -336 688 -336 640 2 polygon
1 1.000 -304 688 -304 640 2 polygon
1 1.000 -240 688 -240 640 2 polygon
1 1.000 -208 688 -208 640 2 polygon
1 1.000 -176 688 -176 640 2 polygon
1 1.000 -144 688 -144 640 2 polygon
1 1.000 -112 688 -112 640 2 polygon
1 1.000 -80 688 -80 640 2 polygon
1 1.000 -48 688 -48 640 2 polygon
1 1.000 -16 688 -16 640 2 polygon
1 1.000 16 688 16 640 2 polygon
1 1.000 48 688 48 640 2 polygon
1 1.000 80 688 80 640 2 polygon
1 1.000 112 688 112 640 2 polygon
1 1.000 144 688 144 640 2 polygon
1 1.000 176 688 176 640 2 polygon
1 1.000 208 688 208 640 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 224 664 label
(1) {/Helvetica cf} 2 21 0.000 0.500 192 664 label
(2) {/Helvetica cf} 2 21 0.000 0.500 160 664 label
(3) {/Helvetica cf} 2 21 0.000 0.500 128 664 label
(4) {/Helvetica cf} 2 21 0.000 0.500 96 664 label
(5) {/Helvetica cf} 2 21 0.000 0.500 64 664 label
(6) {/Helvetica cf} 2 21 0.000 0.500 32 664 label
(7) {/Helvetica cf} 2 21 0.000 0.500 0 664 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -32 664 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -64 664 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -96 664 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -128 664 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -160 664 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -192 664 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -224 664 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -256 664 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -288 664 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -320 664 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -352 664 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -384 664 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -416 664 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -448 664 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -480 664 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -512 664 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -544 664 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -576 664 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -608 664 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -640 664 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -672 664 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -704 664 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -736 664 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -768 664 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 272 672 label
(0x23000004) {/Courier-Bold cf} 2 16 0.000 0.700 32 752 label
1 1.000 -16 736 -16 784 2 polygon
1 1.000 -528 736 -528 784 2 polygon
1 1.000 -784 784 -784 736 2 polygon
1 1.000 240 784 240 736 2 polygon
1 1.000 240 688 240 640 2 polygon
1 1.000 -784 688 -784 640 2 polygon
(address) {/Helvetica cf} 2 17 0.000 0.700 320 752 label
(value) {/Helvetica cf} 2 20 0.000 0.700 272 720 label
1 1.000 -784 784 240 784 2 polygon
1 1.000 -784 640 240 640 2 polygon
(reg_timer1_value) {/Courier-Bold cf} 2 16 360.000 0.700 -368 800 label
1 1.000 -272 784 -272 736 2 polygon
1 1.000 -272 688 -272 640 2 polygon
(Table 20) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -784 800 label
0 1.000 -784 384 -784 432 240 432 240 384 4 polygon
1 1.000 -752 384 -752 336 2 polygon
1 1.000 -720 384 -720 336 2 polygon
1 1.000 -688 384 -688 336 2 polygon
1 1.000 -656 384 -656 336 2 polygon
1 1.000 -624 384 -624 336 2 polygon
1 1.000 -592 384 -592 336 2 polygon
1 1.000 -560 384 -560 336 2 polygon
1 1.000 -528 384 -528 336 2 polygon
1 1.000 -496 384 -496 336 2 polygon
1 1.000 -464 384 -464 336 2 polygon
1 1.000 -432 384 -432 336 2 polygon
1 1.000 -400 384 -400 336 2 polygon
1 1.000 -368 384 -368 336 2 polygon
1 1.000 -336 384 -336 336 2 polygon
1 1.000 -304 384 -304 336 2 polygon
1 1.000 -240 384 -240 336 2 polygon
1 1.000 -208 384 -208 336 2 polygon
1 1.000 -176 384 -176 336 2 polygon
1 1.000 -144 384 -144 336 2 polygon
1 1.000 -112 384 -112 336 2 polygon
1 1.000 -80 384 -80 336 2 polygon
1 1.000 -48 384 -48 336 2 polygon
1 1.000 -16 384 -16 336 2 polygon
1 1.000 16 384 16 336 2 polygon
1 1.000 48 384 48 336 2 polygon
1 1.000 80 384 80 336 2 polygon
1 1.000 112 384 112 336 2 polygon
1 1.000 144 384 144 336 2 polygon
1 1.000 176 384 176 336 2 polygon
1 1.000 208 384 208 336 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 224 360 label
(1) {/Helvetica cf} 2 21 0.000 0.500 192 360 label
(2) {/Helvetica cf} 2 21 0.000 0.500 160 360 label
(3) {/Helvetica cf} 2 21 0.000 0.500 128 360 label
(4) {/Helvetica cf} 2 21 0.000 0.500 96 360 label
(5) {/Helvetica cf} 2 21 0.000 0.500 64 360 label
(6) {/Helvetica cf} 2 21 0.000 0.500 32 360 label
(7) {/Helvetica cf} 2 21 0.000 0.500 0 360 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -32 360 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -64 360 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -96 360 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -128 360 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -160 360 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -192 360 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -224 360 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -256 360 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -288 360 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -320 360 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -352 360 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -384 360 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -416 360 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -448 360 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -480 360 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -512 360 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -544 360 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -576 360 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -608 360 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -640 360 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -672 360 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -704 360 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -736 360 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -768 360 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 272 368 label
(0x23000008) {/Courier-Bold cf} 2 16 0.000 0.700 32 448 label
1 1.000 -16 432 -16 480 2 polygon
1 1.000 -528 432 -528 480 2 polygon
1 1.000 -784 480 -784 432 2 polygon
1 1.000 240 480 240 432 2 polygon
1 1.000 240 384 240 336 2 polygon
1 1.000 -784 384 -784 336 2 polygon
(0x23000009) {/Courier-Bold cf} 2 16 360.000 0.700 -224 448 label
(0x2300000a) {/Courier-Bold cf} 2 16 0.000 0.700 -480 448 label
(0x2300000b) {/Courier-Bold cf} 2 16 0.000 0.700 -736 448 label
(address) {/Helvetica cf} 2 17 0.000 0.700 320 448 label
(value) {/Helvetica cf} 2 20 0.000 0.700 272 416 label
1 1.000 -784 480 240 480 2 polygon
1 1.000 -784 336 240 336 2 polygon
(reg_timer1_data) {/Courier-Bold cf} 2 16 360.000 0.700 -368 496 label
1 1.000 -272 480 -272 432 2 polygon
1 1.000 -272 384 -272 336 2 polygon
(Table 21) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -784 496 label
(Timer value) {/Helvetica cf} 2 17 0.000 0.700 -272 704 label
(0x23000005) {/Courier-Bold cf} 2 16 0.000 0.700 -224 752 label
(0x23000006) {/Courier-Bold cf} 2 16 0.000 0.700 -480 752 label
(0x23000007) {/Courier-Bold cf} 2 16 0.000 0.700 -736 752 label
(Timer data) {/Helvetica cf} 2 17 0.000 0.700 -272 400 label
(Timer configuration bit definitions) {/Helvetica cf} 2 16 0.000 0.700 -784
1120 label
1 1.000 -784 1104 240 1104 2 polygon
(Bit 3) {/Helvetica cf} 2 16 0.000 0.700 -784 1072 label
(Bit 2) {/Helvetica cf} 2 16 0.000 0.700 -784 1008 label
(Bit 1) {/Helvetica cf} 2 16 0.000 0.700 -784 944 label
(Bit 0) {/Helvetica cf} 2 16 0.000 0.700 -784 880 label
(Counter/timer enable) {/Helvetica cf} 2 16 0.000 0.700 -672 1072 label
(1 = counter/timer enabled) {/Helvetica cf} 2 16 0.000 0.700 -288 1072 label
(0 = counter/timer disabled) {/Helvetica cf} 2 16 0.000 0.700 -288 1040 label
(Oneshot mode) {/Helvetica cf} 2 16 0.000 0.700 -672 1008 label
(1 = oneshot mode) {/Helvetica cf} 2 16 0.000 0.700 -288 1008 label
(0 = continuous mode) {/Helvetica cf} 2 16 0.000 0.700 -288 976 label
(Updown) {/Helvetica cf} 2 16 0.000 0.700 -672 944 label
(1 = count up) {/Helvetica cf} 2 16 0.000 0.700 -288 944 label
(0 = count down) {/Helvetica cf} 2 16 0.000 0.700 -288 912 label
(Interrupt enable) {/Helvetica cf} 2 16 0.000 0.700 -672 880 label
(1 = interrupt enabled) {/Helvetica cf} 2 16 0.000 0.700 -288 880 label
(0 = interrupt disabled) {/Helvetica cf} 2 16 0.000 0.700 -288 848 label
(register is read-write and can be used to reset the timer.) {CR}
(The value in this register is the current value of the counter. Value is 32 bits. The)
{/Helvetica cf} 4 28 0.000 0.700 -784 608 label
(The value in this register is the reset value for the comparator.)
{/Helvetica cf} 2 28 0.000 0.700 -784 304 label
(reg_timer_value register.) {CR}
(timer in a hold state. When re-enabled, counting resumes. To reset the timer, write zero to the)
{CR}
(Note: When the counter/timer is disabled, the reg_timer_value remains unchanged, which puts the)
{/Helvetica cf} 6 16 0.000 0.700 -832 -144 label
(If counting down, the count continues until the counter reaches zero.) {CR}
(the counter is enabled. If counting up, the count continues until the counter reaches reg_timer_data.)
{CR}
(When enabled, the counter counts up or down from the value set in reg_timer_value at the time)
{/Helvetica cf} 6 28 0.000 0.700 -832 240 label
(reaches the value of reg_timer_data \(up count\) or zero \(down count\), and stops.)
{CR}
(In one-shot mode, the counter triggers an interrupt \(IRQ channel 11; see next page\) when it)
{/Helvetica cf} 4 28 0.000 0.700 -832 16 label
(the counter will generate an interrupt on every cycle.) {CR}
(reg_timer_data if counting down, and the count continues immediately. If the interrupt is enabled,)
{CR}
(In continuous mode, the counter resets to zero if counting up, and resets to the value in)
{/Helvetica cf} 6 28 0.000 0.700 -832 128 label
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -832 1536 label
(addresses for the controls, as shown in the tables below.) {CR}
(The second counter/timer is functionally identical to the first, with different memory mapped)
{/Helvetica cf} 4 28 0.000 0.700 -832 1472 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,819 @@
%!PS-Adobe-3.0
%%Title: gpio_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:18:27 2021
%%Pages: 2
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Times-Roman Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
/analog::resistor {
begingate
1 1.000 0 64 0 36 2 polygon
1 1.000 0 -64 0 -36 2 polygon
1 1.000 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon
1.000 0.000 0.000 scb
(r.1) {/Times-Roman cf} 2 9 0.000 1.000 0 64 pinlabel
(r.2) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
0.180 0.545 0.341 scb
(spice:R%i %pr.1 %pr.2 1.0K) {/Times-Roman cf} 2 0 0.000 1.000 -208 -160
infolabel
(sim:r %pr.1 %pr.2) {/Times-Roman cf} 2 0 0.000 1.000 -208 -208 infolabel
endgate
} def
/generic::circle {
% trivial
begingate
1 1.000 16 0 6 0.000 360.000 xcarc
1 1.000 0 0 10 0 2 polygon
1.000 0.000 0.000 scb
(out) {/Times-Roman cf} 2 4 -0.000 1.000 16 0 pinlabel
(out) {/Times-Roman cf} 2 7 -0.000 1.000 0 0 pinlabel
endgate
} def
/generic::arrowhead {
% nonetwork
begingate
8 -28 beginpath
3 -18 3 -15 0 0 curveto
-3 -15 -3 -18 -8 -28 curveto
-2 -26 2 -26 8 -28 curveto
249
1.000 endpath
endgate
} def
/analog::switch {
% trivial
begingate
1 1.300 32 32 2 -43 2 polygon
1 0.600 0 -48 57 49.000 90.000 xcarc
-1.000 /sv 90.000 0 -64 generic::circle
0.600 /sv 270.000 -12 8 generic::arrowhead
1.000 90.000 0 48 generic::circle
1.000 0.000 0.000 scb
(sw.1) {/Times-Roman cf} 2 9 0.000 1.000 0 48 pinlabel
(sw.2) {/Times-Roman cf} 2 13 0.000 1.000 0 -64 pinlabel
endgate
} def
/generic::dot {
% trivial
begingate
248 1.000 0 0 6 0.000 360.000 xcarc
1.000 0.000 0.000 scb
(x) {/Times-Roman cf} 2 29 -0.000 1.000 0 0 pinlabel
endgate
} def
/analog::vdd {
% trivial
begingate
1 1.000 0 0 0 32 2 polygon
1 1.000 -32 32 32 32 2 polygon
(Vdd) {/Times-Roman cf} 2 17 0.000 0.900 0 38 label
0.933 0.604 0.000 scb
(Vdd) {/Times-Roman cf} 2 13 0.000 1.000 0 0 pinglobal
endgate
} def
/analog::gnd {
% trivial
begingate
1 1.000 0 0 0 -32 2 polygon
1 1.000 -32 -32 32 -32 2 polygon
1 1.000 -18 -46 18 -46 2 polygon
1 1.000 -4 -60 4 -60 2 polygon
0.933 0.604 0.000 scb
(GND) {/Times-Roman cf} 2 1 0.000 1.000 0 0 pinglobal
endgate
} def
/digital::buffer {
% trivial
begingate
0 1.000 -32 -40 -32 40 40 0 3 polygon
1 1.000 -32 0 -48 0 2 polygon
1 1.000 40 0 64 0 2 polygon
1.000 0.000 0.000 scb
(Out) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
(In) {/Times-Roman cf} 2 7 0.000 1.000 -48 0 pinlabel
endgate
} def
%%EndSetup
%%Page: gpio1 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1184 960 translate
0.600 0.600 0.600 scb
0 1.000 -912 -32 -912 480 -368 480 -368 -32 4 polygon
0.800 0.800 0.800 scb
0 1.000 -320 -256 -320 16 208 16 208 -256 4 polygon
0.678 1.000 0.184 scb
512 1.000 -992 960 -992 -768 256 -768 256 960 4 polygon
sce
(Functional Description) {/Helvetica-Bold cf} 2 16 0.000 0.700 -992 928 label
1 1.000 -992 912 256 912 2 polygon
(GPIO \(pin E10\)) {/Helvetica cf} 2 16 0.000 0.700 -480 864 label
(General Purpose I/O) {/Helvetica-Bold cf} 2 16 0.000 0.700 -992 864 label
( are immediate. ) {/Helvetica cf} (reg_gpio_data) {/Helvetica-Bold cf}
(All reads from ) {CR} (are registered.) {/Helvetica cf} (reg_gpio_data )
{/Courier-Bold cf}
(The basic function of the GPIO is illustrated below. All writes to )
{/Helvetica cf} 12 16 0.000 0.700 -992 624 label
(0x21000000) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -416 label
(GPIO input/output \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700 -352 -416
label
(0x21000004) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -496 label
(GPIO output enable \(0 = output, 1 = input\)) {/Helvetica cf} 2 16 0.000 0.700
-352 -496 label
(0x21000008) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -544 label
(GPIO pullup enable \(1 = pullup, 0 = none\)) {/Helvetica cf} 2 16 0.000 0.700
-352 -544 label
(0x2100000c) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -592 label
(GPIO pulldown enable \(1 = pulldown, 0 = none\)) {/Helvetica cf} 2 16 0.000
0.700 -352 -592 label
(reg_gpio_data) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -416 label
(reg_gpio_ena) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -496 label
(reg_gpio_pu) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -544 label
(reg_gpio_pd) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -592 label
(GPIO memory address map:) {/Helvetica cf} 2 16 0.000 0.700 -976 -320 label
(Pin) {/Helvetica cf} 2 23 0.000 0.700 -928 224 label
0.750 0.000 -736 368 analog::resistor
0.750 0.000 -736 80 analog::resistor
0.750 0.000 -736 288 analog::switch
1 1.000 -736 240 -736 208 2 polygon
1.000 0.000 -736 224 generic::dot
0.750 0.000 -736 176 analog::switch
0.750 0.000 -736 416 analog::vdd
0.750 0.000 -736 32 analog::gnd
0 1.000 -896 176 -896 272 -800 272 -800 176 4 polygon
1 1.000 -896 176 -800 272 2 polygon
1 1.000 -896 272 -800 176 2 polygon
(reg_gpio_pu) {/Courier-Bold cf} 2 16 0.000 0.700 -704 256 label
(reg_gpio_pd) {/Courier-Bold cf} 2 20 0.000 0.700 -704 160 label
(reg_gpio_data) {/Courier-Bold cf} 2 16 0.000 0.700 -16 192 label
-1.000 0.000 -416 288 digital::buffer
1 1.000 -416 312 -416 448 2 polygon
(reg_gpio_ena) {/Courier-Bold cf} 2 16 0.000 0.700 -312 440 label
1 1.000 -480 288 -496 288 -496 224 3 polygon
1.000 0.000 -496 224 generic::dot
1 1.000 -336 320 -336 256 -272 224 -272 352 -336 320 5 polygon
1 1.000 -80 -128 -80 -32 -144 0 -144 -160 -80 -128 5 polygon
1 1.000 -336 288 -368 288 2 polygon
1 1.000 -304 336 -304 384 -208 384 3 polygon
1 1.000 -272 320 -112 320 2 polygon
1 1.000 -272 256 -208 256 2 polygon
(0x2f000000) {/Courier-Bold cf} 2 16 360.000 0.700 -576 -640 label
(PLL clock output destination \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700
-352 -640 label
(0x2f000004) {/Courier-Bold cf} 2 16 360.000 0.700 -576 -688 label
(Trap output destination \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700 -352
-688 label
(0x2f000008) {/Courier-Bold cf} 2 16 360.000 0.700 -576 -736 label
(IRQ 7 input source \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700 -352 -736
label
(GPIO output readback \(16th bit\)) {/Helvetica cf} 2 16 0.000 0.700 -352 -448
label
1 1.000 -800 224 -496 224 2 polygon
1 1.000 -496 224 -496 64 -32 64 3 polygon
1.000 90.000 -48 64 generic::arrowhead
-1.000 270.000 -192 192 generic::arrowhead
1 1.000 -320 448 -416 448 2 polygon
(I/O pad) {/Helvetica-Oblique cf} 2 28 0.000 0.700 -896 464 label
1 1.000 -144 192 -208 192 -208 256 3 polygon
(reg_pll_out_dest) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -640 label
(reg_trap_out_dest) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -688 label
(reg_irq7_source) {/Courier-Bold cf} 2 16 0.000 0.700 -976 -736 label
(address) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -576 -368 label
(description) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -352 -368 label
(C header name) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -976 -368 label
1 1.000 -976 -384 240 -384 2 polygon
(function data bit) {/Helvetica-Oblique cf} 2 20 0.000 0.700 -96 320 label
(function data enable) {/Helvetica-Oblique cf} 2 20 0.000 0.700 -192 384 label
(0) {/Helvetica cf} 2 21 0.000 0.700 -288 256 label
(1) {/Helvetica cf} 2 21 0.000 0.700 -288 320 label
0 1.000 -144 160 -144 224 -80 224 -80 160 4 polygon
(register) {/Helvetica-Oblique cf} 2 17 0.000 0.700 -112 240 label
1 1.000 -80 192 -32 192 2 polygon
1 1.000 -208 64 -208 -32 -144 -32 3 polygon
1 1.000 -112 -144 -112 -208 2 polygon
(IRQ select) {/Helvetica-Oblique cf} 2 29 0.000 0.700 -112 -224 label
1 1.000 -144 -128 -224 -128 2 polygon
1 1.000 -144 -96 -224 -96 2 polygon
1 1.000 -144 -64 -224 -64 2 polygon
(0) {/Helvetica cf} 2 23 0.000 0.700 -240 -128 label
1.000 0.000 -208 64 generic::dot
1 1.000 -352 288 -352 128 -32 128 3 polygon
1.000 90.000 -48 128 generic::arrowhead
1.000 0.000 -352 288 generic::dot
1 1.000 -80 -80 0 -80 2 polygon
(IRQ channel) {/Helvetica-Oblique cf} 2 20 0.000 0.700 16 -80 label
-1.000 270.000 -80 192 generic::arrowhead
(reg_gpio_data) {/Courier-Bold cf} 2 16 0.000 0.700 -16 128 label
(\(read, 16th bit\)) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -16 96 label
(\(read, low bit\)) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -16 32 label
(reg_gpio_data) {/Courier-Bold cf} 2 16 0.000 0.700 -16 64 label
(0) {/Helvetica cf} 2 21 0.000 0.700 -128 -128 label
(other IRQ sources) {/Helvetica-Oblique cf} 2 23 0.000 0.700 -240 -80 label
1 1.000 -96 -208 -96 -136 2 polygon
(Figure 1. GPIO channel structure) {/Helvetica-Oblique cf} 2 16 0.000 0.700
-976 -256 label
0.800 0.800 0.800 scb
224 1.000 -992 -272 -992 496 256 496 256 -272 4 polygon
sce
(page 5) {/Helvetica cf} 2 31 0.000 0.700 240 944 label
(\(see Tables TBD\)) {/Helvetica cf} 2 20 0.000 0.700 -144 352 label
(\(see Table TBD\)) {/Helvetica cf} 2 19 0.000 0.700 -176 -176 label
(user area power supplies.) {CR}
(with the completed user projects, this pin is used to enable the voltage regulators generating the)
{CR}
(the management SoC and cannot be assigned to the user project area. On the test board provided)
{CR}
(The GPI pin is a single assignable general-purpose digital input or output that is available only to)
{/Helvetica cf} 8 28 0.000 0.700 -992 816 label
pgsave restore showpage
%%Page: gpio2 2
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 992 992 translate
0.678 1.000 0.184 scb
512 1.000 -800 928 -800 -800 448 -800 448 928 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -800 896 label
1 1.000 -800 880 448 880 2 polygon
(GPIO description, continued.) {/Helvetica cf} 2 16 0.000 0.700 -800 832 label
0 1.000 -752 496 -752 544 272 544 272 496 4 polygon
1 1.000 -720 496 -720 448 2 polygon
1 1.000 -688 496 -688 448 2 polygon
1 1.000 -656 496 -656 448 2 polygon
1 1.000 -624 496 -624 448 2 polygon
1 1.000 -592 496 -592 448 2 polygon
1 1.000 -560 496 -560 448 2 polygon
1 1.000 -528 496 -528 448 2 polygon
1 1.000 -496 496 -496 448 2 polygon
1 1.000 -464 496 -464 448 2 polygon
1 1.000 -432 496 -432 448 2 polygon
1 1.000 -400 496 -400 448 2 polygon
1 1.000 -368 496 -368 448 2 polygon
1 1.000 -336 496 -336 448 2 polygon
1 1.000 -304 496 -304 448 2 polygon
1 1.000 -272 496 -272 448 2 polygon
1 1.000 -240 592 -240 448 2 polygon
1 1.000 -208 496 -208 448 2 polygon
1 1.000 -176 496 -176 448 2 polygon
1 1.000 -144 496 -144 448 2 polygon
1 1.000 -112 496 -112 448 2 polygon
1 1.000 -80 496 -80 448 2 polygon
1 1.000 -48 496 -48 448 2 polygon
1 1.000 -16 496 -16 448 2 polygon
1 1.000 16 496 16 448 2 polygon
1 1.000 48 496 48 448 2 polygon
1 1.000 80 496 80 448 2 polygon
1 1.000 112 496 112 448 2 polygon
1 1.000 144 496 144 448 2 polygon
1 1.000 176 496 176 448 2 polygon
1 1.000 208 496 208 448 2 polygon
1 1.000 240 496 240 448 2 polygon
(reg_gpio_data) {/Courier-Bold cf} 2 16 0.000 0.700 -336 608 label
(0) {/Helvetica cf} 2 21 0.000 0.500 256 472 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 224 472 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 472 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 472 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 472 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 472 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 472 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 472 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 472 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 472 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 472 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 472 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 472 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 472 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 472 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 472 label
sce
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 472 label
0.600 0.600 0.600 scb
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 472 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 472 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 472 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 472 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 472 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 472 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 472 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 472 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 472 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 472 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 472 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 472 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 472 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 472 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 472 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 480 label
(0x21000000) {/Courier-Bold cf} 2 16 0.000 0.700 64 560 label
1 1.000 16 544 16 592 2 polygon
1 1.000 -496 544 -496 592 2 polygon
1 1.000 -752 592 -752 544 2 polygon
1 1.000 272 592 272 544 2 polygon
1 1.000 272 496 272 448 2 polygon
1 1.000 -752 496 -752 448 2 polygon
(0x21000001) {/Courier-Bold cf} 2 16 0.000 0.700 -192 560 label
(0x21000002) {/Courier-Bold cf} 2 16 0.000 0.700 -448 560 label
(0x21000003) {/Courier-Bold cf} 2 16 0.000 0.700 -704 560 label
(address) {/Helvetica cf} 2 17 0.000 0.700 352 560 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 528 label
(GPIO output readback) {/Helvetica cf} 2 17 0.000 0.700 -496 512 label
(GPIO input/output) {/Helvetica cf} 2 17 0.000 0.700 16 512 label
1 1.000 -752 592 272 592 2 polygon
1 1.000 -752 448 272 448 2 polygon
0 1.000 -752 96 -752 144 272 144 272 96 4 polygon
1 1.000 -720 96 -720 48 2 polygon
1 1.000 -688 96 -688 48 2 polygon
1 1.000 -656 96 -656 48 2 polygon
1 1.000 -624 96 -624 48 2 polygon
1 1.000 -592 96 -592 48 2 polygon
1 1.000 -560 96 -560 48 2 polygon
1 1.000 -528 96 -528 48 2 polygon
1 1.000 -496 96 -496 48 2 polygon
1 1.000 -464 96 -464 48 2 polygon
1 1.000 -432 96 -432 48 2 polygon
1 1.000 -400 96 -400 48 2 polygon
1 1.000 -368 96 -368 48 2 polygon
1 1.000 -336 96 -336 48 2 polygon
1 1.000 -304 96 -304 48 2 polygon
1 1.000 -272 96 -272 48 2 polygon
1 1.000 -240 192 -240 48 2 polygon
1 1.000 -208 96 -208 48 2 polygon
1 1.000 -176 96 -176 48 2 polygon
1 1.000 -144 96 -144 48 2 polygon
1 1.000 -112 96 -112 48 2 polygon
1 1.000 -80 96 -80 48 2 polygon
1 1.000 -48 96 -48 48 2 polygon
1 1.000 -16 96 -16 48 2 polygon
1 1.000 16 96 16 48 2 polygon
1 1.000 48 96 48 48 2 polygon
1 1.000 80 96 80 48 2 polygon
1 1.000 112 96 112 48 2 polygon
1 1.000 144 96 144 48 2 polygon
1 1.000 176 96 176 48 2 polygon
1 1.000 208 96 208 48 2 polygon
1 1.000 240 96 240 48 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 72 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 224 72 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 72 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 72 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 72 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 72 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 72 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 72 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 72 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 72 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 72 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 72 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 72 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 72 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 72 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 72 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 72 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 72 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 72 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 72 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 72 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 72 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 72 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 72 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 72 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 72 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 72 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 72 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 72 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 72 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 72 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 72 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 80 label
(0x21000004) {/Courier-Bold cf} 2 16 0.000 0.700 64 160 label
1 1.000 16 144 16 192 2 polygon
1 1.000 -496 144 -496 192 2 polygon
1 1.000 -752 192 -752 144 2 polygon
1 1.000 272 192 272 144 2 polygon
1 1.000 272 96 272 48 2 polygon
1 1.000 -752 96 -752 48 2 polygon
(0x21000005) {/Courier-Bold cf} 2 16 0.000 0.700 -192 160 label
0.600 0.600 0.600 scb
(0x21000006) {/Courier-Bold cf} 2 16 0.000 0.700 -448 160 label
(0x21000007) {/Courier-Bold cf} 2 16 0.000 0.700 -704 160 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 352 160 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 128 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -496 112 label
(GPIO output enable) {/Helvetica cf} 2 17 0.000 0.700 16 112 label
1 1.000 -752 192 272 192 2 polygon
1 1.000 -752 48 272 48 2 polygon
(Writing to the address low bit always sets the registered value at the GPIO.)
{/Helvetica cf} 2 16 0.000 0.700 -752 368 label
(Writing to address bit 16 has no effect.) {/Helvetica cf} 2 16 0.000 0.700
-752 336 label
(Reading from the address low bit reads the value at the chip pin.)
{/Helvetica cf} 2 16 0.000 0.700 -752 304 label
(Reading from address bit 16 reads the value at the multiplexer output \(see diagram\).)
{/Helvetica cf} 2 16 0.000 0.700 -752 272 label
(Bit 0 corresponds to the GPIO channel enable.) {/Helvetica cf} 2 16 0.000
0.700 -752 0 label
(reg_gpio_ena) {/Courier-Bold cf} 2 16 0.000 0.700 -336 208 label
(or one 8-bit byte.) {CR}
(instruction and data type, the entire 32-bit register can be read in one instruction, or one 16-bit word,)
{CR}
(to the data bus width of the wishbone bus. Addresses, however, are in bytes. Depending on the)
{CR}
(In the memory-mapped register descriptions below, each register is shown as 32 bits corresponding)
{/Helvetica cf} 8 16 0.000 0.700 -800 688 label
(Bit value 1 indicates an output channel; 0 indicates an input.)
{/Helvetica cf} 2 16 0.000 0.700 -752 -32 label
0 1.000 -752 -224 -752 -176 272 -176 272 -224 4 polygon
1 1.000 -720 -224 -720 -272 2 polygon
1 1.000 -688 -224 -688 -272 2 polygon
1 1.000 -656 -224 -656 -272 2 polygon
1 1.000 -624 -224 -624 -272 2 polygon
1 1.000 -592 -224 -592 -272 2 polygon
1 1.000 -560 -224 -560 -272 2 polygon
1 1.000 -528 -224 -528 -272 2 polygon
1 1.000 -496 -224 -496 -272 2 polygon
1 1.000 -464 -224 -464 -272 2 polygon
1 1.000 -432 -224 -432 -272 2 polygon
1 1.000 -400 -224 -400 -272 2 polygon
1 1.000 -368 -224 -368 -272 2 polygon
1 1.000 -336 -224 -336 -272 2 polygon
1 1.000 -304 -224 -304 -272 2 polygon
1 1.000 -272 -224 -272 -272 2 polygon
1 1.000 -240 -128 -240 -272 2 polygon
1 1.000 -208 -224 -208 -272 2 polygon
1 1.000 -176 -224 -176 -272 2 polygon
1 1.000 -144 -224 -144 -272 2 polygon
1 1.000 -112 -224 -112 -272 2 polygon
1 1.000 -80 -224 -80 -272 2 polygon
1 1.000 -48 -224 -48 -272 2 polygon
1 1.000 -16 -224 -16 -272 2 polygon
1 1.000 16 -224 16 -272 2 polygon
1 1.000 48 -224 48 -272 2 polygon
1 1.000 80 -224 80 -272 2 polygon
1 1.000 112 -224 112 -272 2 polygon
1 1.000 144 -224 144 -272 2 polygon
1 1.000 176 -224 176 -272 2 polygon
1 1.000 208 -224 208 -272 2 polygon
1 1.000 240 -224 240 -272 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 -248 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 224 -248 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 -248 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 -248 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 -248 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 -248 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 -248 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 -248 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 -248 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 -248 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 -248 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 -248 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 -248 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 -248 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 -248 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 -248 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 -248 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 -248 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 -248 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 -248 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 -248 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 -248 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 -248 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 -248 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 -248 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 -248 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 -248 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 -248 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 -248 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 -248 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 -248 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 -248 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 -240 label
(0x21000008) {/Courier-Bold cf} 2 16 0.000 0.700 64 -160 label
1 1.000 16 -176 16 -128 2 polygon
1 1.000 -496 -176 -496 -128 2 polygon
1 1.000 -752 -128 -752 -176 2 polygon
1 1.000 272 -128 272 -176 2 polygon
1 1.000 272 -224 272 -272 2 polygon
1 1.000 -752 -224 -752 -272 2 polygon
(0x21000009) {/Courier-Bold cf} 2 16 360.000 0.700 -192 -160 label
0.600 0.600 0.600 scb
(0x2100000a) {/Courier-Bold cf} 2 16 0.000 0.700 -448 -160 label
(0x2100000b) {/Courier-Bold cf} 2 16 0.000 0.700 -704 -160 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 352 -160 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 -192 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -496 -208 label
(GPIO pin pull-up) {/Helvetica cf} 2 17 0.000 0.700 16 -208 label
1 1.000 -752 -128 272 -128 2 polygon
1 1.000 -752 -272 272 -272 2 polygon
(Bit value 1 indicates pullup is active; 0 indicates pullup inactive.)
{/Helvetica cf} 2 16 0.000 0.700 -752 -352 label
(reg_gpio_pu) {/Courier-Bold cf} 2 16 0.000 0.700 -336 -112 label
0 1.000 -752 -544 -752 -496 272 -496 272 -544 4 polygon
1 1.000 -720 -544 -720 -592 2 polygon
1 1.000 -688 -544 -688 -592 2 polygon
1 1.000 -656 -544 -656 -592 2 polygon
1 1.000 -624 -544 -624 -592 2 polygon
1 1.000 -592 -544 -592 -592 2 polygon
1 1.000 -560 -544 -560 -592 2 polygon
1 1.000 -528 -544 -528 -592 2 polygon
1 1.000 -496 -544 -496 -592 2 polygon
1 1.000 -464 -544 -464 -592 2 polygon
1 1.000 -432 -544 -432 -592 2 polygon
1 1.000 -400 -544 -400 -592 2 polygon
1 1.000 -368 -544 -368 -592 2 polygon
1 1.000 -336 -544 -336 -592 2 polygon
1 1.000 -304 -544 -304 -592 2 polygon
1 1.000 -272 -544 -272 -592 2 polygon
1 1.000 -240 -448 -240 -592 2 polygon
1 1.000 -208 -544 -208 -592 2 polygon
1 1.000 -176 -544 -176 -592 2 polygon
1 1.000 -144 -544 -144 -592 2 polygon
1 1.000 -112 -544 -112 -592 2 polygon
1 1.000 -80 -544 -80 -592 2 polygon
1 1.000 -48 -544 -48 -592 2 polygon
1 1.000 -16 -544 -16 -592 2 polygon
1 1.000 16 -544 16 -592 2 polygon
1 1.000 48 -544 48 -592 2 polygon
1 1.000 80 -544 80 -592 2 polygon
1 1.000 112 -544 112 -592 2 polygon
1 1.000 144 -544 144 -592 2 polygon
1 1.000 176 -544 176 -592 2 polygon
1 1.000 208 -544 208 -592 2 polygon
1 1.000 240 -544 240 -592 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 -568 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 224 -568 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 -568 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 -568 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 -568 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 -568 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 -568 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 -568 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 -568 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 -568 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 -568 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 -568 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 -568 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 -568 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 -568 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 -568 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 -568 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 -568 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 -568 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 -568 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 -568 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 -568 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 -568 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 -568 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 -568 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 -568 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 -568 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 -568 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 -568 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 -568 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 -568 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 -568 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 -560 label
(0x2100000c) {/Courier-Bold cf} 2 16 0.000 0.700 64 -480 label
1 1.000 16 -496 16 -448 2 polygon
1 1.000 -496 -496 -496 -448 2 polygon
1 1.000 -752 -448 -752 -496 2 polygon
1 1.000 272 -448 272 -496 2 polygon
1 1.000 272 -544 272 -592 2 polygon
1 1.000 -752 -544 -752 -592 2 polygon
(0x2100000d) {/Courier-Bold cf} 2 16 360.000 0.700 -192 -480 label
0.600 0.600 0.600 scb
(0x2100000e) {/Courier-Bold cf} 2 16 0.000 0.700 -448 -480 label
(0x2100000f) {/Courier-Bold cf} 2 16 0.000 0.700 -704 -480 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 352 -480 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 -512 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -496 -528 label
(GPIO pin pull-down \(inverted\)) {/Helvetica cf} 2 17 0.000 0.700 16 -528
label
1 1.000 -752 -448 272 -448 2 polygon
1 1.000 -752 -592 272 -592 2 polygon
(reg_gpio_pd) {/Courier-Bold cf} 2 16 0.000 0.700 -336 -432 label
(Bit value 1 indicates pullup is active; 0 indicates pulldown is inactive.)
{/Helvetica cf} 2 16 0.000 0.700 -752 -672 label
(Table 1) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 608 label
(Table 2) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 208 label
(Table 3) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 -112 label
(Table 4) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 -432 label
(page 6) {/Helvetica cf} 2 31 0.000 0.700 432 912 label
(Bit 0 corresponds to the GPIO channel pull-up state.) {/Helvetica cf} 2 16
0.000 0.700 -752 -320 label
(Bit 0 corresponds to the GPIO channel pull-down state.) {/Helvetica cf} 2 16
0.000 0.700 -752 -640 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,267 @@
%!PS-Adobe-3.0
%%Title: irq_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:19:39 2021
%%Pages: 1
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: irqs 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1088 672 translate
0.678 1.000 0.184 scb
512 1.000 -896 1248 -896 -480 352 -480 352 1248 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -896 1216 label
1 1.000 -896 1200 352 1200 2 polygon
(Interrupts \(IRQ\)) {/Helvetica-Bold cf} 2 16 0.000 0.700 -896 1152 label
(have value zero. ) {CR}
(uses only a handful, as described in the table below. All IRQ channels not in the list below always)
{CR}
(handler to memory location 0. The PicoRV32 defines 32 IRQ channels, of which the Caravel chip)
{CR}
(this location when an interrupt is received. To enable interrupts, it is necessary to copy an interrupt)
{CR}
(The interrupt vector is set to memory addres 0 \(bottom of SRAM\). The program counter switches to)
{/Helvetica cf} 10 28 0.000 0.700 -896 1120 label
(Table 19) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -832 928 label
(CPU IRQ channel definitions) {/Helvetica cf} 2 16 0.000 0.700 -672 928 label
(IRQ channel) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -768 864 label
(description) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -512 864 label
1 1.000 -768 848 160 848 2 polygon
(5) {/Helvetica cf} 2 19 0.000 0.700 -640 784 label
(6) {/Helvetica cf} 2 19 0.000 0.700 -640 752 label
(7) {/Helvetica cf} 2 19 0.000 0.700 -640 720 label
(The Caravel PicoRV32 implementation does not enable IRQ QREGS \(see PicoRV32 description\).)
{/Helvetica cf} 2 16 0.000 0.700 -896 448 label
(description\). All interrupts are masked and must be enabled in software.)
{CR}
(The handling of interrupts is beyond the scope of this document \(see RISC-V instruction set)
{/Helvetica cf} 4 28 0.000 0.700 -896 416 label
(IRQ external pin \(pin E5\)) {/Helvetica cf} 2 16 0.000 0.700 -512 784 label
(Housekeeping SPI IRQ) {/Helvetica cf} 2 16 0.000 0.700 -512 752 label
(Assignable interrupt \(see Table 7\)) {/Helvetica cf} 2 16 0.000 0.700 -512
720 label
(4) {/Helvetica cf} 2 19 0.000 0.700 -640 816 label
(UART data available) {/Helvetica cf} 2 16 0.000 0.700 -512 816 label
(9) {/Helvetica cf} 2 19 0.000 0.700 -640 688 label
(SPI master data available, when enabled \(see Table 14\)) {/Helvetica cf} 2 16
0.000 0.700 -512 688 label
(10) {/Helvetica cf} 2 19 0.000 0.700 -640 656 label
(Timer 0 expired, when enabled \(see Table 16\)) {/Helvetica cf} 2 16 0.000
0.700 -512 656 label
(page 17) {/Helvetica cf} 2 31 0.000 0.700 336 1232 label
(11) {/Helvetica cf} 2 19 0.000 0.700 -640 624 label
(Timer 1 expired, when enabled \(see Table 19\)) {/Helvetica cf} 2 16 0.000
0.700 -512 624 label
(Management area SRAM) {/Helvetica-Bold cf} 2 16 0.000 0.700 -896 144 label
(at address 0 \(zero\). There are additional blocks of memory above this area, size and location TBD.)
{CR}
(The Caravel chip has an on-board memory of 256 words of width 32 bits. The memory is located)
{/Helvetica cf} 4 28 0.000 0.700 -896 112 label
(Storage area SRAM) {/Helvetica-Bold cf} 2 16 0.000 0.700 -896 -208 label
(the user area.) {CR}
(area is connected into the user area 2 power supply, and so is nominally considered to be part of)
{CR}
(either the management SoC or the user project, through the wishbone bus interface. The storage)
{CR}
(The Caravel chip has a \252storage area\272 SRAM block that is auxiliary space that can be used by)
{/Helvetica cf} 8 28 0.000 0.700 -896 -240 label
(configuration of the SRAM block.) {CR}
(making use of this space, the user should notify efabless of their requirement for the size and)
{CR}
(The storage area may be used as an experimentation area for OpenRAM, so for any user project)
{/Helvetica cf} 6 28 0.000 0.700 -896 -384 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,615 @@
%!PS-Adobe-3.0
%%Title: memory_map.ps
%%Creator: XCircuit v0.0 rev-1793920491
%%CreationDate: Thu Dec 16 16:53:48 2021
%%Pages: 3
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: memmap1 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
0.8571 inchscale
2.6000 setlinewidth 1288 1456 translate
0.678 1.000 0.184 scb
512 1.000 -1056 784 -1056 -1232 384 -1232 384 784 4 polygon
sce
1 1.000 -1056 736 384 736 2 polygon
(Memory Mapped I/O summary by address) {/Helvetica-Bold cf} 2 16 0.000 0.700
-1056 704 label
1 1.000 -816 672 -816 -1232 2 polygon
(Address \(bytes\)) {/Helvetica cf} 2 16 360.000 0.700 -1056 656 label
1 1.000 -1056 640 384 640 2 polygon
(Function) {/Helvetica cf} 2 16 0.000 0.700 -800 656 label
(0x00 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 608 label
(Flash SPI / overlaid DFFRAM \(1k words\) start of memory block)
{/Helvetica cf} 2 16 0.000 0.700 -800 608 label
(0x10 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 448 label
(Flash SPI start of program block) {/Helvetica cf} 2 16 0.000 0.700 -800 448
label
(0x21 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 160 label
(GPIO input/output \(bit 16/bit 0\)) {/Helvetica cf} 2 16 0.000 0.700 -800 160
label
(0x21 00 00 04) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 128 label
(GPIO output enable \(1 = output, 0 = input\)) {/Helvetica cf} 2 16 360.000
0.700 -800 128 label
(0x21 00 00 08) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 96 label
(GPIO pullup enable \(1 = pullup, 0 = none\)) {/Helvetica cf} 2 16 0.000 0.700
-800 96 label
(0x21 00 00 0c) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 64 label
(GPIO pulldown enable \(1 = pulldown, 0 = none\)) {/Helvetica cf} 2 16 360.000
0.700 -800 64 label
(Program to run starts here on reset.) {/Helvetica cf} 2 16 0.000 0.700 -144
448 label
(1 general-purpose digital, management area only) {/Helvetica cf} 2 16 0.000
0.700 -240 160 label
(Efabless Caravel SoC and user project harness) {/Helvetica cf} 2 28 0.000
1.000 -1056 784 label
(0x00 00 0f ff) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 576 label
(End of SRAM) {/Helvetica cf} 2 16 0.000 0.700 -800 576 label
(0x1f ff ff ff) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 384 label
(MB\) with 4-byte addressing) {qS} (Maximum SPI flash addressable space \(32)
{/Helvetica cf} 4 16 0.000 0.700 -800 384 label
(0x10 ff ff ff) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 416 label
(MB\) with QSPI 3-byte addressing) {qS}
(Maximum SPI flash addressable space \(16) {/Helvetica cf} 4 16 0.000 0.700
-800 416 label
(UART clock divider select \(system clock freq. / baud rate\)) {/Helvetica cf}
2 16 0.000 0.700 -800 304 label
(0x20 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 304 label
(if receiver buffer is empty\)) {/Helvetica cf} (0xffffffff ) {/Courier cf}
(UART data \(returns ) {/Helvetica cf} 6 16 360.000 0.700 -800 272 label
(0x20 00 00 04) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 272 label
(UART enable) {/Helvetica cf} 2 16 360.000 0.700 -800 240 label
(0x20 00 00 08) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 240 label
(0x22 00 00 00) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -16 label
(Counter/Timer 0 configuration register \(lower 4 bits\)) {/Helvetica cf} 2 16
0.000 0.700 -800 -16 label
(0x22 00 00 04) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -208 label
(Counter/Timer 0 current value) {/Helvetica cf} 2 16 0.000 0.700 -800 -208
label
(0x22 00 00 08) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -288 label
(Counter/Timer 0 reset value) {/Helvetica cf} 2 16 0.000 0.700 -800 -288 label
(bit 0 = enable \(0 = hold, 1 = count\)) {/Helvetica cf} 2 16 0.000 0.700 -736
-64 label
(Set or read the 32-bit current value.) {/Helvetica cf} 2 16 0.000 0.700 -736
-240 label
(Set or read the 32-bit reset \(down-count\) or compare \(up-count\) value.)
{/Helvetica cf} 2 16 0.000 0.700 -752 -320 label
(bit 1 = oneshot \(0 = continuous count, 1 = one-shot count\)) {/Helvetica cf}
2 16 0.000 0.700 -736 -96 label
(bit 2 = updown \(0 = count down, 1 = count up\)) {/Helvetica cf} 2 16 0.000
0.700 -736 -128 label
(bit 3 = irq enable \(0 = disabled, 1 = trigger IRQ channel 10 on timeout\))
{/Helvetica cf} 2 16 0.000 0.700 -736 -160 label
(0x23 00 00 00) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -368 label
(Counter/Timer 1 configuration register \(lower 4 bits\)) {/Helvetica cf} 2 16
0.000 0.700 -800 -368 label
(0x23 00 00 04) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -560 label
(Counter/Timer 1 current value) {/Helvetica cf} 2 16 0.000 0.700 -800 -560
label
(0x23 00 00 08) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -640 label
(Counter/Timer 1 reset value) {/Helvetica cf} 2 16 0.000 0.700 -800 -640 label
(bit 0 = enable \(0 = hold, 1 = count\)) {/Helvetica cf} 2 16 0.000 0.700 -736
-416 label
(Set or read the 32-bit current value.) {/Helvetica cf} 2 16 0.000 0.700 -736
-592 label
(Set or read the 32-bit reset \(down-count\) or compare \(up-count\) value.)
{/Helvetica cf} 2 16 0.000 0.700 -752 -672 label
(bit 1 = oneshot \(0 = continuous count, 1 = one-shot count\)) {/Helvetica cf}
2 16 0.000 0.700 -736 -448 label
(bit 2 = updown \(0 = count down, 1 = count up\)) {/Helvetica cf} 2 16 0.000
0.700 -736 -480 label
(bit 3 = irq enable \(0 = disabled, 1 = trigger IRQ channel 11 on timeout\))
{/Helvetica cf} 2 16 0.000 0.700 -736 -512 label
(0x24 00 00 00) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -720 label
(SPI master configuration register) {/Helvetica cf} 2 16 0.000 0.700 -800 -720
label
(0x24 00 00 04) {/Courier-Bold cf} 2 16 360.000 0.700 -1056 -1072 label
(SPI master data register \(low 8 bits\)) {/Helvetica cf} 2 16 0.000 0.700 -800
-1072 label
(bits 0\2617 = prescaler \(core clock / \(prescaler + 1\) = SPI clock rate / 2\) \(default 2\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -768 label
(bit 8 = mlb \(0 = msb first, 1 = lsb first\) \(default 0\)) {/Helvetica cf} 2
16 0.000 0.700 -720 -800 label
(bit 9 = invcsb \(0 = csb active low, 1 = csb active high\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -832 label
(bit 10 = invsck \(0 = normal sck, 1 = inverted sck\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -864 label
(bit 11 = mode \(0 = read/write on opposite sck edge, 1 = same edge\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -896 label
(bit 12 = stream \(0 = raise csb after each byte, 1 = keep csb low until stream bit cleared\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -928 label
(bit 13 = enable \(0 = SPI master disabled, 1 = SPI master enabled\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -960 label
(bit 14 = irq enable \(0 = disabled, 1 = SPI read valid triggers interrupt channel 9\))
{/Helvetica cf} 2 16 0.000 0.700 -720 -992 label
(Write data to send to low byte or read received data from low byte.)
{/Helvetica cf} 2 16 0.000 0.700 -720 -1120 label
(bit 15 = housekeeping \(0 = disconnected, 1 = connected\)) {/Helvetica cf} 2
16 0.000 0.700 -720 -1024 label
(0x01 00 07 ff) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 512 label
(End of SRAM) {/Helvetica cf} 2 16 0.000 0.700 -800 512 label
(0x01 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -1056 544 label
(Flash SPI / overlaid SRAM \(512 words\) start of memory block)
{/Helvetica cf} 2 16 0.000 0.700 -800 544 label
pgsave restore showpage
%%Page: memmap2 2
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
0.8571 inchscale
2.6000 setlinewidth 1160 1344 translate
0.678 1.000 0.184 scb
512 1.000 -928 896 -928 -1120 512 -1120 512 896 4 polygon
sce
1 1.000 -688 784 -688 -1120 2 polygon
(Address \(bytes\)) {/Helvetica cf} 2 16 360.000 0.700 -928 768 label
(Function) {/Helvetica cf} 2 16 0.000 0.700 -672 768 label
1 1.000 -928 752 512 752 2 polygon
(\(continued\)) {/Helvetica-Oblique cf} (Memory Mapped I/O summary by address )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -928 816 label
1 1.000 -928 848 512 848 2 polygon
(Efabless Caravel SoC and user project harness) {/Helvetica cf} 2 28 0.000
1.000 -928 896 label
(0x25 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -928 704 label
(Logic Analyzer Data 0 \(bits 31 to 0\)) {/Helvetica cf} 2 16 0.000 0.700 -672
704 label
(0x25 00 00 04) {/Courier-Bold cf} 2 16 0.000 0.700 -928 672 label
(Logic Analyzer Data 1 \(bits 63 to 32\)) {/Helvetica cf} 2 16 0.000 0.700 -672
672 label
(0x25 00 00 08) {/Courier-Bold cf} 2 16 0.000 0.700 -928 640 label
(Logic Analyzer Data 2 \(bits 91 to 64\)) {/Helvetica cf} 2 16 0.000 0.700 -672
640 label
(0x25 00 00 0c) {/Courier-Bold cf} 2 16 0.000 0.700 -928 608 label
(Logic Analyzer Data 3 \(bits 127 to 92\)) {/Helvetica cf} 2 16 0.000 0.700
-672 608 label
(0x25 00 00 10) {/Courier-Bold cf} 2 16 0.000 0.700 -928 560 label
(Logic Analyzer Output Enable 0 \(sense inverted\320OEB\)) {/Helvetica cf} 2 16
0.000 0.700 -672 560 label
(0x25 00 00 14) {/Courier-Bold cf} 2 16 0.000 0.700 -928 528 label
(Logic Analyzer Output Enable 1 \(sense inverted\320OEB\)) {/Helvetica cf} 2 16
0.000 0.700 -672 528 label
(0x25 00 00 18) {/Courier-Bold cf} 2 16 0.000 0.700 -928 496 label
(Logic Analyzer Output Enable 2 \(sense inverted\320OEB\)) {/Helvetica cf} 2 16
0.000 0.700 -672 496 label
(0x25 00 00 1c) {/Courier-Bold cf} 2 16 0.000 0.700 -928 464 label
(Logic Analyzer Output Enable 3 \(sense inverted\320OEB\)) {/Helvetica cf} 2 16
0.000 0.700 -672 464 label
(0x26 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -928 224 label
(User project area GPIO data \(L\) \(GPIO 31 to 0\)) {/Helvetica cf} 2 16 0.000
0.700 -672 128 label
(0x26 00 00 04) {/Courier-Bold cf} 2 16 0.000 0.700 -928 192 label
(User project area GPIO data \(H\) \(GPIO 37 to 32, upper bits unused\))
{/Helvetica cf} 2 16 0.000 0.700 -672 96 label
(0x26 00 00 0c) {/Courier-Bold cf} 2 16 0.000 0.700 -928 128 label
(User project area GPIO data transfer \(bit 0, auto-zeroing\)) {/Helvetica cf}
2 16 0.000 0.700 -672 224 label
(0x26 00 00 24) {/Courier-Bold cf} 2 16 0.000 0.700 -928 32 label
(0x26 00 00 b8) {/Courier-Bold cf} 2 16 0.000 0.700 -928 -48 label
(. . .) {/Helvetica cf} 2 21 90.000 0.700 -816 0 label
(User project area GPIO mprj_io[0] configure) {/Helvetica cf} 2 16 0.000 0.700
-672 32 label
(User project area GPIO mprj_io[37] configure) {/Helvetica cf} 2 16 0.000 0.700
-672 -48 label
(bits 10\26112 = digital mode \(see below\) \(default set in file user_defines.v\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -448 label
(bit 0 = management control enable \(0 = user control, 1 = management control\) \(default 1\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -128 label
(bit 1 = output disable \(0 = output enabled, 1 = output disabled\) \(default 1\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -160 label
(bit 2 = hold override value \(value = value during hold mode\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -192 label
(bit 3 = input disable \(0 = input enabled, 1 = input disabled\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -224 label
(bit 4 = IB mode select \(0 = , 1 = \)) {/Helvetica cf} 2 16 0.000 0.700 -608
-256 label
(bit 5 = analog bus enable \(0 = disabled, 1 = enabled\)) {/Helvetica cf} 2 16
0.000 0.700 -608 -288 label
(bit 6 = analog bus select \(0 = , 1 = \)) {/Helvetica cf} 2 16 0.000 0.700
-608 -320 label
(bit 7 = analog bus polarity \(0 = , 1 = \)) {/Helvetica cf} 2 16 0.000 0.700
-608 -352 label
(bit 8 = slow slew \(0 = fast slew, 1 = slow slew\) \(default 0\))
{/Helvetica cf} 2 16 0.000 0.700 -608 -384 label
(bit 9 = input voltage trip point select \(0 = , 1 = \)) {/Helvetica cf} 2 16
0.000 0.700 -608 -416 label
(Digital mode bits) {/Helvetica cf} 2 16 0.000 0.700 -672 -512 label
(Digital mode description) {/Helvetica cf} 2 16 0.000 0.700 -352 -512 label
(bit 12 11 10) {/Helvetica cf} 2 16 0.000 0.700 -640 -560 label
(0 0 0) {/Courier cf} 2 16 0.000 0.700 -576 -592 label
(0 0 1) {/Courier cf} 2 16 0.000 0.700 -576 -624 label
(0 1 0) {/Courier cf} 2 16 0.000 0.700 -576 -656 label
(0 1 1) {/Courier cf} 2 16 0.000 0.700 -576 -688 label
(1 0 0) {/Courier cf} 2 16 0.000 0.700 -576 -720 label
(1 0 1) {/Courier cf} 2 16 0.000 0.700 -576 -752 label
(1 1 0) {/Courier cf} 2 16 0.000 0.700 -576 -784 label
(1 1 1) {/Courier cf} 2 16 0.000 0.700 -576 -816 label
(0x25 00 00 20) {/Courier-Bold cf} 2 16 0.000 0.700 -928 416 label
(Logic Analyzer Input Enable 0) {/Helvetica cf} 2 16 0.000 0.700 -672 416 label
(0x25 00 00 24) {/Courier-Bold cf} 2 16 0.000 0.700 -928 384 label
(Logic Analyzer Input Enable 1) {/Helvetica cf} 2 16 0.000 0.700 -672 384 label
(0x25 00 00 28) {/Courier-Bold cf} 2 16 0.000 0.700 -928 352 label
(Logic Analyzer Input Enable 2) {/Helvetica cf} 2 16 0.000 0.700 -672 352 label
(0x25 00 00 2c) {/Courier-Bold cf} 2 16 0.000 0.700 -928 320 label
(Logic Analyzer Input Enable 3) {/Helvetica cf} 2 16 0.000 0.700 -672 320 label
(0x25 00 00 30) {/Courier-Bold cf} 2 16 0.000 0.700 -928 272 label
(Logic Analyzer Sample) {/Helvetica cf} 2 16 0.000 0.700 -672 272 label
(User project area GPIO power[0] configure) {/Helvetica cf} 2 16 0.000 0.700
-672 192 label
(0x26 00 00 10) {/Courier-Bold cf} 2 16 0.000 0.700 -928 96 label
(\(These are currently undefined/unused.\)) {/Helvetica cf} 2 16 0.000 0.700
-64 192 label
(analog function \(all digital buffers disabled\)) {/Helvetica cf} 2 16 0.000
0.700 -352 -592 label
(input \(output disabled\), no pullup or pulldown) {/Helvetica cf} 2 16 0.000
0.700 -352 -624 label
(input \(output disabled\), with pulldown) {/Helvetica cf} 2 16 0.000 0.700
-352 -688 label
(input \(output disabled\), with pullup) {/Helvetica cf} 2 16 0.000 0.700 -352
-656 label
(output enabled) {/Helvetica cf} 2 16 0.000 0.700 -352 -784 label
(open drain \(to power\) output) {/Helvetica cf} 2 16 0.000 0.700 -352 -720
label
(open drain \(to ground\) output) {/Helvetica cf} 2 16 0.000 0.700 -352 -752
label
(weak output \(through 5k resistor\)) {/Helvetica cf} 2 16 0.000 0.700 -352
-816 label
(Mirrors housekeeping register 0x13) {/Helvetica cf} 2 19 0.000 0.700 512 224
label
(Housekeeping register 0x6e) {/Helvetica cf} 2 19 0.000 0.700 512 160 label
(Housekeeping registers 0x6a\3200x6d) {/Helvetica cf} 2 19 0.000 0.700 512 128
label
(Housekeeping register 0x69) {/Helvetica cf} 2 19 0.000 0.700 512 64 label
(Housekeeping registers 0x1d, 0x1e\320) {/Helvetica cf} 2 19 0.000 0.700 512 32
label
(Housekeeping registers \3200x67, 0x68) {/Helvetica cf} 2 19 0.000 0.700 512
-48 label
(. . .) {/Helvetica cf} 2 21 90.000 0.700 416 0 label
pgsave restore showpage
%%Page: memmap3 3
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
0.8571 inchscale
2.6000 setlinewidth 1096 1328 translate
0.678 1.000 0.184 scb
512 1.000 -864 912 -864 -1104 576 -1104 576 912 4 polygon
sce
1 1.000 -608 800 -608 -1104 2 polygon
(Address \(bytes\)) {/Helvetica cf} 2 16 360.000 0.700 -864 784 label
(Function) {/Helvetica cf} 2 16 0.000 0.700 -592 784 label
1 1.000 -864 768 576 768 2 polygon
1 1.000 -864 864 576 864 2 polygon
(Efabless Caravel SoC and user project harness) {/Helvetica cf} 2 28 0.000
1.000 -864 912 label
(\(continued\)) {/Helvetica-Oblique cf} (Memory Mapped I/O summary by address )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -864 832 label
(0x26 20 00 04) {/Courier-Bold cf} 2 16 360.000 0.700 -864 128 label
(Output monitoring \(low 3 bits\)) {/Helvetica cf} 2 16 0.000 0.700 -592 128
label
(bit 0 =) {/Helvetica cf} 2 16 0.000 0.700 -464 96 label
(bit 1 =) {/Helvetica cf} 2 16 0.000 0.700 -464 64 label
(0x26 20 00 0c) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -208 label
(IRQ input source \(low 2 bits\)) {/Helvetica cf} 2 16 0.000 0.700 -592 -208
label
(core clock monitor) {/Helvetica cf} 2 16 0.000 0.700 -352 96 label
(user clock monitor) {/Helvetica cf} 2 16 0.000 0.700 -352 64 label
(toggle the GPIO at full swing, but is detectable.) {CR}
(full-speed \(100MHz\) clock will be able to) {CR}
(for PLL clock output. It is unlikely that a) {CR}
(be used as general-purpose I/O when selected) {CR}
(the GPIO pin. The GPIO pin cannot) {CR}
(multiplied up by PLL\) can be viewed on) {CR}
(The PLL clock \(crystal oscillator clock) {/Helvetica cf} 14 28 0.000 0.700
-16 144 label
(trap state externally.) {CR} (the GPIO pin as a way to monitor the CPU) {CR}
(The CPU fault state \(trap\) can be viewed at) {/Helvetica cf} 6 28 0.000
0.700 -16 -64 label
(the GPIO pin must be configured as an input.) {CR}
(channel 7. When used as an IRQ source,) {CR}
(source and passed to the CPU through IRQ) {CR}
(The GPIO input can be used as an IRQ event) {/Helvetica cf} 8 28 0.000 0.700
-16 -192 label
(0x30 00 00 00) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -832 label
(User area base) {/Helvetica cf} 2 16 0.000 0.700 -592 -832 label
(at this address.) {CR}
(A user project may define additional wishbone slave modules starting)
{/Helvetica cf} 4 28 0.000 0.700 -336 -816 label
(0x2d 00 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -864 -496 label
(QSPI controller config) {/Helvetica cf} 2 16 0.000 0.700 -592 -496 label
(bits 3-0 Data bits \(bit bang mode\)) {CR}
(bit 4 Serial clock line \(bit bang mode\)) {CR}
(bit 5 Chip select line \(bit bang mode\)) {CR}
(bits 11-8 I/O output enable bits \(bit bang mode\)) {CR}
(bits 19-16 Read latency cycles) {CR} (bit 20 CRM enable) {CR}
(bit 21 QSPI enable) {CR} (bit 22 DDR enable) {CR}
(bit 31 MEMIO enable \(reset = 1\) 0 = bit-bang mode) {/Helvetica cf} 18 16
0.000 0.700 -560 -768 label
1 1.000 96 -560 112 -576 112 -624 96 -640 4 polygon
(output.*) {CR} (configured for management) {CR} (GPIO pins 36 and 37 are) {CR}
(Note: These can only be used if) {/Helvetica cf} 8 16 0.000 0.700 160 -656
label
(0x2f 00 00 00) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -416 label
(User IRQ enables \(low 3 bits\)) {/Helvetica cf} 2 16 0.000 0.700 -592 -416
label
(0x26 10 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -864 720 label
(0x26 10 00 04) {/Courier-Bold cf} 2 16 0.000 0.700 -864 688 label
(0x26 10 00 08) {/Courier-Bold cf} 2 16 0.000 0.700 -864 656 label
(0x26 10 00 0c) {/Courier-Bold cf} 2 16 0.000 0.700 -864 624 label
(0x26 10 00 10) {/Courier-Bold cf} 2 16 0.000 0.700 -864 592 label
(0x26 10 00 14) {/Courier-Bold cf} 2 16 0.000 0.700 -864 560 label
(0x26 10 00 18) {/Courier-Bold cf} 2 16 0.000 0.700 -864 528 label
(0x26 10 00 1c) {/Courier-Bold cf} 2 16 0.000 0.700 -864 464 label
(0x26 10 00 20) {/Courier-Bold cf} 2 16 0.000 0.700 -864 432 label
(0x26 10 00 24) {/Courier-Bold cf} 2 16 0.000 0.700 -864 400 label
(0x26 20 00 00) {/Courier-Bold cf} 2 16 0.000 0.700 -864 160 label
(Power good \(4 bits: User 1/2 vccd, user 1/2 vdda\)) {/Helvetica cf} 2 16
0.000 0.700 -592 160 label
(bit 2 =) {/Helvetica cf} 2 16 0.000 0.700 -464 -80 label
(CPU trap monitor) {/Helvetica cf} 2 16 0.000 0.700 -352 -80 label
(bit 0 =) {/Helvetica cf} 2 16 0.000 0.700 -464 -240 label
(bit 1 =) {/Helvetica cf} 2 16 0.000 0.700 -464 -272 label
(IRQ 7 source) {/Helvetica cf} 2 16 0.000 0.700 -352 -240 label
(IRQ 8 source) {/Helvetica cf} 2 16 0.000 0.700 -352 -272 label
(0x26 20 00 10) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -368 label
(Housekeeping SPI disable \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700 -592
-368 label
(0x2f 00 00 04) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -448 label
(User wishbone input enable \(low bit\)) {/Helvetica cf} 2 16 0.000 0.700 -592
-448 label
(Housekeeping SPI status \(undefined/unused\)) {/Helvetica cf} 2 16 0.000 0.700
-592 720 label
(Chip ID \(20 bits, vendor and chip identifiers\)) {/Helvetica cf} 2 16 0.000
0.700 -592 688 label
(User ID \(32 bits, user project and MPW run identifiers\)) {/Helvetica cf} 2
16 0.000 0.700 -592 656 label
(DLL enables) {/Helvetica cf} 2 16 0.000 0.700 -592 624 label
(DLL bypass) {/Helvetica cf} 2 16 0.000 0.700 -592 592 label
(Manual interrupt) {/Helvetica cf} 2 16 0.000 0.700 -592 560 label
(Manual reset \(note: this will reset the CPU, not recommended to be called from software.\))
{/Helvetica cf} 2 16 0.000 0.700 -592 528 label
(0x26 10 00 28) {/Courier-Bold cf} 2 16 0.000 0.700 -864 368 label
(Trap state \(note: when read from the CPU, this value can only be zero by definition.\))
{/Helvetica cf} 2 16 0.000 0.700 -592 368 label
(DLL feedback divider) {/Helvetica cf} 2 16 0.000 0.700 -592 400 label
(DLL output dividers \(3 bits each\)) {/Helvetica cf} 2 16 0.000 0.700 -592 432
label
(DLL manual trim for DCO mode \(28 bits\)) {/Helvetica cf} 2 16 0.000 0.700
-592 464 label
(Mirrors housekeeping SPI register 0x00) {/Helvetica cf} 2 19 0.000 0.700 576
720 label
(Housekeeping registers 0x01\3200x03) {/Helvetica cf} 2 19 0.000 0.700 576 688
label
(Housekeeping registers 0x04\3200x07) {/Helvetica cf} 2 19 0.000 0.700 576 656
label
(Housekeeping register 0x08) {/Helvetica cf} 2 19 0.000 0.700 576 624 label
(Housekeeping register 0x09) {/Helvetica cf} 2 19 0.000 0.700 576 592 label
(Housekeeping register 0x0a) {/Helvetica cf} 2 19 0.000 0.700 576 560 label
(Housekeeping registers 0x0d\3200x10) {/Helvetica cf} 2 19 0.000 0.700 576 464
label
(Housekeeping register 0x11) {/Helvetica cf} 2 19 0.000 0.700 576 432 label
(Housekeeping register 0x12) {/Helvetica cf} 2 19 0.000 0.700 576 400 label
(Housekeeping register 0x0b) {/Helvetica cf} 2 19 0.000 0.700 576 496 label
(Housekeeping register 0x0c) {/Helvetica cf} 2 19 0.000 0.700 576 336 label
(0x26 10 00 2c) {/Courier-Bold cf} 2 16 0.000 0.700 -864 304 label
(0x26 10 00 30) {/Courier-Bold cf} 2 16 0.000 0.700 -864 272 label
(0x26 10 00 34) {/Courier-Bold cf} 2 16 0.000 0.700 -864 240 label
(SRAM read-only port data) {/Helvetica cf} 2 16 0.000 0.700 -592 304 label
(SRAM read-only port address) {/Helvetica cf} 2 16 0.000 0.700 -592 272 label
(SRAM read-only control) {/Helvetica cf} 2 16 0.000 0.700 -592 240 label
(Housekeeping registers 0x16\3200x19) {/Helvetica cf} 2 19 0.000 0.700 576 304
label
(Housekeeping register 0x15) {/Helvetica cf} 2 19 0.000 0.700 576 272 label
(Housekeeping register 0x14) {/Helvetica cf} 2 19 0.000 0.700 576 240 label
(Housekeeping register 0x1a) {/Helvetica cf} 2 19 0.000 0.700 576 160 label
(Housekeeping register 0x1b) {/Helvetica cf} 2 19 0.000 0.700 576 -176 label
(Housekeeping register 0x1c) {/Helvetica cf} 2 19 0.000 0.700 576 -336 label
(Housekeeping register 0x6f) {/Helvetica cf} 2 19 0.000 0.700 576 -368 label
(0x3f ff ff ff) {/Courier-Bold cf} 2 16 360.000 0.700 -864 -896 label
(User area top) {/Helvetica cf} 2 16 0.000 0.700 -592 -896 label
( type of management core SoC implemented.) {CR}
(* The availability of the QSPI function is dependent on whether or not it is supported by the)
{/Helvetica cf} 4 16 0.000 0.700 -592 -1056 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,526 @@
%!PS-Adobe-3.0
%%Title: monitor_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:18:44 2021
%%Pages: 1
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: monitor1 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1088 736 translate
0.678 1.000 0.184 scb
512 1.000 -896 1184 -896 -544 352 -544 352 1184 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -896 1152 label
1 1.000 -896 1136 352 1136 2 polygon
(GPIO description, continued.) {/Helvetica cf} 2 16 0.000 0.700 -896 1088 label
0 1.000 -848 912 -848 960 176 960 176 912 4 polygon
1 1.000 -816 912 -816 864 2 polygon
1 1.000 -784 912 -784 864 2 polygon
1 1.000 -752 912 -752 864 2 polygon
1 1.000 -720 912 -720 864 2 polygon
1 1.000 -688 912 -688 864 2 polygon
1 1.000 -656 912 -656 864 2 polygon
1 1.000 -624 912 -624 864 2 polygon
1 1.000 -592 912 -592 864 2 polygon
1 1.000 -560 912 -560 864 2 polygon
1 1.000 -528 912 -528 864 2 polygon
1 1.000 -496 912 -496 864 2 polygon
1 1.000 -464 912 -464 864 2 polygon
1 1.000 -432 912 -432 864 2 polygon
1 1.000 -400 912 -400 864 2 polygon
1 1.000 -368 912 -368 864 2 polygon
1 1.000 -304 912 -304 864 2 polygon
1 1.000 -272 912 -272 864 2 polygon
1 1.000 -240 912 -240 864 2 polygon
1 1.000 -208 912 -208 864 2 polygon
1 1.000 -176 912 -176 864 2 polygon
1 1.000 -144 912 -144 864 2 polygon
1 1.000 -112 912 -112 864 2 polygon
1 1.000 -80 912 -80 864 2 polygon
1 1.000 -48 912 -48 864 2 polygon
1 1.000 -16 912 -16 864 2 polygon
1 1.000 16 912 16 864 2 polygon
1 1.000 48 912 48 864 2 polygon
1 1.000 80 912 80 864 2 polygon
1 1.000 112 912 112 864 2 polygon
1 1.000 144 912 144 864 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 160 888 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 128 888 label
(2) {/Helvetica cf} 2 21 0.000 0.500 96 888 label
(3) {/Helvetica cf} 2 21 0.000 0.500 64 888 label
(4) {/Helvetica cf} 2 21 0.000 0.500 32 888 label
(5) {/Helvetica cf} 2 21 0.000 0.500 0 888 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -32 888 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -64 888 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -96 888 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -128 888 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -160 888 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -192 888 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -224 888 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -256 888 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -288 888 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -320 888 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -352 888 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -384 888 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -416 888 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -448 888 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -480 888 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -512 888 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -544 888 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -576 888 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -608 888 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -640 888 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -672 888 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -704 888 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -736 888 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -768 888 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -800 888 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -832 888 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 208 896 label
(0x2f000000) {/Courier-Bold cf} 2 16 0.000 0.700 -32 976 label
1 1.000 -80 960 -80 1008 2 polygon
1 1.000 -592 960 -592 1008 2 polygon
1 1.000 -848 1008 -848 960 2 polygon
1 1.000 176 1008 176 960 2 polygon
1 1.000 176 912 176 864 2 polygon
1 1.000 -848 912 -848 864 2 polygon
0.600 0.600 0.600 scb
(0x2f000001) {/Courier-Bold cf} 2 16 360.000 0.700 -288 976 label
(0x2f000002) {/Courier-Bold cf} 2 16 360.000 0.700 -544 976 label
(0x2f000003) {/Courier-Bold cf} 2 16 0.000 0.700 -800 976 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 256 976 label
(value) {/Helvetica cf} 2 20 0.000 0.700 208 944 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -448 928 label
1 1.000 -848 1008 176 1008 2 polygon
1 1.000 -848 864 176 864 2 polygon
(reg_pll_out_dest) {/Courier-Bold cf} 2 16 0.000 0.700 -432 1024 label
1 1.000 -80 960 -80 912 2 polygon
1 1.000 -336 1008 -336 960 2 polygon
1 1.000 -336 912 -336 864 2 polygon
(PLL clock dest.) {/Helvetica cf} 2 17 0.000 0.700 48 928 label
(according to the following table:) {CR}
(The low bit of this register directs the output of the core clock to the GPIO channel,)
{/Helvetica cf} 4 28 0.000 0.700 -848 832 label
( value) {/Helvetica cf} (0x2f000000) {/Courier-Bold cf} (Register byte )
{/Helvetica cf} 6 16 0.000 0.700 -800 736 label
(Clock output directed to this channel) {/Helvetica cf} 2 16 0.000 0.700 -352
736 label
(0) {/Courier-Bold cf} 2 16 0.000 0.700 -560 688 label
(1) {/Courier-Bold cf} 2 16 0.000 0.700 -560 656 label
(\(none\)) {/Helvetica cf} 2 16 0.000 0.700 -256 688 label
1 1.000 -800 720 208 720 2 polygon
1 1.000 -368 768 -368 640 2 polygon
(0) {/Helvetica cf} 2 16 0.000 0.700 -704 688 label
(1) {/Helvetica cf} 2 16 0.000 0.700 -704 656 label
0 1.000 -848 336 -848 384 176 384 176 336 4 polygon
1 1.000 -816 336 -816 288 2 polygon
1 1.000 -784 336 -784 288 2 polygon
1 1.000 -752 336 -752 288 2 polygon
1 1.000 -720 336 -720 288 2 polygon
1 1.000 -688 336 -688 288 2 polygon
1 1.000 -656 336 -656 288 2 polygon
1 1.000 -624 336 -624 288 2 polygon
1 1.000 -592 336 -592 288 2 polygon
1 1.000 -560 336 -560 288 2 polygon
1 1.000 -528 336 -528 288 2 polygon
1 1.000 -496 336 -496 288 2 polygon
1 1.000 -464 336 -464 288 2 polygon
1 1.000 -432 336 -432 288 2 polygon
1 1.000 -400 336 -400 288 2 polygon
1 1.000 -368 336 -368 288 2 polygon
1 1.000 -304 336 -304 288 2 polygon
1 1.000 -272 336 -272 288 2 polygon
1 1.000 -240 336 -240 288 2 polygon
1 1.000 -208 336 -208 288 2 polygon
1 1.000 -176 336 -176 288 2 polygon
1 1.000 -144 336 -144 288 2 polygon
1 1.000 -112 336 -112 288 2 polygon
1 1.000 -80 336 -80 288 2 polygon
1 1.000 -48 336 -48 288 2 polygon
1 1.000 -16 336 -16 288 2 polygon
1 1.000 16 336 16 288 2 polygon
1 1.000 48 336 48 288 2 polygon
1 1.000 80 336 80 288 2 polygon
1 1.000 112 336 112 288 2 polygon
1 1.000 144 336 144 288 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 160 312 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 128 312 label
(2) {/Helvetica cf} 2 21 0.000 0.500 96 312 label
(3) {/Helvetica cf} 2 21 0.000 0.500 64 312 label
(4) {/Helvetica cf} 2 21 0.000 0.500 32 312 label
(5) {/Helvetica cf} 2 21 0.000 0.500 0 312 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -32 312 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -64 312 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -96 312 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -128 312 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -160 312 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -192 312 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -224 312 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -256 312 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -288 312 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -320 312 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -352 312 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -384 312 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -416 312 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -448 312 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -480 312 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -512 312 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -544 312 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -576 312 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -608 312 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -640 312 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -672 312 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -704 312 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -736 312 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -768 312 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -800 312 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -832 312 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 208 320 label
(0x2f000004) {/Courier-Bold cf} 2 16 0.000 0.700 -32 400 label
1 1.000 -80 384 -80 432 2 polygon
1 1.000 -592 384 -592 432 2 polygon
1 1.000 -848 432 -848 384 2 polygon
1 1.000 176 432 176 384 2 polygon
1 1.000 176 336 176 288 2 polygon
1 1.000 -848 336 -848 288 2 polygon
0.600 0.600 0.600 scb
(0x2f000005) {/Courier-Bold cf} 2 16 360.000 0.700 -288 400 label
(0x2f000006) {/Courier-Bold cf} 2 16 360.000 0.700 -544 400 label
(0x2f000007) {/Courier-Bold cf} 2 16 0.000 0.700 -800 400 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 256 400 label
(value) {/Helvetica cf} 2 20 0.000 0.700 208 368 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -448 352 label
1 1.000 -848 432 176 432 2 polygon
1 1.000 -848 288 176 288 2 polygon
(reg_trap_out_dest) {/Courier-Bold cf} 2 16 0.000 0.700 -432 448 label
1 1.000 -80 384 -80 336 2 polygon
1 1.000 -336 432 -336 384 2 polygon
1 1.000 -336 336 -336 288 2 polygon
(trap signal dest.) {/Helvetica cf} 2 17 0.000 0.700 48 352 label
(channel, according to the following table:) {CR}
(The low bit of this register directs the output of the processor trap signal to the GPIO)
{/Helvetica cf} 4 28 0.000 0.700 -848 256 label
( value) {/Helvetica cf} (0x2f000004) {/Courier-Bold cf} (Register byte )
{/Helvetica cf} 6 16 0.000 0.700 -800 160 label
(Trap signal output directed to this channel) {/Helvetica cf} 2 16 0.000 0.700
-320 160 label
(0) {/Courier-Bold cf} 2 16 0.000 0.700 -560 112 label
(1) {/Courier-Bold cf} 2 16 0.000 0.700 -560 80 label
(GPIO) {/Helvetica cf} 2 16 0.000 0.700 -320 80 label
(\(none\)) {/Helvetica cf} 2 16 0.000 0.700 -320 112 label
1 1.000 -800 144 208 144 2 polygon
1 1.000 -368 192 -368 64 2 polygon
(0) {/Helvetica cf} 2 16 0.000 0.700 -704 112 label
(1) {/Helvetica cf} 2 16 0.000 0.700 -704 80 label
(Table 5) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -848 1024 label
(Table 6) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -848 448 label
(page 7) {/Helvetica cf} 2 31 0.000 0.700 336 1168 label
(GPIO output.) {CR} (MHz\) may be unable to generate a full swing on the) {qS}
(80) {/Helvetica cf} (e.g., ) {/Helvetica-Oblique cf}
(Note that a high rate core clock \() {/Helvetica cf} 10 28 0.000 0.700 -848
560 label
(Core PLL clock to GPIO out) {/Helvetica cf} 2 16 0.000 0.700 -352 656 label
0 1.000 -864 -192 -864 -144 160 -144 160 -192 4 polygon
1 1.000 -832 -192 -832 -240 2 polygon
1 1.000 -800 -192 -800 -240 2 polygon
1 1.000 -768 -192 -768 -240 2 polygon
1 1.000 -736 -192 -736 -240 2 polygon
1 1.000 -704 -192 -704 -240 2 polygon
1 1.000 -672 -192 -672 -240 2 polygon
1 1.000 -640 -192 -640 -240 2 polygon
1 1.000 -608 -192 -608 -240 2 polygon
1 1.000 -576 -192 -576 -240 2 polygon
1 1.000 -544 -192 -544 -240 2 polygon
1 1.000 -512 -192 -512 -240 2 polygon
1 1.000 -480 -192 -480 -240 2 polygon
1 1.000 -448 -192 -448 -240 2 polygon
1 1.000 -416 -192 -416 -240 2 polygon
1 1.000 -384 -192 -384 -240 2 polygon
1 1.000 -320 -192 -320 -240 2 polygon
1 1.000 -288 -192 -288 -240 2 polygon
1 1.000 -256 -192 -256 -240 2 polygon
1 1.000 -224 -192 -224 -240 2 polygon
1 1.000 -192 -192 -192 -240 2 polygon
1 1.000 -160 -192 -160 -240 2 polygon
1 1.000 -128 -192 -128 -240 2 polygon
1 1.000 -96 -192 -96 -240 2 polygon
1 1.000 -64 -192 -64 -240 2 polygon
1 1.000 -32 -192 -32 -240 2 polygon
1 1.000 0 -192 0 -240 2 polygon
1 1.000 32 -192 32 -240 2 polygon
1 1.000 64 -192 64 -240 2 polygon
1 1.000 96 -192 96 -240 2 polygon
1 1.000 128 -192 128 -240 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 144 -216 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 112 -216 label
(2) {/Helvetica cf} 2 21 0.000 0.500 80 -216 label
(3) {/Helvetica cf} 2 21 0.000 0.500 48 -216 label
(4) {/Helvetica cf} 2 21 0.000 0.500 16 -216 label
(5) {/Helvetica cf} 2 21 0.000 0.500 -16 -216 label
(6) {/Helvetica cf} 2 21 0.000 0.500 -48 -216 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -80 -216 label
(8) {/Helvetica cf} 2 21 0.000 0.500 -112 -216 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -144 -216 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -176 -216 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -208 -216 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -240 -216 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -272 -216 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -304 -216 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -336 -216 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -368 -216 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -400 -216 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -432 -216 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -464 -216 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -496 -216 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -528 -216 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -560 -216 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -592 -216 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -624 -216 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -656 -216 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -688 -216 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -720 -216 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -752 -216 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -784 -216 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -816 -216 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -848 -216 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 192 -208 label
(0x2f000008) {/Courier-Bold cf} 2 16 0.000 0.700 -48 -128 label
1 1.000 -96 -144 -96 -96 2 polygon
1 1.000 -608 -144 -608 -96 2 polygon
1 1.000 -864 -96 -864 -144 2 polygon
1 1.000 160 -96 160 -144 2 polygon
1 1.000 160 -192 160 -240 2 polygon
1 1.000 -864 -192 -864 -240 2 polygon
0.600 0.600 0.600 scb
(0x2f000009) {/Courier-Bold cf} 2 16 360.000 0.700 -304 -128 label
(0x2f00000a) {/Courier-Bold cf} 2 16 360.000 0.700 -560 -128 label
(0x2f00000b) {/Courier-Bold cf} 2 16 0.000 0.700 -816 -128 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 240 -128 label
(value) {/Helvetica cf} 2 20 0.000 0.700 192 -160 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -464 -176 label
1 1.000 -864 -96 160 -96 2 polygon
1 1.000 -864 -240 160 -240 2 polygon
(reg_irq7_source) {/Courier-Bold cf} 2 16 0.000 0.700 -448 -80 label
1 1.000 -96 -144 -96 -192 2 polygon
1 1.000 -352 -96 -352 -144 2 polygon
1 1.000 -352 -192 -352 -240 2 polygon
(IRQ 7 source) {/Helvetica cf} 2 17 0.000 0.700 32 -176 label
(according to the following table:) {CR}
(The low bit of this register directs the input of the GPIO to the processor\251s IRQ7 channel,)
{/Helvetica cf} 4 28 0.000 0.700 -864 -272 label
( value) {/Helvetica cf} (0x2f000008) {/Courier-Bold cf} (Register byte )
{/Helvetica cf} 6 16 0.000 0.700 -816 -368 label
(This channel directed to IRQ channel 7) {/Helvetica cf} 2 16 0.000 0.700 -336
-368 label
(00) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -416 label
(01) {/Courier-Bold cf} 2 16 0.000 0.700 -576 -448 label
(GPIO) {/Helvetica cf} 2 16 0.000 0.700 -304 -448 label
(\(none\)) {/Helvetica cf} 2 16 0.000 0.700 -304 -416 label
1 1.000 -816 -384 192 -384 2 polygon
1 1.000 -384 -336 -384 -448 2 polygon
(0) {/Helvetica cf} 2 16 0.000 0.700 -720 -416 label
(1) {/Helvetica cf} 2 16 0.000 0.700 -720 -448 label
(Table 7) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -864 -80 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,388 @@
%!PS-Adobe-3.0
%%Title: qspi_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:19:06 2021
%%Pages: 1
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: spimemio 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 1184 1408 translate
0.678 1.000 0.184 scb
512 1.000 -992 512 -992 -1216 256 -1216 256 512 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -992 480 label
1 1.000 -992 464 256 464 2 polygon
(QSPI Flash interface) {/Helvetica-Bold cf} 2 16 0.000 0.700 -992 416 label
(flash io0\2611 \(pins D10 to D9\), flash csb \(pin C10\), and) {/Helvetica cf}
2 16 0.000 0.700 -416 416 label
(flash clk \(pin D8\)) {/Helvetica cf} 2 16 0.000 0.700 -416 384 label
(S25FL256L.) {CR} (Cypress) {/Helvetica cf} (e.g., ) {/Helvetica-Oblique cf}
("flash io1" acting as SDO \(data from CPU to flash\). Protocol is according to, )
{CR}
(sequence in single-bit mode with pin "flash io0" acting as SDI \(data from flash to CPU\) and pin)
{CR}
(The QSPI flash controller is automatically enabled on power-up, and will immediately initiate a read)
{/Helvetica cf} 12 28 0.000 0.700 -992 352 label
0 1.000 -944 -336 -944 -288 80 -288 80 -336 4 polygon
1 1.000 -912 -336 -912 -384 2 polygon
1 1.000 -880 -336 -880 -384 2 polygon
1 1.000 -848 -336 -848 -384 2 polygon
1 1.000 -816 -336 -816 -384 2 polygon
1 1.000 -784 -336 -784 -384 2 polygon
1 1.000 -752 -336 -752 -384 2 polygon
1 1.000 -720 -336 -720 -384 2 polygon
1 1.000 -688 -336 -688 -384 2 polygon
1 1.000 -656 -336 -656 -384 2 polygon
1 1.000 -624 -336 -624 -384 2 polygon
1 1.000 -592 -336 -592 -384 2 polygon
1 1.000 -560 -336 -560 -384 2 polygon
1 1.000 -528 -336 -528 -384 2 polygon
1 1.000 -496 -336 -496 -384 2 polygon
1 1.000 -464 -336 -464 -384 2 polygon
1 1.000 -400 -336 -400 -384 2 polygon
1 1.000 -368 -336 -368 -384 2 polygon
1 1.000 -336 -336 -336 -384 2 polygon
1 1.000 -304 -336 -304 -384 2 polygon
1 1.000 -272 -336 -272 -384 2 polygon
1 1.000 -240 -336 -240 -384 2 polygon
1 1.000 -208 -336 -208 -384 2 polygon
1 1.000 -176 -336 -176 -384 2 polygon
1 1.000 -144 -336 -144 -384 2 polygon
1 1.000 -112 -336 -112 -384 2 polygon
1 1.000 -80 -336 -80 -384 2 polygon
1 1.000 -48 -336 -48 -384 2 polygon
1 1.000 -16 -336 -16 -384 2 polygon
1 1.000 16 -336 16 -384 2 polygon
1 1.000 48 -336 48 -384 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 64 -360 label
(1) {/Helvetica cf} 2 21 0.000 0.500 32 -360 label
(2) {/Helvetica cf} 2 21 0.000 0.500 0 -360 label
(3) {/Helvetica cf} 2 21 0.000 0.500 -32 -360 label
(4) {/Helvetica cf} 2 21 0.000 0.500 -64 -360 label
(5) {/Helvetica cf} 2 21 0.000 0.500 -96 -360 label
0.600 0.600 0.600 scb
(6) {/Helvetica cf} 2 21 0.000 0.500 -128 -360 label
(7) {/Helvetica cf} 2 21 0.000 0.500 -160 -360 label
sce
(8) {/Helvetica cf} 2 21 0.000 0.500 -192 -360 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -224 -360 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -256 -360 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -288 -360 label
0.600 0.600 0.600 scb
(12) {/Helvetica cf} 2 21 0.000 0.500 -320 -360 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -352 -360 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -384 -360 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -416 -360 label
sce
(16) {/Helvetica cf} 2 21 0.000 0.500 -448 -360 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -480 -360 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -512 -360 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -544 -360 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -576 -360 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -608 -360 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -640 -360 label
0.600 0.600 0.600 scb
(23) {/Helvetica cf} 2 21 0.000 0.500 -672 -360 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -704 -360 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -736 -360 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -768 -360 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -800 -360 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -832 -360 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -864 -360 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -896 -360 label
sce
(31) {/Helvetica cf} 2 21 0.000 0.500 -928 -360 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 112 -352 label
(0x2d000000) {/Courier-Bold cf} 2 16 0.000 0.700 -128 -272 label
1 1.000 -176 -288 -176 -240 2 polygon
1 1.000 -688 -288 -688 -240 2 polygon
1 1.000 -944 -240 -944 -288 2 polygon
1 1.000 80 -240 80 -288 2 polygon
1 1.000 80 -336 80 -384 2 polygon
1 1.000 -944 -336 -944 -384 2 polygon
(0x2d000001) {/Courier-Bold cf} 2 16 360.000 0.700 -384 -272 label
(0x2d000002) {/Courier-Bold cf} 2 16 360.000 0.700 -640 -272 label
(0x2d000003) {/Courier-Bold cf} 2 16 0.000 0.700 -896 -272 label
(address) {/Helvetica cf} 2 17 0.000 0.700 160 -272 label
(value) {/Helvetica cf} 2 20 0.000 0.700 112 -304 label
1 1.000 -944 -240 80 -240 2 polygon
1 1.000 -944 -384 80 -384 2 polygon
(reg_spictrl) {/Courier-Bold cf} 2 16 0.000 0.700 -528 -224 label
1 1.000 -432 -240 -432 -288 2 polygon
1 1.000 -432 -336 -432 -384 2 polygon
(\(see below\)) {/Helvetica cf} 2 17 0.000 0.700 -528 -320 label
(mask bit) {/Helvetica cf} 2 16 0.000 0.700 -896 -432 label
(description) {/Helvetica cf} 2 16 0.000 0.700 -400 -432 label
1 1.000 -912 -448 96 -448 2 polygon
(31) {/Helvetica cf} 2 16 0.000 0.700 -896 -480 label
1 1.000 -912 -336 -912 -288 2 polygon
1 1.000 -656 -336 -656 -288 2 polygon
(\(unused\)) {/Helvetica cf} 2 17 0.000 0.700 -784 -320 label
1 1.000 -432 -288 -432 -336 2 polygon
1 1.000 -304 -288 -304 -336 2 polygon
(\(unused\)) {/Helvetica cf} 2 17 0.000 0.700 -368 -320 label
1 1.000 -176 -288 -176 -336 2 polygon
1 1.000 -112 -288 -112 -336 2 polygon
(22\26120) {/Helvetica cf} 2 16 0.000 0.700 -896 -512 label
(19\26116) {/Helvetica cf} 2 16 0.000 0.700 -896 -544 label
(11\2618) {/Helvetica cf} 2 16 0.000 0.700 -896 -576 label
(5) {/Helvetica cf} 2 16 0.000 0.700 -896 -608 label
(4) {/Helvetica cf} 2 16 0.000 0.700 -896 -640 label
(3\2610) {/Helvetica cf} 2 16 0.000 0.700 -896 -672 label
(default) {/Helvetica cf} 2 16 0.000 0.700 -704 -432 label
(1) {/Helvetica cf} 2 16 0.000 0.700 -688 -480 label
(QSPI flash interface enable) {/Helvetica cf} 2 16 0.000 0.700 -400 -480 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -688 -512 label
(Access mode \(see table below\)) {/Helvetica cf} 2 16 0.000 0.700 -400 -512
label
(8) {/Helvetica cf} 2 16 0.000 0.700 -688 -544 label
(Dummy clock cycle count) {/Helvetica cf} 2 16 0.000 0.700 -400 -544 label
(Bit-bang OE FLASH_IO3\261FLASH_IO0) {/Helvetica cf} 2 16 0.000 0.700 -400 -576
label
(Bit-bang FLASH_CSB) {/Helvetica cf} 2 16 0.000 0.700 -400 -608 label
(Bit-bang FLASH_CLK) {/Helvetica cf} 2 16 0.000 0.700 -400 -640 label
(Bit-bang value FLASH_IO3\261FLASH_IO0) {/Helvetica cf} 2 16 0.000 0.700 -400
-672 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -688 -576 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -688 -608 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -688 -640 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -688 -672 label
(0xFF) {/Courier-Bold cf} 2 16 0.000 0.700 -928 128 label
(0xAB) {/Courier-Bold cf} 2 16 0.000 0.700 -928 96 label
(Mode bit reset) {/Helvetica cf} 2 16 0.000 0.700 -800 128 label
(Release from deep power-down) {/Helvetica cf} 2 16 0.000 0.700 -800 96 label
(0x03) {/Courier-Bold cf} 2 16 0.000 0.700 -928 64 label
(Read w/3 byte address) {/Helvetica cf} 2 16 0.000 0.700 -800 64 label
(0x00) {/Courier-Bold cf} 2 16 0.000 0.700 -928 32 label
(0x00) {/Courier-Bold cf} 2 16 0.000 0.700 -928 0 label
(0x00) {/Courier-Bold cf} 2 16 0.000 0.700 -928 -32 label
(\) \(3 bytes\) \(upper byte is ignored\)) {/Helvetica cf} (0x10000000)
{/Courier-Bold cf} (Program start address \() {/Helvetica cf} 6 16 0.000 0.700
-800 32 label
(The initial SPI instruction sequence is as follows:) {/Helvetica cf} 2 16
0.000 0.700 -992 176 label
(read command to read from a new address.) {CR}
(The QSPI flash continues to read bytes, either sequentially on the same command, or issuing a new)
{/Helvetica cf} 4 28 0.000 0.700 -992 -64 label
(The behavior of the QSPI flash controller can be modified by changing values in the register below:)
{/Helvetica cf} 2 16 0.000 0.700 -992 -160 label
(Access mode bit selection \(bits 22\26120\):) {/Helvetica cf} 2 16 0.000 0.700
-976 -720 label
(0) {/Helvetica cf} 2 16 0.000 0.700 -976 -768 label
(1) {/Helvetica cf} 2 16 0.000 0.700 -976 -800 label
(000) {/Courier-Bold cf} 2 16 0.000 0.700 -912 -768 label
(001) {/Courier-Bold cf} 2 16 0.000 0.700 -912 -800 label
(Single bit per clock) {/Helvetica cf} 2 16 0.000 0.700 -784 -768 label
(Single bit per clock \(same as 0\)) {/Helvetica cf} 2 16 0.000 0.700 -784 -800
label
1 1.000 -976 -736 -64 -736 2 polygon
(entire routine to access the SPI flash must be read into SRAM and executed from the SRAM.)
{CR}
(The SPI flash can be accessed by bit banging when the enable is off. To do this from the CPU, the)
{/Helvetica cf} 4 16 0.000 0.700 -992 -976 label
(Table 10) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -944 -224 label
(page 12) {/Helvetica cf} 2 31 0.000 0.700 240 496 label
(\(see below\)) {/Helvetica cf} 2 17 0.000 0.700 -16 -320 label
(has pins for data lines 0 and 1.) {CR}
(All additional modes \(QSPI dual and quad modes\) cannot be used, as the management SoC only)
{/Helvetica cf} 4 28 0.000 0.700 -992 -832 label
(Interrupt) {/Helvetica-Bold cf} 2 16 0.000 0.700 -992 -1120 label
(IRQ \(pin E5\)) {/Helvetica cf} 2 16 0.000 0.700 -480 -1120 label
(The interrupt pin triggers the CPU interrupt channel 5.) {/Helvetica cf} 2 28
0.000 0.700 -928 -1152 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,455 @@
%!PS-Adobe-3.0
%%Title: spi_master_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:19:26 2021
%%Pages: 1
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: spi_master 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 928 768 translate
0.678 1.000 0.184 scb
512 1.000 -736 1152 -736 -576 512 -576 512 1152 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -736 1120 label
1 1.000 -736 1104 512 1104 2 polygon
(SPI Master) {/Helvetica-Bold cf} 2 16 0.000 0.700 -736 1056 label
0 1.000 -688 832 -688 880 336 880 336 832 4 polygon
1 1.000 -656 832 -656 784 2 polygon
1 1.000 -624 832 -624 784 2 polygon
1 1.000 -592 832 -592 784 2 polygon
1 1.000 -560 832 -560 784 2 polygon
1 1.000 -528 832 -528 784 2 polygon
1 1.000 -496 832 -496 784 2 polygon
1 1.000 -464 832 -464 784 2 polygon
1 1.000 -432 832 -432 784 2 polygon
1 1.000 -400 832 -400 784 2 polygon
1 1.000 -368 832 -368 784 2 polygon
1 1.000 -336 832 -336 784 2 polygon
1 1.000 -304 832 -304 784 2 polygon
1 1.000 -272 832 -272 784 2 polygon
1 1.000 -240 832 -240 784 2 polygon
1 1.000 -208 832 -208 784 2 polygon
1 1.000 -144 832 -144 784 2 polygon
1 1.000 -112 832 -112 784 2 polygon
1 1.000 -80 832 -80 784 2 polygon
1 1.000 -48 832 -48 784 2 polygon
1 1.000 -16 832 -16 784 2 polygon
1 1.000 16 832 16 784 2 polygon
1 1.000 48 832 48 784 2 polygon
1 1.000 80 832 80 784 2 polygon
1 1.000 112 832 112 784 2 polygon
1 1.000 144 832 144 784 2 polygon
1 1.000 176 832 176 784 2 polygon
1 1.000 208 832 208 784 2 polygon
1 1.000 240 832 240 784 2 polygon
1 1.000 272 832 272 784 2 polygon
1 1.000 304 832 304 784 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 320 808 label
(1) {/Helvetica cf} 2 21 0.000 0.500 288 808 label
(2) {/Helvetica cf} 2 21 0.000 0.500 256 808 label
(3) {/Helvetica cf} 2 21 0.000 0.500 224 808 label
(4) {/Helvetica cf} 2 21 0.000 0.500 192 808 label
(5) {/Helvetica cf} 2 21 0.000 0.500 160 808 label
(6) {/Helvetica cf} 2 21 0.000 0.500 128 808 label
(7) {/Helvetica cf} 2 21 0.000 0.500 96 808 label
(8) {/Helvetica cf} 2 21 0.000 0.500 64 808 label
(9) {/Helvetica cf} 2 21 0.000 0.500 32 808 label
(10) {/Helvetica cf} 2 21 0.000 0.500 0 808 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -32 808 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -64 808 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -96 808 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -128 808 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -160 808 label
0.600 0.600 0.600 scb
(16) {/Helvetica cf} 2 21 0.000 0.500 -192 808 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -224 808 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -256 808 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -288 808 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -320 808 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -352 808 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -384 808 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -416 808 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -448 808 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -480 808 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -512 808 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -544 808 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -576 808 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -608 808 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -640 808 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -672 808 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 368 816 label
(0x24000000) {/Courier-Bold cf} 2 16 0.000 0.700 128 896 label
1 1.000 80 880 80 928 2 polygon
1 1.000 -432 880 -432 928 2 polygon
1 1.000 -688 928 -688 880 2 polygon
1 1.000 336 928 336 880 2 polygon
1 1.000 336 832 336 784 2 polygon
1 1.000 -688 832 -688 784 2 polygon
(0x24000001) {/Courier-Bold cf} 2 16 360.000 0.700 -128 896 label
0.600 0.600 0.600 scb
(0x24000002) {/Courier-Bold cf} 2 16 0.000 0.700 -384 896 label
(0x24000003) {/Courier-Bold cf} 2 16 0.000 0.700 -640 896 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 416 896 label
(value) {/Helvetica cf} 2 20 0.000 0.700 368 864 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -400 848 label
1 1.000 -688 928 336 928 2 polygon
1 1.000 -688 784 336 784 2 polygon
(reg_spi_config) {/Courier-Bold cf} 2 16 0.000 0.700 -272 944 label
1 1.000 -176 880 -176 832 2 polygon
1 1.000 -176 928 -176 880 2 polygon
1 1.000 -176 832 -176 784 2 polygon
(SPI master configuration) {/Helvetica cf} 2 17 0.000 0.700 80 848 label
(Table 14) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -688 944 label
0 1.000 -688 -128 -688 -80 336 -80 336 -128 4 polygon
1 1.000 -656 -128 -656 -176 2 polygon
1 1.000 -624 -128 -624 -176 2 polygon
1 1.000 -592 -128 -592 -176 2 polygon
1 1.000 -560 -128 -560 -176 2 polygon
1 1.000 -528 -128 -528 -176 2 polygon
1 1.000 -496 -128 -496 -176 2 polygon
1 1.000 -464 -128 -464 -176 2 polygon
1 1.000 -432 -128 -432 -176 2 polygon
1 1.000 -400 -128 -400 -176 2 polygon
1 1.000 -368 -128 -368 -176 2 polygon
1 1.000 -336 -128 -336 -176 2 polygon
1 1.000 -304 -128 -304 -176 2 polygon
1 1.000 -272 -128 -272 -176 2 polygon
1 1.000 -240 -128 -240 -176 2 polygon
1 1.000 -208 -128 -208 -176 2 polygon
1 1.000 -144 -128 -144 -176 2 polygon
1 1.000 -112 -128 -112 -176 2 polygon
1 1.000 -80 -128 -80 -176 2 polygon
1 1.000 -48 -128 -48 -176 2 polygon
1 1.000 -16 -128 -16 -176 2 polygon
1 1.000 16 -128 16 -176 2 polygon
1 1.000 48 -128 48 -176 2 polygon
1 1.000 80 -128 80 -176 2 polygon
1 1.000 112 -128 112 -176 2 polygon
1 1.000 144 -128 144 -176 2 polygon
1 1.000 176 -128 176 -176 2 polygon
1 1.000 208 -128 208 -176 2 polygon
1 1.000 240 -128 240 -176 2 polygon
1 1.000 272 -128 272 -176 2 polygon
1 1.000 304 -128 304 -176 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 320 -152 label
(1) {/Helvetica cf} 2 21 0.000 0.500 288 -152 label
(2) {/Helvetica cf} 2 21 0.000 0.500 256 -152 label
(3) {/Helvetica cf} 2 21 0.000 0.500 224 -152 label
(4) {/Helvetica cf} 2 21 0.000 0.500 192 -152 label
(5) {/Helvetica cf} 2 21 0.000 0.500 160 -152 label
(6) {/Helvetica cf} 2 21 0.000 0.500 128 -152 label
(7) {/Helvetica cf} 2 21 0.000 0.500 96 -152 label
0.600 0.600 0.600 scb
(8) {/Helvetica cf} 2 21 0.000 0.500 64 -152 label
(9) {/Helvetica cf} 2 21 0.000 0.500 32 -152 label
(10) {/Helvetica cf} 2 21 0.000 0.500 0 -152 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -32 -152 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -64 -152 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -96 -152 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -128 -152 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -160 -152 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -192 -152 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -224 -152 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -256 -152 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -288 -152 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -320 -152 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -352 -152 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -384 -152 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -416 -152 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -448 -152 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -480 -152 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -512 -152 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -544 -152 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -576 -152 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -608 -152 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -640 -152 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -672 -152 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 368 -144 label
(0x24000004) {/Courier-Bold cf} 2 16 0.000 0.700 128 -64 label
1 1.000 80 -80 80 -32 2 polygon
1 1.000 -432 -80 -432 -32 2 polygon
1 1.000 -688 -32 -688 -80 2 polygon
1 1.000 336 -32 336 -80 2 polygon
1 1.000 336 -128 336 -176 2 polygon
1 1.000 -688 -128 -688 -176 2 polygon
0.600 0.600 0.600 scb
(0x24000005) {/Courier-Bold cf} 2 16 360.000 0.700 -128 -64 label
(0x24000006) {/Courier-Bold cf} 2 16 0.000 0.700 -384 -64 label
(0x24000007) {/Courier-Bold cf} 2 16 0.000 0.700 -640 -64 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 416 -64 label
(value) {/Helvetica cf} 2 20 0.000 0.700 368 -96 label
(\(undefined, reads zero\)) {/Helvetica cf} 2 17 0.000 0.700 -288 -112 label
1 1.000 -688 -32 336 -32 2 polygon
1 1.000 -688 -176 336 -176 2 polygon
(reg_spi_data) {/Courier-Bold cf} 2 16 360.000 0.700 -272 -16 label
1 1.000 80 -80 80 -128 2 polygon
1 1.000 -176 -32 -176 -80 2 polygon
1 1.000 -176 -128 -176 -176 2 polygon
(SPI data) {/Helvetica cf} 2 17 0.000 0.700 208 -112 label
(Table 15) {/Helvetica-Oblique cf} 2 16 360.000 0.700 -688 -16 label
(spi sdi \(pin E9\), spi csb \(pin E8\), spi sck \(pin F8\), and spi sdo \(pin F9\))
{/Helvetica cf} 2 16 360.000 0.700 -480 1056 label
(The byte at 0x24000004 holds the SPI data \(either read or write\))
{/Helvetica cf} 2 28 0.000 0.700 -688 -208 label
(Bit 14) {/Helvetica cf} 2 16 0.000 0.700 -688 624 label
(Bit 13) {/Helvetica cf} 2 16 0.000 0.700 -688 560 label
(Bit 12) {/Helvetica cf} 2 16 0.000 0.700 -688 496 label
(Bit 11) {/Helvetica cf} 2 16 0.000 0.700 -688 432 label
(Bit 10) {/Helvetica cf} 2 16 0.000 0.700 -688 368 label
(Bit 9) {/Helvetica cf} 2 16 0.000 0.700 -688 304 label
(Bit 8) {/Helvetica cf} 2 16 0.000 0.700 -688 240 label
(Bits 7\2610) {/Helvetica cf} 2 16 0.000 0.700 -688 176 label
(SPI interrupt enable) {/Helvetica cf} 2 16 0.000 0.700 -544 624 label
(SPI system enable) {/Helvetica cf} 2 16 0.000 0.700 -544 560 label
(stream) {/Helvetica cf} 2 16 0.000 0.700 -544 496 label
(mode) {/Helvetica cf} 2 16 0.000 0.700 -544 432 label
(invert SCK) {/Helvetica cf} 2 16 0.000 0.700 -544 368 label
(invert CSB) {/Helvetica cf} 2 16 0.000 0.700 -544 304 label
(MLB) {/Helvetica cf} 2 16 0.000 0.700 -544 240 label
(prescaler) {/Helvetica cf} 2 16 0.000 0.700 -544 176 label
(0 = apply/release CSB separately for each byte) {/Helvetica cf} 2 16 0.000
0.700 -256 496 label
(1 = apply CSB until stream bit is cleared \(manually\)) {/Helvetica cf} 2 16
0.000 0.700 -256 464 label
(0 = read and change data on opposite SCK edges) {/Helvetica cf} 2 16 0.000
0.700 -256 432 label
(1 = read and change data on the same SCK edge) {/Helvetica cf} 2 16 0.000
0.700 -256 400 label
(0 = normal SCK) {/Helvetica cf} 2 16 0.000 0.700 -256 368 label
(1= inverted SCK) {/Helvetica cf} 2 16 0.000 0.700 -256 336 label
(0 = normal CSB \(low is active\)) {/Helvetica cf} 2 16 0.000 0.700 -256 304
label
(1 = inverted CSB \(high is active\)) {/Helvetica cf} 2 16 0.000 0.700 -256 272
label
(count \(in master clock cycles\) of 1/2 SCK cycle) {/Helvetica cf} 2 16 0.000
0.700 -256 176 label
(0 = msb first) {/Helvetica cf} 2 16 0.000 0.700 -256 240 label
(1 = lsb first) {/Helvetica cf} 2 16 0.000 0.700 -256 208 label
(0 = SPI disabled) {/Helvetica cf} 2 16 0.000 0.700 -256 560 label
(1 = SPI enabled) {/Helvetica cf} 2 16 0.000 0.700 -256 528 label
(0 = interrupt disabled) {/Helvetica cf} 2 16 0.000 0.700 -256 624 label
(1 = interrupt enabled) {/Helvetica cf} 2 16 0.000 0.700 -256 592 label
(\(default value 2\)) {/Helvetica cf} 2 16 0.000 0.700 -256 144 label
1 1.000 -688 720 416 720 2 polygon
(Configuration bit defintions) {/Helvetica cf} 2 16 0.000 0.700 -688 736 label
(All configuration bits other than the prescaler default to value zero.)
{/Helvetica cf} 2 16 0.000 0.700 -688 96 label
(there is no FIFO associated with the SPI master.) {CR}
(relatively expensive operations that tie up the CPU, but will not lose or overwrite data. Note that)
{CR}
(is still in progress. There is no FIFO buffer for data. Therefore SPI reads and writes are)
{CR}
(still in progress. Reading from the SPI will also stall the CPU if an incomplete SPI transmission)
{CR}
(is similar to the UART. A write operation will stall the CPU if an incomplete SPI transmission is)
{CR}
(in the configuration register, and writing values to or reading from reg_spi_data. The protocol)
{CR}
(Reading to and writing from the SPI master is simply a matter of setting the required values)
{/Helvetica cf} 14 28 0.000 0.700 -688 -288 label
(page 14) {/Helvetica cf} 2 31 0.000 0.700 496 1136 label
(Bit 15) {/Helvetica cf} 2 16 0.000 0.700 -688 688 label
(Housekeeping) {/Helvetica cf} 2 16 0.000 0.700 -544 688 label
(0 = SPI master connected to external pins) {/Helvetica cf} 2 16 0.000 0.700
-256 688 label
(1 = SPI master connected directly to housekeeping SPI) {/Helvetica cf} 2 16
0.000 0.700 -256 656 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

@ -0,0 +1,516 @@
%!PS-Adobe-3.0
%%Title: uart_function.ps
%%Creator: XCircuit v0.0 rev-1817832939
%%CreationDate: Thu Dec 16 14:19:15 2021
%%Pages: 1
%%BoundingBox: 0 0 612 792
%%DocumentNeededResources: font Helvetica Helvetica-Bold Helvetica-Oblique
%%+ font Courier-Bold
%%EndComments
%%BeginProlog
%
% PostScript prolog for output from xcircuit
% Version: 3.9
%
% Electrical circuit (and otherwise general) drawing program
%
% Written by Tim Edwards 8/5/93--4/12/16 (tim@opencircuitdesign.com)
% The Johns Hopkins University (1993-2004)
% MultiGiG, Inc. (2004-2012)
% Open Circuit Design (2012-2016)
%
%%BeginResource: procset XCIRCproc 3.9 1
%
% supporting definitions --- these are the primary xcircuit types.
/XCIRCsave save def
/topmat matrix currentmatrix def
/fontslant { /slant exch def [1 0 slant 1 0 0]
exch findfont exch makefont dup length dict /ndict exch def
{ 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
ndict definefont pop} def
/ul { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave
currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
false charpath flattenpath pathbbox grestore exch pop 1 index
sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
rlineto stroke moveto } if } if } def
/ol { count 0 gt { dup type /stringtype eq showflag 1 eq and { gsave gsave
currentpoint topmat setmatrix 2 index stringwidth pop 3 index
true charpath flattenpath pathbbox grestore exch pop
exch pop topmat setmatrix (_) true charpath pathbbox grestore
exch pop 1 index sub setlinewidth exch pop currentpoint
exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
moveto } if } if } def
/stW { gsave currentpoint newpath moveto true charpath flattenpath
pathbbox pop exch pop sub grestore } def
/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
0 currentpoint pop put} def
/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
{currentpoint exch pop moveto exit} {pop} ifelse } for } def
/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
/hS { qS qS } def
/pspc 0 def
/cf0 { scalefont setfont } bind def
/Kn { dup kY add /kY exch def rmoveto } bind def
/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.33 mul neg Kn} def
/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
0.67 mul Kn } def
/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
/MR { /twidth exch def } def
/CRx { } def
/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto CRx } def
/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
{ 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
{fscale0 mul fscale mul cf0} ifelse } def
/ctmk { counttomark dup 2 add -1 roll pop } bind def
/label { gsave translate 0 0 moveto dup scale neg
/rotval exch def /twidth 100000 def /just exch def just 128 and
0 gt {/mshow {pop} def} {/mshow {show} def} ifelse just 16 and 0
gt {gsave rotval rotate 0 1 dtransform gsave pagemat setmatrix
idtransform exch grestore 1 0 dtransform gsave pagemat setmatrix
idtransform exch grestore dup abs 1e-9 lt {pop mul 0 gt} {3 1 roll
pop pop 0 lt} ifelse grestore {-1 /rotval rotval neg def /just just
dup 3 and 1 ne {3 xor} if def} {1} ifelse exch -1e-9 lt {-1 /rotval
rotval neg def /just just dup 12 and 4 ne {12 xor} if def} {1}
ifelse scale } if /showflag 0 def /fspc pspc def /Bline 0 def
/numlines 0 def /padding 0 array def /Tabs 0 array def
/fscale 1.0 def /kY 0 def gsave /CRx { linewid padding
aload pop numlines 1 add dup /numlines exch def array astore
/padding exch def /linewid 0 def } def dup 1 add copy dup 1 0
dtransform exch atan rotate {exch dup type /stringtype eq {gsave dup
gsave newpath 0 0 moveto true charpath flattenpath pathbbox pop exch
pop exch pop grestore currentpoint pop add dup /linewid exch def twidth
ge {grestore CR exch 1 add dup 2 add {CR} exch 1 roll exch} {grestore}
ifelse true charpath flattenpath} {dup type /arraytype eq {exec} {12
string cvs true charpath flattenpath} ifelse} ifelse} repeat
CRx /CRx {padding aload pop just 1280 and 0 gt {blockwid exch sub just
1024 and 0 gt {0.5 mul} if} {pop 0} ifelse 0 rmoveto numlines 1 sub
dup /numlines exch def array astore /padding exch def} def exch pop
pathbbox grestore 4 copy pop exch pop exch sub /blockwid exch def
3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and
0 gt {exch pop neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg
fspc add} ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt
{exch pop neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add}
ifelse rotval rotate Kn currentpoint translate /showflag 1 def /Bline
0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def CRx {dup type
/stringtype eq {mshow} {dup type /arraytype eq {exec} {12 string cvs
mshow} ifelse} ifelse} repeat grestore endclip} def
/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
/pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
/pinglobal { pinlabel } def
/infolabel { pinlabel } def
/graphic { gsave 4 index cvx exec /DataSource get resetfile translate 0 0
moveto neg rotate dup scale cvx exec image grestore endclip} def
/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
/cRedef {/defColor currentcolor 3 array astore def} def
/begingate {dup type /dicttype ne {1 dict} if begin % default params
dup type /dicttype ne {1 dict} if begin % instanced params
/hlevel hlevel 1 add def /defColor currentcolor sce 3 array astore
def gsave sce dup type /nametype eq { pop } if translate 0 0 moveto
neg rotate dup type /nametype eq not { dup abs currentlinewidth exch
div setlinewidth } { pop } ifelse dup abs scale clipped 1 and 1 eq
{/clipped clipped 1 add def} if} bind def
/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
scb end end endclip} bind def
/hlevel 0 def
/endclip {clipped 1 and 1 eq {grestore /clipped clipped 1 sub def} if} def
/tmpa [1 0 0 1 0 0] def
/gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
{8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
{8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
{ 3 index exch 5 exch put dup -8 3 index { 3 index
exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
/setstyles {
currentlinewidth mul setlinewidth /style exch def style 2048 and 0 gt
clipped 1 and 0 eq and {clip newpath /clipped clipped 1 add def} {
style 1 and 0 gt not {closepath} if
style 1024 and 0 gt {2 setlinecap 0 setlinejoin} if
style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
{3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
{dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
{style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
style 512 eq or {newpath} {stroke} ifelse grestore endclip} ifelse} def
/addtoy {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll add
4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtoy1 {1 exch addtoy pop} def
/addtoy3 {3 exch addtoy pop} def
/addtoy4 {4 exch addtoy pop} def
/addtox {exch dup dup 2 mul 3 add 1 roll -1 1 { 4 1 roll dup 4 1 roll 3 -1 roll
add exch 4 -1 roll 2 mul 1 add index 2 mul 2 add 2 roll} for pop} def
/addtox1 {1 exch addtox pop} def
/addtox3 {3 exch addtox pop} def
/addtox4 {4 exch addtox pop} def
/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
/xcarc { gsave newpath arc setstyles } def
/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
3 index div 1 scale } def
/ele { 0 4 1 roll 0 4 1 roll } bind def
/ellipse { gsave elb newpath ele arc setmatrix setstyles } def
/pellip { elb ele arc setmatrix } def
/nellip { elb ele arcn setmatrix } def
/spline { gsave moveto curveto setstyles } def
/polyc { {lineto} repeat } bind def
/beginpath { gsave moveto } bind def
/endpath { setstyles } bind def
/bop { 1 setlinecap 2 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef
/clipped 0 def} def
/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
rotate translate dup scale} def
/end_insert {PSobj restore} def
/setpagemat {/pagemat matrix currentmatrix def} def
/inchscale {setpagemat 0.375 mul dup scale} def
/cmscale {setpagemat 0.35433071 mul dup scale} def
%%EndResource
%%EndProlog
% XCircuit output starts here.
%%BeginSetup
%%EndSetup
%%Page: uart 1
%%PageOrientation: Portrait
%%PageBoundingBox: 0 0 612 792
/pgsave save def bop
1.0000 inchscale
2.6000 setlinewidth 992 736 translate
0.678 1.000 0.184 scb
512 1.000 -800 1184 -800 -544 448 -544 448 1184 4 polygon
sce
(\(cont.\)) {/Helvetica-Oblique cf} (Functional Description )
{/Helvetica-Bold cf} 4 16 0.000 0.700 -800 1152 label
1 1.000 -800 1136 448 1136 2 polygon
(External clock) {/Helvetica-Bold cf} 2 16 0.000 0.700 -800 1088 label
(UART) {/Helvetica-Bold cf} 2 16 0.000 0.700 -800 864 label
(ser tx \(pin F7\) and ser rx \(pin E7\)) {/Helvetica cf} 2 16 0.000 0.700 -288
864 label
(clock \(pin C9\)) {/Helvetica cf} 2 16 0.000 0.700 -288 1088 label
(blocking operations which will generate CPU wait states until the data transfer is completed.)
{CR}
(at a fixed baud rate. Although the UART operates independently of the CPU, data transfers are)
{CR}
(The UART is a standard 2-pin serial interface that can communicate with most similar interfaces)
{/Helvetica cf} 6 28 0.000 0.700 -800 832 label
0 1.000 -752 512 -752 560 272 560 272 512 4 polygon
1 1.000 -720 512 -720 464 2 polygon
1 1.000 -688 512 -688 464 2 polygon
1 1.000 -656 512 -656 464 2 polygon
1 1.000 -624 512 -624 464 2 polygon
1 1.000 -592 512 -592 464 2 polygon
1 1.000 -560 512 -560 464 2 polygon
1 1.000 -528 512 -528 464 2 polygon
1 1.000 -496 512 -496 464 2 polygon
1 1.000 -464 512 -464 464 2 polygon
1 1.000 -432 512 -432 464 2 polygon
1 1.000 -400 512 -400 464 2 polygon
1 1.000 -368 512 -368 464 2 polygon
1 1.000 -336 512 -336 464 2 polygon
1 1.000 -304 512 -304 464 2 polygon
1 1.000 -272 512 -272 464 2 polygon
1 1.000 -208 512 -208 464 2 polygon
1 1.000 -176 512 -176 464 2 polygon
1 1.000 -144 512 -144 464 2 polygon
1 1.000 -112 512 -112 464 2 polygon
1 1.000 -80 512 -80 464 2 polygon
1 1.000 -48 512 -48 464 2 polygon
1 1.000 -16 512 -16 464 2 polygon
1 1.000 16 512 16 464 2 polygon
1 1.000 48 512 48 464 2 polygon
1 1.000 80 512 80 464 2 polygon
1 1.000 112 512 112 464 2 polygon
1 1.000 144 512 144 464 2 polygon
1 1.000 176 512 176 464 2 polygon
1 1.000 208 512 208 464 2 polygon
1 1.000 240 512 240 464 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 488 label
(1) {/Helvetica cf} 2 21 0.000 0.500 224 488 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 488 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 488 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 488 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 488 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 488 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 488 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 488 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 488 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 488 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 488 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 488 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 488 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 488 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 488 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 488 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 488 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 488 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 488 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 488 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 488 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 488 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 488 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 488 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 488 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 488 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 488 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 488 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 488 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 488 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 488 label
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 496 label
(0x20000000) {/Courier-Bold cf} 2 16 0.000 0.700 64 576 label
1 1.000 16 560 16 608 2 polygon
1 1.000 -496 560 -496 608 2 polygon
1 1.000 -752 608 -752 560 2 polygon
1 1.000 272 608 272 560 2 polygon
1 1.000 272 512 272 464 2 polygon
1 1.000 -752 512 -752 464 2 polygon
(0x20000001) {/Courier-Bold cf} 2 16 360.000 0.700 -192 576 label
(0x20000002) {/Courier-Bold cf} 2 16 360.000 0.700 -448 576 label
(0x20000003) {/Courier-Bold cf} 2 16 0.000 0.700 -704 576 label
(address) {/Helvetica cf} 2 17 0.000 0.700 352 576 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 544 label
1 1.000 -752 608 272 608 2 polygon
1 1.000 -752 464 272 464 2 polygon
(reg_uart_clkdiv) {/Courier-Bold cf} 2 16 0.000 0.700 -336 624 label
1 1.000 -240 608 -240 560 2 polygon
1 1.000 -240 512 -240 464 2 polygon
(The behavior of the UART can be modified by changing values in the registers below:)
{/Helvetica cf} 2 16 0.000 0.700 -800 688 label
(Table 11) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 624 label
0 1.000 -752 96 -752 144 272 144 272 96 4 polygon
1 1.000 -720 96 -720 48 2 polygon
1 1.000 -688 96 -688 48 2 polygon
1 1.000 -656 96 -656 48 2 polygon
1 1.000 -624 96 -624 48 2 polygon
1 1.000 -592 96 -592 48 2 polygon
1 1.000 -560 96 -560 48 2 polygon
1 1.000 -528 96 -528 48 2 polygon
1 1.000 -496 96 -496 48 2 polygon
1 1.000 -464 96 -464 48 2 polygon
1 1.000 -432 96 -432 48 2 polygon
1 1.000 -400 96 -400 48 2 polygon
1 1.000 -368 96 -368 48 2 polygon
1 1.000 -336 96 -336 48 2 polygon
1 1.000 -304 96 -304 48 2 polygon
1 1.000 -272 96 -272 48 2 polygon
1 1.000 -208 96 -208 48 2 polygon
1 1.000 -176 96 -176 48 2 polygon
1 1.000 -144 96 -144 48 2 polygon
1 1.000 -112 96 -112 48 2 polygon
1 1.000 -80 96 -80 48 2 polygon
1 1.000 -48 96 -48 48 2 polygon
1 1.000 -16 96 -16 48 2 polygon
1 1.000 16 96 16 48 2 polygon
1 1.000 48 96 48 48 2 polygon
1 1.000 80 96 80 48 2 polygon
1 1.000 112 96 112 48 2 polygon
1 1.000 144 96 144 48 2 polygon
1 1.000 176 96 176 48 2 polygon
1 1.000 208 96 208 48 2 polygon
1 1.000 240 96 240 48 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 72 label
(1) {/Helvetica cf} 2 21 0.000 0.500 224 72 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 72 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 72 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 72 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 72 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 72 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 72 label
0.600 0.600 0.600 scb
(8) {/Helvetica cf} 2 21 0.000 0.500 0 72 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 72 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 72 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 72 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 72 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 72 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 72 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 72 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 72 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 72 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 72 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 72 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 72 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 72 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 72 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 72 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 72 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 72 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 72 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 72 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 72 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 72 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 72 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 72 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 80 label
(0x20000004) {/Courier-Bold cf} 2 16 0.000 0.700 64 160 label
1 1.000 16 144 16 192 2 polygon
1 1.000 -496 144 -496 192 2 polygon
1 1.000 -752 192 -752 144 2 polygon
1 1.000 272 192 272 144 2 polygon
1 1.000 272 96 272 48 2 polygon
1 1.000 -752 96 -752 48 2 polygon
0.600 0.600 0.600 scb
(0x20000005) {/Courier-Bold cf} 2 16 360.000 0.700 -192 160 label
(0x20000006) {/Courier-Bold cf} 2 16 360.000 0.700 -448 160 label
(0x20000007) {/Courier-Bold cf} 2 16 0.000 0.700 -704 160 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 352 160 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 128 label
1 1.000 -752 192 272 192 2 polygon
1 1.000 -752 48 272 48 2 polygon
(reg_uart_data) {/Courier-Bold cf} 2 16 0.000 0.700 -336 208 label
1 1.000 -240 192 -240 144 2 polygon
1 1.000 -240 96 -240 48 2 polygon
(\(unused, value is 0x0\)) {/Helvetica cf} 2 17 0.000 0.700 -352 112 label
1 1.000 16 144 16 96 2 polygon
(Table 12) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 208 label
(UART clock divider) {/Helvetica cf} 2 17 0.000 0.700 -240 528 label
(data bit rate \(baud rate\). The default value is 1.) {CR}
(The entire 32 bit word encodes the number of CPU core cycles to divide down to get the UART)
{/Helvetica cf} 4 28 0.000 0.700 -752 432 label
(To get 9600 baud, 100E6 / 9600 = 10417 \(hex value 0x28b1\).) {CR} (MHz.) {qS}
(MHz, then the core CPU clock runs at 100) {qS}
(If the external crystal is 12.5) {/Helvetica cf} (Example: )
{/Helvetica-Oblique cf} 10 28 0.000 0.700 -752 336 label
(buffer for additional reads. Note that there is no FIFO associated with the UART.)
{CR}
(the receive buffer, and returns the value of the receive buffer otherwise, and clears the receive)
{CR}
(buffer overflow. Reading a value from this register returns 255 \(0xff\) if no valid data byte is in)
{CR}
(expensive operation on the CPU, but avoids the necessity of buffering data and checking for)
{CR}
(is complete before starting the new write operation. This makes the UART transmit a relatively)
{CR}
(UART write operation is pending, then the CPU will be blocked with wait states until the transfer)
{CR}
(Writing a value to this register will immediately start a data transfer on the SER_TX pin. If a)
{/Helvetica cf} 14 28 0.000 0.700 -752 16 label
(page 13) {/Helvetica cf} 2 31 0.000 0.700 432 1168 label
(processor is driven by a trimmed free-running ring oscillator.) {CR}
(clock is multiplied up by the feedback divider value to obtain the core clock. In DCO mode, the)
{CR}
(SPI to set the processor into PLL mode or DCO free-running mode. In PLL mode, the external)
{CR}
(runs at the same rate as the external clock. The processor program may access the housekeeping)
{CR}
(The external clock functions as the source clock for the entire processor. On start-up, the processor)
{/Helvetica cf} 10 28 0.000 0.700 -800 1056 label
0 1.000 -752 -368 -752 -320 272 -320 272 -368 4 polygon
1 1.000 -720 -368 -720 -416 2 polygon
1 1.000 -688 -368 -688 -416 2 polygon
1 1.000 -656 -368 -656 -416 2 polygon
1 1.000 -624 -368 -624 -416 2 polygon
1 1.000 -592 -368 -592 -416 2 polygon
1 1.000 -560 -368 -560 -416 2 polygon
1 1.000 -528 -368 -528 -416 2 polygon
1 1.000 -496 -368 -496 -416 2 polygon
1 1.000 -464 -368 -464 -416 2 polygon
1 1.000 -432 -368 -432 -416 2 polygon
1 1.000 -400 -368 -400 -416 2 polygon
1 1.000 -368 -368 -368 -416 2 polygon
1 1.000 -336 -368 -336 -416 2 polygon
1 1.000 -304 -368 -304 -416 2 polygon
1 1.000 -272 -368 -272 -416 2 polygon
1 1.000 -208 -368 -208 -416 2 polygon
1 1.000 -176 -368 -176 -416 2 polygon
1 1.000 -144 -368 -144 -416 2 polygon
1 1.000 -112 -368 -112 -416 2 polygon
1 1.000 -80 -368 -80 -416 2 polygon
1 1.000 -48 -368 -48 -416 2 polygon
1 1.000 -16 -368 -16 -416 2 polygon
1 1.000 16 -368 16 -416 2 polygon
1 1.000 48 -368 48 -416 2 polygon
1 1.000 80 -368 80 -416 2 polygon
1 1.000 112 -368 112 -416 2 polygon
1 1.000 144 -368 144 -416 2 polygon
1 1.000 176 -368 176 -416 2 polygon
1 1.000 208 -368 208 -416 2 polygon
1 1.000 240 -368 240 -416 2 polygon
(0) {/Helvetica cf} 2 21 0.000 0.500 256 -392 label
0.600 0.600 0.600 scb
(1) {/Helvetica cf} 2 21 0.000 0.500 224 -392 label
(2) {/Helvetica cf} 2 21 0.000 0.500 192 -392 label
(3) {/Helvetica cf} 2 21 0.000 0.500 160 -392 label
(4) {/Helvetica cf} 2 21 0.000 0.500 128 -392 label
(5) {/Helvetica cf} 2 21 0.000 0.500 96 -392 label
(6) {/Helvetica cf} 2 21 0.000 0.500 64 -392 label
(7) {/Helvetica cf} 2 21 0.000 0.500 32 -392 label
(8) {/Helvetica cf} 2 21 0.000 0.500 0 -392 label
(9) {/Helvetica cf} 2 21 0.000 0.500 -32 -392 label
(10) {/Helvetica cf} 2 21 0.000 0.500 -64 -392 label
(11) {/Helvetica cf} 2 21 0.000 0.500 -96 -392 label
(12) {/Helvetica cf} 2 21 0.000 0.500 -128 -392 label
(13) {/Helvetica cf} 2 21 0.000 0.500 -160 -392 label
(14) {/Helvetica cf} 2 21 0.000 0.500 -192 -392 label
(15) {/Helvetica cf} 2 21 0.000 0.500 -224 -392 label
(16) {/Helvetica cf} 2 21 0.000 0.500 -256 -392 label
(17) {/Helvetica cf} 2 21 0.000 0.500 -288 -392 label
(18) {/Helvetica cf} 2 21 0.000 0.500 -320 -392 label
(19) {/Helvetica cf} 2 21 0.000 0.500 -352 -392 label
(20) {/Helvetica cf} 2 21 0.000 0.500 -384 -392 label
(21) {/Helvetica cf} 2 21 0.000 0.500 -416 -392 label
(22) {/Helvetica cf} 2 21 0.000 0.500 -448 -392 label
(23) {/Helvetica cf} 2 21 0.000 0.500 -480 -392 label
(24) {/Helvetica cf} 2 21 0.000 0.500 -512 -392 label
(25) {/Helvetica cf} 2 21 0.000 0.500 -544 -392 label
(26) {/Helvetica cf} 2 21 0.000 0.500 -576 -392 label
(27) {/Helvetica cf} 2 21 0.000 0.500 -608 -392 label
(28) {/Helvetica cf} 2 21 0.000 0.500 -640 -392 label
(29) {/Helvetica cf} 2 21 0.000 0.500 -672 -392 label
(30) {/Helvetica cf} 2 21 0.000 0.500 -704 -392 label
(31) {/Helvetica cf} 2 21 0.000 0.500 -736 -392 label
sce
(bit) {/Helvetica cf} 2 20 0.000 0.700 304 -384 label
(0x20000008) {/Courier-Bold cf} 2 16 0.000 0.700 64 -304 label
1 1.000 16 -320 16 -272 2 polygon
1 1.000 -496 -320 -496 -272 2 polygon
1 1.000 -752 -272 -752 -320 2 polygon
1 1.000 272 -272 272 -320 2 polygon
1 1.000 272 -368 272 -416 2 polygon
1 1.000 -752 -368 -752 -416 2 polygon
0.600 0.600 0.600 scb
(0x20000009) {/Courier-Bold cf} 2 16 360.000 0.700 -192 -304 label
(0x2000000a) {/Courier-Bold cf} 2 16 360.000 0.700 -448 -304 label
(0x2000000b) {/Courier-Bold cf} 2 16 0.000 0.700 -704 -304 label
sce
(address) {/Helvetica cf} 2 17 0.000 0.700 352 -304 label
(value) {/Helvetica cf} 2 20 0.000 0.700 304 -336 label
1 1.000 -752 -272 272 -272 2 polygon
1 1.000 -752 -416 272 -416 2 polygon
(reg_uart_enable) {/Courier-Bold cf} 2 16 0.000 0.700 -336 -256 label
1 1.000 -240 -272 -240 -320 2 polygon
1 1.000 -240 -368 -240 -416 2 polygon
(\(unused, value is 0x0\)) {/Helvetica cf} 2 17 0.000 0.700 -352 -352 label
1 1.000 16 -320 16 -368 2 polygon
(Table 13) {/Helvetica-Oblique cf} 2 16 0.000 0.700 -752 -256 label
(The UART must be enabled to run \(default disabled\)) {/Helvetica cf} 2 16
0.000 0.700 -752 -464 label
pgsave restore showpage
%%Trailer
XCIRCsave restore
%%EOF

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB