⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpga.ps

📁 软件无线电在MATLAB下的仿真
💻 PS
📖 第 1 页 / 共 5 页
字号:
%!PS-Adobe-3.0%%Creator: gEDA gschem 20060906%%CreationDate: Thu Oct 19 19:02:11 2006%%Title: /home/matt/usrp-hw/usrp/fpga.sch%%Author: matt%%BoundingBox: 0 0 792 1224%%Pages: 1%%Endcomments%%BeginProlog% Prolog for gEDA, define all the functions needed for rendering% schematics on Postscript devices% Draw a line from the second coordinate to the first% x2 y2 x1 y1 width line -/line {    setlinewidth    % pop off first element and moveto    moveto    % pop off remaining elements and draw a line segment    lineto    % draw it    stroke} bind def% Draw a dot% x y r dot -/dot {    0 360 arc fill} bind def% Draw a dot-dashed line, a bunch of lined segments,% if the array element only has length two, draw a dot.% [ [x2 y2 x1 y1] [x4 y4 x3 y3] [x5 y5] ... ] width dashed -/width 0 def/dashed {    dup 2.0 div /width exch def    setlinewidth    % pop off each line segment and draw it as a dot or as a line    {	aload length 2 gt	{ moveto lineto stroke}	{ width dot } ifelse    } forall} bind def% Draw an arc segment% x y r ang1 ang2 width darc -/darc {    setlinewidth    arc stroke} bind def% Draw a series of arc segment bits, if the array element only has a single% element in it, draw a dot.% [ [sa1 ea1] [sa2 ea2] ... ] x y r width dashedarc -/x 0 def/y 0 def/dashedarc {    dup /width exch def    setlinewidth    /r exch def      /y exch def    /x exch def    { aload length 1 gt	{	    % this element had two angles in it	    % extract start and stop angles	    x y r   % drop x y and r onto stack		    % at this point we have: sa ea x y r		    % we need                      x y r sa ea		    % so..	    5 -2 roll	    % and add it to the current path, and draw it	    arc stroke	} {	    % this element only had one angle in it, place a	    % filled dot at the appropriate place	    % compute center point of the arc using the angle	    % that is on the top of the stack	    dup   		% angle angle	    cos r mul x add 	% angle x	    exch		% x angle	    sin r mul y add	% x y	    width		% x y width/2	    dot			% draw the dot	} ifelse    } forall    % Now draw it    stroke} bind def% Draw a box% width height x y linethickness box -/box {    setlinewidth    moveto    exch dup 0 rlineto	 % w h, h w w 0      -- Draw bottom line    exch 0 exch rlineto	 % h w, w h 0, w 0 h -- Draw right line     neg 0 rlineto	 % w, -w 0           -- Draw Top line    closepath		 % finish and draw it    stroke} bind def			     % Draw a filled box% width height x y fbox -/fbox {    moveto    exch dup 0 rlineto	    exch 0 exch rlineto	    neg 0 rlineto		    closepath			    fill			} bind def% Font reincoding utilities% ISOLatin1Encoding, extended with remaining uncoded glyphs/ISOLatin1Extended [    /.notdef /Lslash /lslash /OE /oe /Scaron /scaron /Zcaron /zcaron    /Ydieresis /trademark /bullet /dagger /daggerdbl /ellipsis /emdash    /endash /fi /fl /florin /fraction /guilsinglleft /guilsinglright    /perthousand /quotedblbase /quotedblleft /quotedblright    /quotesinglbase /quotesingle /.notdef /.notdef /.notdef /space    /exclam /quotedbl /numbersign /dollar /percent /ampersand    /quoteright /parenleft /parenright /asterisk /plus /comma /minus    /period /slash /zero /one /two /three /four /five /six /seven /eight    /nine /colon /semicolon /less /equal /greater /question /at /A /B /C    /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z    /bracketleft /backslash /bracketright /asciicircum /underscore    /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s    /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef    /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex    /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla    /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent    /sterling /currency /yen /brokenbar /section /dieresis /copyright    /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron    /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph    /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright    /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute    /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute    /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth    /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply    /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn    /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring    /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave    /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute    /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute    /ucircumflex /udieresis /yacute /thorn /ydieresis] def% `new-font-name' `encoding-vector' `old-font-name' RE -/RE {    findfont    dup maxlength dict begin {        1 index /FID ne { def } { pop pop } ifelse    } forall    /Encoding exch def    dup /FontName exch def    currentdict end definefont pop} bind def% Text handling functions, select the font and scale it, then we need% only to apply the appropriate transformations to get the text% justified into the right spots.  The bad thing here is that we don't% do any kerning, so the output may look a bit strange.% compute the height of one character and return lly and ury% (char) charheight lly ury/charheight {    gsave			% push graphics state	newpath			% clear current path	0 0 moveto		% Set current point	false charpath		% get path	flattenpath		% flatten path	pathbbox		% stack = llx lly urx ury	exch pop		% stack = llx lly ury	3 -1 roll pop		% stack = lly ury    grestore			% pop graphics state} bind def% compute the height of a string, one character at a time% (string) stringheight lly ury/lly 0.0 def/ury 0.0 def/stringheight {    /lly 0.0 def			% initial value of heightmin    /ury 0.0 def			% initial value of heightmax    {				% work through string	( ) dup 0 4 -1 roll put	% create one character string	charheight		% measure it's height	dup ury gt {		% if ury gt heightmax	    /ury exch def	% update with new value	} {	    pop			% else discard ury	} ifelse	dup lly lt {		% if lly lt heightmin	    /lly exch def	% update with new value	} {	    pop			% else discard lly	} ifelse    } forall    lly ury			% Return the results} bind def% calculate the string width taking into account the escapes./mystrx 0.0 def/mystry 0.0 def/mystresc false def/mystringwidth {    /mystrx 0.0 def    /mystry 0.0 def    /mystresc false def    {				% work through string	% did we process the escape character last?	mystresc {	    % last character was escape	    % handle the escape	    % is it an _ = 95?	    dup 95 eq {		pop  % we don't need the character anymore		% toggle drawing overbars		0.0 0.0 % make it like it never happened...	    } {		% otherwise measure the character 		(\\ ) dup 1 4 -1 roll put % count a \ and the character		stringwidth	    } ifelse	    % and reset the flag	    /mystresc false def	} {	    % last character was not escape	    % is this escape	    dup 92 eq {		% yes, escape character, set flag		/mystresc true def		pop % drop character		0.0 0.0 % make like this character has no width and height	    } {		( ) dup 0 4 -1 roll put	% create one character string		stringwidth		% measure it's height/width	    } ifelse	} ifelse	% accumulate x and y movements	mystry add /mystry exch def	mystrx add /mystrx exch def    } forall    mystrx mystry % drop results on stack} bind def% Render a string with overbars%/escaped false def/drawoverbar false def/fontsize 0.0 def% Show a string, with an overbar over it% string charshow -/charshow {    drawoverbar {	% draw an overbar for the character	gsave	fontsize 10.0 div setlinewidth	0 fontsize rmoveto  % move to (0,overbarheight) 	dup stringwidth pop 0 rlineto % draw line to 	stroke	grestore    } if    show} bind def/overbarshow {    /drawoverbar false def      % start by not drawing overbars    {				% work through string	escaped {	    % the last character was the escape	    % handle the escape	    % is it an _ = 95?	    dup 95 eq {		pop  % we don't need the character anymore		% toggle drawing overbars		/drawoverbar drawoverbar not def	    } {		% otherwise render the character 		(\\ ) dup 1 4 -1 roll put % draw a \ and the character		charshow                      % render the string	    } ifelse	    % and reset the flag	    /escaped false def	} {	    % check for escape character \ = 92	    dup 92 eq {		% yes, escape character, set flag		/escaped true def		pop % drop character	    } {		% no, reset flag and draw character		( ) dup 0 4 -1 roll put	% create one character string		charshow	    } ifelse	} ifelse    } forall} bind def% % hcenter rjustify vcenter vjustify spacing [(line1) (line2) ... ] rot x y size text -/stringw 0.0 def/stringh 0.0 def/spacing 0.0 def/strings [ ] def/stringtxt ( ) def/stringcount 0 def/rot 0.0 def/text {    gsave	        % save state for later    dup /fontsize exch def  % save font size for corrections later    % do font selection     /gEDAFont findfont    exch scalefont    setfont    % set up coordinates    translate           % move origin to given point    rotate		% rotate so that text is drawn    0 0 moveto    dup length /stringcount exch def			% Get number of strings    /strings exch def     				% save strings    /spacing exch def    % do we have more than 1 string to render?    stringcount 1 eq {	/stringtxt strings aload pop def		% get the string 	/stringw stringtxt mystringwidth pop neg def	% get the -width	/stringh stringtxt stringheight exch pop neg def% get the -height	% First do vertical calculations	% hcenter rjustify vcenter vjustify 	% vertical justification	{ 0 stringh rmoveto } if 	% vertical center	{ 0 stringh 0.3571425 mul rmoveto } if  % not 0.5, so that						% it looks nicer	% Then do horizontal calculations	% right justify	{ stringw 0 rmoveto } if	% center	{ stringw 2.0 div 0 rmoveto } if	% Draw the text	stringtxt overbarshow    } {	% More than one line, compute bounding box for the text	% vertical height, don't use the actual hieght of the characters	% assume that the user wants to make the baselines line up with two	% text boxes placed side by side	/stringh stringcount spacing mul neg def	% Now figure out horizontal size, this amounts to keeping track	% of the longest string	/stringw 0.0 def	strings {	    mystringwidth pop	    dup stringw gt {		/stringw exch def	    } {		pop	    } ifelse	} forall	/stringw stringw neg def 	% get the -width		% First do vertical calculations	% hcenter rjustify vcenter vjustify 	% vertical justification	{ 0 stringh fontsize add rmoveto } if 	% vertical center	{ 0 stringh 0.5 mul rmoveto } if 	% Then do horizontal calculations	% right justify	{ stringw 0 rmoveto } if	% center	{ stringw 2.0 div 0 rmoveto } if	% now move up to the first line and begin rendering	0 stringcount 1 sub spacing mul rmoveto	strings {	    gsave		% Save starting point	    overbarshow		% render the text	    grestore	    0 spacing neg rmoveto	} forall    } ifelse    grestore 	% Restore old state} bind def%%EndProlog%%Page: 1 1/gEDAFont ISOLatin1Extended /Helvetica RE2 setlinecap0.072000 0.072000 scale10500 2029 translate 90 rotate0.294118 0.294118 scale-41200 -21300 translategsave78400 42000 78700 42000 10 linegsavefalse true false false 208.000000 [(68) ] 0 78600 42050 111.111115 textgrestoregsavefalse false false false 208.000000 [(DA0) ] 0 78750 42000 111.111115 textgrestore78400 41600 78700 41600 10 linegsavefalse true false false 208.000000 [(69) ] 0 78600 41650 111.111115 textgrestoregsavefalse false false false 208.000000 [(DA1) ] 0 78750 41600 111.111115 textgrestore78400 41200 78700 41200 10 linegsavefalse true false false 208.000000 [(70) ] 0 78600 41250 111.111115 textgrestoregsavefalse false false false 208.000000 [(DA2) ] 0 78750 41200 111.111115 textgrestore78400 40800 78700 40800 10 linegsavefalse true false false 208.000000 [(71) ] 0 78600 40850 111.111115 textgrestoregsavefalse false false false 208.000000 [(DA3) ] 0 78750 40800 111.111115 textgrestore78400 40400 78700 40400 10 linegsavefalse true false false 208.000000 [(72) ] 0 78600 40450 111.111115 textgrestoregsavefalse false false false 208.000000 [(DA4) ] 0 78750 40400 111.111115 textgrestore

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -