Browse Source

wp

master
Your Name 2 years ago
parent
commit
ab445ce465
77 changed files with 12930 additions and 124 deletions
  1. +17
    -16
      60hz_Divider/docs/22.aux
  2. +102
    -93
      60hz_Divider/docs/22.log
  3. BIN
      60hz_Divider/docs/22.pdf
  4. +17
    -0
      60hz_Divider/docs/22.tex
  5. +14
    -13
      60hz_Divider/docs/22.toc
  6. +18
    -0
      60hz_Divider/docs/23.aux
  7. +337
    -0
      60hz_Divider/docs/23.log
  8. BIN
      60hz_Divider/docs/23.pdf
  9. +221
    -0
      60hz_Divider/docs/23.tex
  10. +221
    -0
      60hz_Divider/docs/23.tex~
  11. +14
    -0
      60hz_Divider/docs/23.toc
  12. +4536
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds054.pdf
  13. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds057.pdf
  14. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds593.pdf
  15. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ug445.pdf
  16. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/pics/480px-Quick-start-xc9572xl-baslc.png
  17. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/pics/programming_connections_are_Just_jtag.png
  18. +518
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/CPLD:_Complex_programmable_logic_devices
  19. +396
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/CPLD_intro_3:_Inverse_LED_toggle
  20. +557
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/XC9500XL_CPLD_breakout_board
  21. +414
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/XC9572XL_CPLD_dev-board_introduction
  22. +442
    -0
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/Xilinx_XC9500XL_CPLD_quick_start
  23. BIN
      Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/ise-10.pdf
  24. +2
    -2
      Attiny_Solar_Energy_Harvest/docs/58.log
  25. BIN
      Attiny_Solar_Energy_Harvest/docs/58.pdf
  26. BIN
      DC_Brushed_Windmill/resources/ply-prop.png
  27. +3
    -0
      Edimax_WAP1750/docs/1.aux
  28. +253
    -0
      Edimax_WAP1750/docs/1.log
  29. BIN
      Edimax_WAP1750/docs/1.pdf
  30. +29
    -0
      Edimax_WAP1750/docs/1.tex
  31. +37
    -0
      Edimax_WAP1750/docs/1.tex~
  32. +12
    -0
      Edimax_WAP1750/docs/10.aux
  33. +339
    -0
      Edimax_WAP1750/docs/10.log
  34. BIN
      Edimax_WAP1750/docs/10.pdf
  35. +157
    -0
      Edimax_WAP1750/docs/10.tex
  36. +11
    -0
      Edimax_WAP1750/docs/10.toc
  37. +3
    -0
      Edimax_WAP1750/docs/2.aux
  38. +276
    -0
      Edimax_WAP1750/docs/2.log
  39. BIN
      Edimax_WAP1750/docs/2.pdf
  40. +66
    -0
      Edimax_WAP1750/docs/2.tex
  41. +29
    -0
      Edimax_WAP1750/docs/2.tex~
  42. +3
    -0
      Edimax_WAP1750/docs/3.aux
  43. +276
    -0
      Edimax_WAP1750/docs/3.log
  44. BIN
      Edimax_WAP1750/docs/3.pdf
  45. +68
    -0
      Edimax_WAP1750/docs/3.tex
  46. +66
    -0
      Edimax_WAP1750/docs/3.tex~
  47. +7
    -0
      Edimax_WAP1750/docs/4.aux
  48. +287
    -0
      Edimax_WAP1750/docs/4.log
  49. BIN
      Edimax_WAP1750/docs/4.pdf
  50. +104
    -0
      Edimax_WAP1750/docs/4.tex
  51. +82
    -0
      Edimax_WAP1750/docs/4.tex~
  52. +7
    -0
      Edimax_WAP1750/docs/5.aux
  53. +299
    -0
      Edimax_WAP1750/docs/5.log
  54. BIN
      Edimax_WAP1750/docs/5.pdf
  55. +113
    -0
      Edimax_WAP1750/docs/5.tex
  56. +104
    -0
      Edimax_WAP1750/docs/5.tex~
  57. +10
    -0
      Edimax_WAP1750/docs/6.aux
  58. +345
    -0
      Edimax_WAP1750/docs/6.log
  59. BIN
      Edimax_WAP1750/docs/6.pdf
  60. +149
    -0
      Edimax_WAP1750/docs/6.tex
  61. +113
    -0
      Edimax_WAP1750/docs/6.tex~
  62. +10
    -0
      Edimax_WAP1750/docs/7.aux
  63. +345
    -0
      Edimax_WAP1750/docs/7.log
  64. BIN
      Edimax_WAP1750/docs/7.pdf
  65. +149
    -0
      Edimax_WAP1750/docs/7.tex
  66. +12
    -0
      Edimax_WAP1750/docs/8.aux
  67. +351
    -0
      Edimax_WAP1750/docs/8.log
  68. BIN
      Edimax_WAP1750/docs/8.pdf
  69. +155
    -0
      Edimax_WAP1750/docs/8.tex
  70. +149
    -0
      Edimax_WAP1750/docs/8.tex~
  71. +11
    -0
      Edimax_WAP1750/docs/8.toc
  72. +12
    -0
      Edimax_WAP1750/docs/9.aux
  73. +339
    -0
      Edimax_WAP1750/docs/9.log
  74. BIN
      Edimax_WAP1750/docs/9.pdf
  75. +157
    -0
      Edimax_WAP1750/docs/9.tex
  76. +155
    -0
      Edimax_WAP1750/docs/9.tex~
  77. +11
    -0
      Edimax_WAP1750/docs/9.toc

+ 17
- 16
60hz_Divider/docs/22.aux View File

@ -1,17 +1,18 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}60Hz Divider}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Overview}{1}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 60 Hz Logic Divider to 1Hz\relax }}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}CPLD Programming}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.1}6KHz clock}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.2}UART output}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Divide by N Counters}{4}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces This divide by 6 counter, appears to not line up with what the TTL Cookbook has for a similar 7490 one.\relax }}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Attiny 6KHz Clock}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.7}Parsing of CPLD UART Stream}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Max7219 8 digit 7-Segment Display via Uno}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Rev A. 60Hz to 4 digits, is updated once per second.\relax }}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Project Rev A Complete}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.10}Related:}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {1}60Hz Divider}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Overview}{1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 60 Hz Logic Divider to 1Hz\relax }}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}CPLDs}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}CPLD Programming}{3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.1}6KHz clock}{3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.5.2}UART output}{3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Divide by N Counters}{4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces This divide by 6 counter, appears to not line up with what the TTL Cookbook has for a similar 7490 one.\relax }}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.7}Attiny 6KHz Clock}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Parsing of CPLD UART Stream}{5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Max7219 8 digit 7-Segment Display via Uno}{6}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Rev A. 60Hz to 4 digits, is updated once per second.\relax }}{8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.10}Project Rev A Complete}{8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.11}Related:}{9}\protected@file@percent }

+ 102
- 93
60hz_Divider/docs/22.log View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 27 AUG 2020 15:37
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2020.10.1) 14 OCT 2020 02:08
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -7,34 +7,33 @@ entering extended mode
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/6
0hz_Divider/docs/22.tex
LaTeX2e <2017/01/01> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
@ -45,25 +44,17 @@ File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2017/01/12 v0.06k Graphics/color for pdfTeX
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2016/02/21 v3.3-144 Customizing captions (AR)
Package: caption 2018/10/06 v3.3-154 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 67.
Package: caption3 2018/09/12 v1.8c caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 64.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
@ -72,7 +63,8 @@ Package caption3 Info: TeX engine: e-TeX on input line 67.
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@ContinuedFloat=\count88
\c@caption@flags=\count88
\c@ContinuedFloat=\count89
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
@ -92,10 +84,10 @@ Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/09/12 v5.6 Page Geometry
Package: geometry 2018/04/16 v5.8 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
@ -104,9 +96,9 @@ Package ifvtex Info: VTeX not detected.
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count89
\Gm@cntv=\count90
\c@Gm@tempcnt=\count91
\Gm@cnth=\count90
\Gm@cntv=\count91
\c@Gm@tempcnt=\count92
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
@ -134,39 +126,32 @@ LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count92
\scratchcounter=\count93
\scratchdimen=\dimen120
\scratchbox=\box26
\nofMPsegments=\count93
\nofMParguments=\count94
\scratchbox=\box27
\nofMPsegments=\count94
\nofMParguments=\count95
\everyMPshowfont=\toks16
\MPscratchCnt=\count95
\MPscratchCnt=\count96
\MPscratchDim=\dimen121
\MPnumerator=\count96
\makeMPintoPDFobject=\count97
\MPnumerator=\count97
\makeMPintoPDFobject=\count98
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2016/05/21 v0.22 Utility functions of pdfTeX for LuaTeX (HO
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
@ -175,15 +160,23 @@ Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
@ -228,89 +221,105 @@ Package caption Info: End \AtBeginDocument code.
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
(./22.toc
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 2.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 2.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 2.
)
(./22.toc)
\tf@toc=\write3
\openout3 = `22.toc'.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 24.
<../pics/DSCN2964.JPG, id=1, 1003.75pt x 752.8125pt>
<../pics/DSCN2964.JPG, id=1, 1003.75pt x 752.8125pt>
File: ../pics/DSCN2964.JPG Graphic file (type jpg)
<use ../pics/DSCN2964.JPG>
Package pdftex.def Info: ../pics/DSCN2964.JPG used on input line 26.
Package pdftex.def Info: ../pics/DSCN2964.JPG used on input line 26.
(pdftex.def) Requested size: 150.556pt x 112.91699pt.
[1
Non-PDF special ignored!
<special> papersize=433.62pt,650.43pt
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <../pics/DSCN2964.JPG>]
Overfull \hbox (88.69052pt too wide) in paragraph at lines 65--65
[] \OT1/cmtt/m/n/10.95 ***** These pin numbers will probably not work with your
hardware *****[]
[]
[2 <../pics/DSCN2964.JPG>] [3]
<../pics/DSCN2958.JPG, id=20, 1003.75pt x 752.8125pt>
File: ../pics/DSCN2958.JPG Graphic file (type jpg)
Overfull \hbox (94.43921pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 http://dangerousprototypes.com/docs/Xilinx_CPLDs:_XC9500_
vs_CoolRunner-II[]
[]
Overfull \hbox (353.13016pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 https://www.eevblog.com/forum/fpga/what-are-cplds-do-they
-still-play-a-role-how-to-program-them/msg3084581/#msg3084581[]
[]
Overfull \hbox (100.1879pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 https://www.seeedstudio.com/XC9572XL-CPLD-development-boa
rd-v1b-p-799.html[]
[]
[2]
<../pics/DSCN2958.JPG, id=16, 1003.75pt x 752.8125pt>
File: ../pics/DSCN2958.JPG Graphic file (type jpg)
<use ../pics/DSCN2958.JPG>
Package pdftex.def Info: ../pics/DSCN2958.JPG used on input line 88.
Package pdftex.def Info: ../pics/DSCN2958.JPG used on input line 105.
(pdftex.def) Requested size: 200.74644pt x 150.55983pt.
[4 <../pics/DSCN2958.JPG>] [5]
Overfull \hbox (13.65749pt too wide) in paragraph at lines 129--130
[3] [4 <../pics/DSCN2958.JPG>] [5]
Overfull \hbox (13.65749pt too wide) in paragraph at lines 146--147
\OT1/cmr/m/n/10.95 Reference: http://maxembedded.com/2011/06/port-operations-in
-avr/
[]
Overfull \hbox (19.70627pt too wide) in paragraph at lines 172--172
Overfull \hbox (19.70627pt too wide) in paragraph at lines 189--189
[]\OT1/cmtt/m/n/10.95 //https://playground.arduino.cc/Main/LedControl/#Seg7Cont
rol[]
[]
[6] <../pics/DSCN0170.JPG, id=30, 1003.75pt x 752.8125pt>
[6]
<../pics/DSCN0170.JPG, id=30, 1003.75pt x 752.8125pt>
File: ../pics/DSCN0170.JPG Graphic file (type jpg)
<use ../pics/DSCN0170.JPG>
Package pdftex.def Info: ../pics/DSCN0170.JPG used on input line 175.
Package pdftex.def Info: ../pics/DSCN0170.JPG used on input line 192.
(pdftex.def) Requested size: 301.12732pt x 225.84549pt.
Package caption Warning: \captionsetup{type*=...} or \captionof
(caption) outside box or environment on input line 176.
(caption) outside box or environment on input line 193.
See the caption package documentation for explanation.
[7]
LaTeX Font Info: Try loading font information for OMS+cmr on input line 183.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 200.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 183.
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 200.
Underfull \hbox (badness 10000) in paragraph at lines 197--198
Underfull \hbox (badness 10000) in paragraph at lines 214--215
[]\OT1/cmr/m/n/10.95 https://shepherdingelectrons.blogspot.com/2020/07/uart-
[]
[8 <../pics/DSCN0170.JPG>] [9] (./22.aux) )
Here is how much of TeX's memory you used:
3550 strings out of 494945
53966 string characters out of 6181032
119035 words of memory out of 5000000
6819 multiletter control sequences out of 15000+600000
3545 strings out of 494561
53978 string characters out of 6177454
123288 words of memory out of 5000000
7181 multiletter control sequences out of 15000+600000
8977 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
39i,8n,39p,694b,291s stack positions out of 5000i,500n,10000p,200000b,80000s
41i,8n,39p,694b,271s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts
/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1
/public/amsfonts/cm/cmbx12.pfb></usr/share/texlive/texmf-dist/fonts/type1/publi
@ -319,7 +328,7 @@ nts/cm/cmr6.pfb>
mr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb>
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/
share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 22.pdf (9 pages, 755432 bytes).
Output written on 22.pdf (9 pages, 755018 bytes).
PDF statistics:
69 PDF objects out of 1000 (max. 8388607)
46 compressed objects within 1 object stream

BIN
60hz_Divider/docs/22.pdf View File


+ 17
- 0
60hz_Divider/docs/22.tex View File

@ -67,8 +67,25 @@ Some of the lines have to be edited to allow for all digits to be read, and
also to lower intensity of display. I think also a component package (dark
grey clear plastic bag) in front of the leds with intensity 1 is about right.
\subsection{CPLDs}
\begin{verbatim}
http://dangerousprototypes.com/docs/Xilinx_CPLDs:_XC9500_vs_CoolRunner-II
https://www.eevblog.com/forum/fpga/what-are-cplds-do-they-still-play-a-role-how-to-program-them/msg3084581/#msg3084581
https://www.seeedstudio.com/XC9572XL-CPLD-development-board-v1b-p-799.html
\end{verbatim}
dangerous prototypes has a few
including the xc2, the xc95, and the coolrunner.
i wanted xc95, so they have one for \$12. not bad.
looks like bus pirate can program... But I ended up using a Xilinx USB Platform Cable.
\subsection{CPLD Programming}
Using the XC9500XL series. This chip has some limitations - which are good.
As you get faster clocks, you need bigger registers to handle parsing the clocks. Bigger registers, use more power. Maybe this is one reason why high clock speeds mean more power.

+ 14
- 13
60hz_Divider/docs/22.toc View File

@ -1,13 +1,14 @@
\contentsline {section}{\numberline {1}60Hz Divider}{1}
\contentsline {subsection}{\numberline {1.1}Overview}{1}
\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{2}
\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}
\contentsline {subsection}{\numberline {1.4}CPLD Programming}{3}
\contentsline {subsubsection}{\numberline {1.4.1}6KHz clock}{3}
\contentsline {subsubsection}{\numberline {1.4.2}UART output}{3}
\contentsline {subsection}{\numberline {1.5}Divide by N Counters}{4}
\contentsline {subsection}{\numberline {1.6}Attiny 6KHz Clock}{5}
\contentsline {subsection}{\numberline {1.7}Parsing of CPLD UART Stream}{5}
\contentsline {subsection}{\numberline {1.8}Max7219 8 digit 7-Segment Display via Uno}{6}
\contentsline {subsection}{\numberline {1.9}Project Rev A Complete}{8}
\contentsline {subsection}{\numberline {1.10}Related:}{9}
\contentsline {section}{\numberline {1}60Hz Divider}{1}%
\contentsline {subsection}{\numberline {1.1}Overview}{1}%
\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{1}%
\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}%
\contentsline {subsection}{\numberline {1.4}CPLDs}{2}%
\contentsline {subsection}{\numberline {1.5}CPLD Programming}{3}%
\contentsline {subsubsection}{\numberline {1.5.1}6KHz clock}{3}%
\contentsline {subsubsection}{\numberline {1.5.2}UART output}{3}%
\contentsline {subsection}{\numberline {1.6}Divide by N Counters}{4}%
\contentsline {subsection}{\numberline {1.7}Attiny 6KHz Clock}{4}%
\contentsline {subsection}{\numberline {1.8}Parsing of CPLD UART Stream}{5}%
\contentsline {subsection}{\numberline {1.9}Max7219 8 digit 7-Segment Display via Uno}{6}%
\contentsline {subsection}{\numberline {1.10}Project Rev A Complete}{8}%
\contentsline {subsection}{\numberline {1.11}Related:}{9}%

+ 18
- 0
60hz_Divider/docs/23.aux View File

@ -0,0 +1,18 @@
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}60Hz Divider}{1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Overview}{1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 60 Hz Logic Divider to 1Hz\relax }}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}CPLDs}{3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.1}Programming}{3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.2}6KHz clock}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.4.3}UART output}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Divide by N Counters}{4}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces This divide by 6 counter, appears to not line up with what the TTL Cookbook has for a similar 7490 one.\relax }}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Attiny 6KHz Clock}{5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.7}Parsing of CPLD UART Stream}{5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Max7219 8 digit 7-Segment Display via Uno}{7}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Rev A. 60Hz to 4 digits, is updated once per second.\relax }}{8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Project Rev A Complete}{8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.10}Related:}{9}\protected@file@percent }

+ 337
- 0
60hz_Divider/docs/23.log View File

@ -0,0 +1,337 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2020.10.1) 14 OCT 2020 02:09
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/
60hz_Divider/docs/23.tex
(/home/layoutdev/Desktop/code/documentation_general/Electronics_Projects_2020/6
0hz_Divider/docs/23.tex
LaTeX2e <2018-12-01>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo
File: size11.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 99.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2018/10/06 v3.3-154 Customizing captions (AR)
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2018/09/12 v1.8c caption3 kernel (AR)
Package caption3 Info: TeX engine: e-TeX on input line 64.
\captionmargin=\dimen105
\captionmargin@=\dimen106
\captionwidth=\dimen107
\caption@tempdima=\dimen108
\caption@indent=\dimen109
\caption@parindent=\dimen110
\caption@hangindent=\dimen111
)
\c@caption@flags=\count88
\c@ContinuedFloat=\count89
)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 225.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1364.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
)
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2018/04/16 v5.8 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
Package ifvtex Info: VTeX not detected.
)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
)
\Gm@cnth=\count90
\Gm@cntv=\count91
\c@Gm@tempcnt=\count92
\Gm@bindingoffset=\dimen112
\Gm@wd@mp=\dimen113
\Gm@odd@mp=\dimen114
\Gm@even@mp=\dimen115
\Gm@layoutwidth=\dimen116
\Gm@layoutheight=\dimen117
\Gm@layouthoffset=\dimen118
\Gm@layoutvoffset=\dimen119
\Gm@dimlist=\toks15
) (./23.aux)
\openout1 = `23.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 12.
LaTeX Font Info: ... okay on input line 12.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count93
\scratchdimen=\dimen120
\scratchbox=\box27
\nofMPsegments=\count94
\nofMParguments=\count95
\everyMPshowfont=\toks16
\MPscratchCnt=\count96
\MPscratchDim=\dimen121
\MPnumerator=\count97
\makeMPintoPDFobject=\count98
\everyMPtoPDFconversion=\toks17
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
)))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
)
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
38.
Package grfext Info: Graphics extension search list:
(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 456.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: End \AtBeginDocument code.
*geometry* detected driver: dvips
*geometry* verbose mode - [ preamble ] result:
* driver: dvips
* paper: custom
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* vratio: 1:1
* modes:
* h-part:(L,W,R)=(54.2025pt, 325.215pt, 54.2025pt)
* v-part:(T,H,B)=(79.49689pt, 491.43622pt, 79.49689pt)
* \paperwidth=433.62pt
* \paperheight=650.43pt
* \textwidth=325.215pt
* \textheight=491.43622pt
* \oddsidemargin=-18.06749pt
* \evensidemargin=-18.06749pt
* \topmargin=-29.7731pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=11.0pt
* \footskip=30.0pt
* \marginparwidth=59.0pt
* \marginparsep=10.0pt
* \columnsep=10.0pt
* \skip\footins=10.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
(./23.toc
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <10.95> on input line 2.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 2.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 2.
)
\tf@toc=\write3
\openout3 = `23.toc'.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <9> on input line 24.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 24.
<../pics/DSCN2964.JPG, id=1, 1003.75pt x 752.8125pt>
File: ../pics/DSCN2964.JPG Graphic file (type jpg)
<use ../pics/DSCN2964.JPG>
Package pdftex.def Info: ../pics/DSCN2964.JPG used on input line 26.
(pdftex.def) Requested size: 150.556pt x 112.91699pt.
[1
Non-PDF special ignored!
<special> papersize=433.62pt,650.43pt
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
Overfull \hbox (88.69052pt too wide) in paragraph at lines 65--65
[] \OT1/cmtt/m/n/10.95 ***** These pin numbers will probably not work with your
hardware *****[]
[]
[2 <../pics/DSCN2964.JPG>]
Overfull \hbox (94.43921pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 http://dangerousprototypes.com/docs/Xilinx_CPLDs:_XC9500_
vs_CoolRunner-II[]
[]
Overfull \hbox (353.13016pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 https://www.eevblog.com/forum/fpga/what-are-cplds-do-they
-still-play-a-role-how-to-program-them/msg3084581/#msg3084581[]
[]
Overfull \hbox (100.1879pt too wide) in paragraph at lines 77--77
[]\OT1/cmtt/m/n/10.95 https://www.seeedstudio.com/XC9572XL-CPLD-development-boa
rd-v1b-p-799.html[]
[]
[3]
<../pics/DSCN2958.JPG, id=20, 1003.75pt x 752.8125pt>
File: ../pics/DSCN2958.JPG Graphic file (type jpg)
<use ../pics/DSCN2958.JPG>
Package pdftex.def Info: ../pics/DSCN2958.JPG used on input line 105.
(pdftex.def) Requested size: 200.74644pt x 150.55983pt.
[4 <../pics/DSCN2958.JPG>] [5]
Overfull \hbox (13.65749pt too wide) in paragraph at lines 146--147
\OT1/cmr/m/n/10.95 Reference: http://maxembedded.com/2011/06/port-operations-in
-avr/
[]
[6]
Overfull \hbox (19.70627pt too wide) in paragraph at lines 189--189
[]\OT1/cmtt/m/n/10.95 //https://playground.arduino.cc/Main/LedControl/#Seg7Cont
rol[]
[]
[7]
<../pics/DSCN0170.JPG, id=34, 1003.75pt x 752.8125pt>
File: ../pics/DSCN0170.JPG Graphic file (type jpg)
<use ../pics/DSCN0170.JPG>
Package pdftex.def Info: ../pics/DSCN0170.JPG used on input line 192.
(pdftex.def) Requested size: 301.12732pt x 225.84549pt.
Package caption Warning: \captionsetup{type*=...} or \captionof
(caption) outside box or environment on input line 193.
See the caption package documentation for explanation.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 200.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 200.
[8 <../pics/DSCN0170.JPG>]
Underfull \hbox (badness 10000) in paragraph at lines 214--215
[]\OT1/cmr/m/n/10.95 https://shepherdingelectrons.blogspot.com/2020/07/uart-
[]
[9] (./23.aux) )
Here is how much of TeX's memory you used:
3545 strings out of 494561
53978 string characters out of 6177454
123288 words of memory out of 5000000
7181 multiletter control sequences out of 15000+600000
8977 words of font info for 32 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
41i,8n,39p,694b,291s stack positions out of 5000i,500n,10000p,200000b,80000s
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive
/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-d
ist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 23.pdf (9 pages, 756682 bytes).
PDF statistics:
69 PDF objects out of 1000 (max. 8388607)
46 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
16 words of extra memory for PDF output out of 10000 (max. 10000000)

BIN
60hz_Divider/docs/23.pdf View File


+ 221
- 0
60hz_Divider/docs/23.tex View File

@ -0,0 +1,221 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
\tableofcontents
\textcolor{green!60!blue!70}{
\section{60Hz Divider}}
\subsection{Overview}
Let's count. There is a schematic in Practical Electronics For Beginners 4th edition. I've built that up, and will add some CPLD counter logic, along with a micro to output the SPI to a 7seg counter module.
The goal is relative accuracy. Not absolute. No GPS here. I'm going from 60 to 6,000 cycles.\footnote{Due to limitations of CPLD} This is just meant to be fun.
\begin{center}
\includegraphics[scale=0.15]{../pics/DSCN2964.JPG}
\captionof{figure}{60 Hz Logic Divider to 1Hz}
\end{center}
\subsection{Initial Notes: Counting the Hz}
pseudo code goal:
\begin{verbatim}
Using 1Hz signal
Start counting 1MHz every 1Hz
when next cycle is received,
display count
start counting again
\end{verbatim}
That's all the objective is here. Easy with a micro, but goal is to complete using cmos or 74 logic.
4553 x 5
74hct132
1MHz clock (or 6MHz clock), or some variation thereof
jk flip flop
74376 - quad jk flip flop
7476 - jk flip flop
1mhz clk will be main counter,
6 hz or 1 hz will be latch / reset
I ended up skipping the 74 CMOS, in favor of a CPLD. Practical Electronics also mentions this approach as favored. Even a micro alone could be used. Schematic entry in the CPLD could also be used.
\subsection{MAX7219 8 digit 7 LED segment Display Driver}
Basic code tested with this was the LedControl arduino library.
\begin{verbatim}
/*
Now we need a LedControl to work with.
***** These pin numbers will probably not work with your hardware *****
pin 12 is connected to the DataIn
pin 11 is connected to the CLK
pin 10 is connected to LOAD
We have only a single MAX72XX.
*/
\end{verbatim}
Some of the lines have to be edited to allow for all digits to be read, and
also to lower intensity of display. I think also a component package (dark
grey clear plastic bag) in front of the leds with intensity 1 is about right.
\subsection{CPLDs}
\begin{verbatim}
http://dangerousprototypes.com/docs/Xilinx_CPLDs:_XC9500_vs_CoolRunner-II
https://www.eevblog.com/forum/fpga/what-are-cplds-do-they-still-play-a-role-how-to-program-them/msg3084581/#msg3084581
https://www.seeedstudio.com/XC9572XL-CPLD-development-board-v1b-p-799.html
\end{verbatim}
Dangerous prototypes has a few
Including the xc2, the xc95, and the coolrunner.
I wanted xc95, so they have one for \$12. not bad.
Looks like bus pirate can program... But I ended up using a Xilinx USB Platform Cable.
\subsubsection{Programming}
Using the XC9500XL series. This chip has some limitations - which are good.
As you get faster clocks, you need bigger registers to handle parsing the clocks. Bigger registers, use more power. Maybe this is one reason why high clock speeds mean more power.
\subsubsection{6KHz clock}
Due to limitations on the XC9500XL FPGA logic blocks, I ended up limiting the counter registers to 12+1 bits\footnote{Possibly I could use multiple smaller registers in a type of cascade, but let's not bother with that for now. I had 600KHz resolution, until I added the UART out/}, so I have around 6,000 (assuming 60Hz), resolution. With this, I need a 6KHz clock. I could do this with the uno, but let's throw an attiny in there because it's a good tool for this kind of purpose and resolution. It should be able to function as a rough 6KHz timer, easily.
\subsubsection{UART output}
I set the CPLD to use the rising edge of the 6KHz clock and to shift the counter value out... Unsuprisingly, the baud rate is 6000. I found this by using my Open Bench Logic Sniffer\footnote{Phantom 3 in Repairs 2019}. It's fairly quick to configure and get working. Auto detected the UART speed easy.
However, my uart value is 12 - 14 bits, and with uart being an 8 bit protocol, it makes this unconventional. May need to bit bang something. But before that...
\subsection{Divide by N Counters}
\begin{center}
\includegraphics[scale=0.2]{../pics/DSCN2958.JPG}
\captionof{figure}{This divide by 6 counter, appears to not line up with what the TTL Cookbook has for a similar 7490 one.}
\end{center}
The schematics appear to be incorrect for the divide by 6 counter in the Practical Electronics for Beginners book. Having looked at my built up circuit carefully, I see a 20Hz output from the 60Hz. I managed to get my hands on a copy of the TTL Cookbook by Don Lancaster recently, and that details correct divide by 6 and 10 counters (which are different from what's on my proto board), and while I could fix the divide by 6 counter, instead, I'm going to build another divide by 2 counter, and leave the original incorrect one there as a warning (it's also easier to just build a new one).
As it is, I'm getting 2Hz output on the pulse pin... Oops. Practical Untested Electronics for Beginners. Hax. Everything in life is hax. The earlier you realize that, the better you will feel about your own work.\footnote{It's possible they put the error in on purpose. It's really hard to tell...}
\subsection{Attiny 6KHz Clock}
A small victory here: I setup an Attiny10 with an external oscillator (programmable CMOS, not Quartz) of 1.536MHz. I then set prescaler at 256 to get
6000. Set micro fuse to enable CKOUT pin, and now I have a 6KHz clock from the 20 cent micro plus. Neat usage of the attiny10 here, thanks
to my other project using it. The CPLD works with it, no problem.
\subsection{Parsing of CPLD UART Stream}
Back to the 14 bit stream...
I have the UART stream feeding into the Atmega328/Uno. For the code, I was unsure how to handle it at first, but then I realized a simple shift in would fit.
\textbf{Situation:} I have a serial UART stream at 6000 baud from the CPLD. However, it's not exactly UART. In fact, it has values of 6000, which are over 8 bit. So I have a 14 bit serial stream. There is no stop bit after the 8 bits, and no two 8 bit bytes. So hardware serial will not work. \footnote{I didn't want to deal with coding the UART into the CPLD. There are also size limitations.}
\textbf{Solution:} I have a serial 14 bit stream at 6000 baud. The answer is to tie the 6000 Hz CLK to a pin on the Uno, and implement a shift in, so that every clock up, the value is read on the Serial / 14 bit pin. I do have a start bit, and I am not outputting all the time, so this will be one 14 bit value every second.
\textbf{Problems:} The Uno's digitalRead timing is not 100\% As a result, some values are being read incorrectly. 5996 shows up as 5048 or similar. I need to go back and access the Input direct via register reads to speed things up. A Pin register access similar to:
\begin{verbatim}
Example Code Snippet
Let's demonstrate the use of the DDRx,
PORTx and PINx registers from the
following code snippet:
DDRC = 0x0F;
PORTC = 0x0C;
// lets assume a 4V supply comes to PORTC.6 and Vcc = 5V
if (PINC == 0b01000000)
PORTC = 0x0B;
else
PORTC = 0x00;
\end{verbatim}
Reference: http://maxembedded.com/2011/06/port-operations-in-avr/
may fix these issues. In the meantime, because the errors are consistent, I setup some LUTs\footnote{Lookup tables, i.e. hard coded fixes. e.g. 5048 now converts to 5996.}.
\subsection{Max7219 8 digit 7-Segment Display via Uno}
I didn't have any trouble getting the 7 segment to display with the Uno and the Max7219. Note that I avoided outputting the values via the CPLD. The Uno is just quicker to code this output. I used the LedControl library. I had to adopt a quick function to break down the values. The Max7219 does not take in variables, so instead, you feed it single digits. Therefore I needed to extract a single digit from the tens, hundreds, and thousands. See below:
\begin{verbatim}
//https://playground.arduino.cc/Main/LedControl/#Seg7Control
void printNumber(int v) {
int ones;
int tens;
int hundreds;
int thousands;
boolean negative;
if(v < -9999 || v > 9999)
return;
if(v<0) {
negative=true;
v=v*-1;
}
ones=v%10;
v=v/10;
tens=v%10;
v=v/10;
hundreds=v%10;
v=v/10;
thousands=v;
/*if(negative) {
//print character '-' in the leftmost column
lc.setChar(0,4,'-',false);
}
else {
//print a blank in the sign column
lc.setChar(0,4,' ',false);
}*/
//Now print the number digit by digit
lc.setDigit(0,3,(byte)thousands,false);
lc.setDigit(0,2,(byte)hundreds,false);
lc.setDigit(0,1,(byte)tens,false);
lc.setDigit(0,0,(byte)ones,false);
}
\end{verbatim}
Note that I commented out the negative sign on this. My values are always positive.
\includegraphics[scale=0.30]{../pics/DSCN0170.JPG}
\captionof{figure}{Rev A. 60Hz to 4 digits, is updated once per second.}
\subsection{Project Rev A Complete}
With the above complete, I have an initial prototype. The issues with this are the following:
\begin{itemize}
\item Uno reads 14 bit serial stream wrong (timing issues)
\item 7 segment display slightly bright
\item Should add readout of 120 Volts (can get from transformer)
\item Plywood should be replaced with fiberglass
\end{itemize}
It turns out that 4 digits on the display is the minimum for a project like this to be viable. 3 digits wouldn't be enough resolution, and 5 digits is not necessary (although nice). The values differ here from about 5996 to 6003 cycles per second.
Other than that, it is working, and will be setup and watched for a bit to enjoy the readout.
\subsection{Related:}
\begin{itemize}
\item https://shepherdingelectrons.blogspot.com/2020/07/uart-transceiver-for-breadboard-computer.html
\end{itemize}
This guide shows a UART created in TTL 74 logic. What's relevant to this project, is how he managed syncing the clocks.
%todo insert picture
\end{document}

+ 221
- 0
60hz_Divider/docs/23.tex~ View File

@ -0,0 +1,221 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[vcentering,dvips]{geometry}
\geometry{papersize={6in,9in},total={4.5in,6.8in}}
\title{\textbf{}}
\author{Steak Electronics}
\date{}
\begin{document}
%\maketitle
\tableofcontents
\textcolor{green!60!blue!70}{
\section{60Hz Divider}}
\subsection{Overview}
Let's count. There is a schematic in Practical Electronics For Beginners 4th edition. I've built that up, and will add some CPLD counter logic, along with a micro to output the SPI to a 7seg counter module.
The goal is relative accuracy. Not absolute. No GPS here. I'm going from 60 to 6,000 cycles.\footnote{Due to limitations of CPLD} This is just meant to be fun.
\begin{center}
\includegraphics[scale=0.15]{../pics/DSCN2964.JPG}
\captionof{figure}{60 Hz Logic Divider to 1Hz}
\end{center}
\subsection{Initial Notes: Counting the Hz}
pseudo code goal:
\begin{verbatim}
Using 1Hz signal
Start counting 1MHz every 1Hz
when next cycle is received,
display count
start counting again
\end{verbatim}
That's all the objective is here. Easy with a micro, but goal is to complete using cmos or 74 logic.
4553 x 5
74hct132
1MHz clock (or 6MHz clock), or some variation thereof
jk flip flop
74376 - quad jk flip flop
7476 - jk flip flop
1mhz clk will be main counter,
6 hz or 1 hz will be latch / reset
I ended up skipping the 74 CMOS, in favor of a CPLD. Practical Electronics also mentions this approach as favored. Even a micro alone could be used. Schematic entry in the CPLD could also be used.
\subsection{MAX7219 8 digit 7 LED segment Display Driver}
Basic code tested with this was the LedControl arduino library.
\begin{verbatim}
/*
Now we need a LedControl to work with.
***** These pin numbers will probably not work with your hardware *****
pin 12 is connected to the DataIn
pin 11 is connected to the CLK
pin 10 is connected to LOAD
We have only a single MAX72XX.
*/
\end{verbatim}
Some of the lines have to be edited to allow for all digits to be read, and
also to lower intensity of display. I think also a component package (dark
grey clear plastic bag) in front of the leds with intensity 1 is about right.
\subsection{CPLDs}
\begin{verbatim}
http://dangerousprototypes.com/docs/Xilinx_CPLDs:_XC9500_vs_CoolRunner-II
https://www.eevblog.com/forum/fpga/what-are-cplds-do-they-still-play-a-role-how-to-program-them/msg3084581/#msg3084581
https://www.seeedstudio.com/XC9572XL-CPLD-development-board-v1b-p-799.html
\end{verbatim}
dangerous prototypes has a few
including the xc2, the xc95, and the coolrunner.
i wanted xc95, so they have one for \$12. not bad.
looks like bus pirate can program... But I ended up using a Xilinx USB Platform Cable.
\subsection{CPLD Programming}
Using the XC9500XL series. This chip has some limitations - which are good.
As you get faster clocks, you need bigger registers to handle parsing the clocks. Bigger registers, use more power. Maybe this is one reason why high clock speeds mean more power.
\subsubsection{6KHz clock}
Due to limitations on the XC9500XL FPGA logic blocks, I ended up limiting the counter registers to 12+1 bits\footnote{Possibly I could use multiple smaller registers in a type of cascade, but let's not bother with that for now. I had 600KHz resolution, until I added the UART out/}, so I have around 6,000 (assuming 60Hz), resolution. With this, I need a 6KHz clock. I could do this with the uno, but let's throw an attiny in there because it's a good tool for this kind of purpose and resolution. It should be able to function as a rough 6KHz timer, easily.
\subsubsection{UART output}
I set the CPLD to use the rising edge of the 6KHz clock and to shift the counter value out... Unsuprisingly, the baud rate is 6000. I found this by using my Open Bench Logic Sniffer\footnote{Phantom 3 in Repairs 2019}. It's fairly quick to configure and get working. Auto detected the UART speed easy.
However, my uart value is 12 - 14 bits, and with uart being an 8 bit protocol, it makes this unconventional. May need to bit bang something. But before that...
\subsection{Divide by N Counters}
\begin{center}
\includegraphics[scale=0.2]{../pics/DSCN2958.JPG}
\captionof{figure}{This divide by 6 counter, appears to not line up with what the TTL Cookbook has for a similar 7490 one.}
\end{center}
The schematics appear to be incorrect for the divide by 6 counter in the Practical Electronics for Beginners book. Having looked at my built up circuit carefully, I see a 20Hz output from the 60Hz. I managed to get my hands on a copy of the TTL Cookbook by Don Lancaster recently, and that details correct divide by 6 and 10 counters (which are different from what's on my proto board), and while I could fix the divide by 6 counter, instead, I'm going to build another divide by 2 counter, and leave the original incorrect one there as a warning (it's also easier to just build a new one).
As it is, I'm getting 2Hz output on the pulse pin... Oops. Practical Untested Electronics for Beginners. Hax. Everything in life is hax. The earlier you realize that, the better you will feel about your own work.\footnote{It's possible they put the error in on purpose. It's really hard to tell...}
\subsection{Attiny 6KHz Clock}
A small victory here: I setup an Attiny10 with an external oscillator (programmable CMOS, not Quartz) of 1.536MHz. I then set prescaler at 256 to get
6000. Set micro fuse to enable CKOUT pin, and now I have a 6KHz clock from the 20 cent micro plus. Neat usage of the attiny10 here, thanks
to my other project using it. The CPLD works with it, no problem.
\subsection{Parsing of CPLD UART Stream}
Back to the 14 bit stream...
I have the UART stream feeding into the Atmega328/Uno. For the code, I was unsure how to handle it at first, but then I realized a simple shift in would fit.
\textbf{Situation:} I have a serial UART stream at 6000 baud from the CPLD. However, it's not exactly UART. In fact, it has values of 6000, which are over 8 bit. So I have a 14 bit serial stream. There is no stop bit after the 8 bits, and no two 8 bit bytes. So hardware serial will not work. \footnote{I didn't want to deal with coding the UART into the CPLD. There are also size limitations.}
\textbf{Solution:} I have a serial 14 bit stream at 6000 baud. The answer is to tie the 6000 Hz CLK to a pin on the Uno, and implement a shift in, so that every clock up, the value is read on the Serial / 14 bit pin. I do have a start bit, and I am not outputting all the time, so this will be one 14 bit value every second.
\textbf{Problems:} The Uno's digitalRead timing is not 100\% As a result, some values are being read incorrectly. 5996 shows up as 5048 or similar. I need to go back and access the Input direct via register reads to speed things up. A Pin register access similar to:
\begin{verbatim}
Example Code Snippet
Let's demonstrate the use of the DDRx,
PORTx and PINx registers from the
following code snippet:
DDRC = 0x0F;
PORTC = 0x0C;
// lets assume a 4V supply comes to PORTC.6 and Vcc = 5V
if (PINC == 0b01000000)
PORTC = 0x0B;
else
PORTC = 0x00;
\end{verbatim}
Reference: http://maxembedded.com/2011/06/port-operations-in-avr/
may fix these issues. In the meantime, because the errors are consistent, I setup some LUTs\footnote{Lookup tables, i.e. hard coded fixes. e.g. 5048 now converts to 5996.}.
\subsection{Max7219 8 digit 7-Segment Display via Uno}
I didn't have any trouble getting the 7 segment to display with the Uno and the Max7219. Note that I avoided outputting the values via the CPLD. The Uno is just quicker to code this output. I used the LedControl library. I had to adopt a quick function to break down the values. The Max7219 does not take in variables, so instead, you feed it single digits. Therefore I needed to extract a single digit from the tens, hundreds, and thousands. See below:
\begin{verbatim}
//https://playground.arduino.cc/Main/LedControl/#Seg7Control
void printNumber(int v) {
int ones;
int tens;
int hundreds;
int thousands;
boolean negative;
if(v < -9999 || v > 9999)
return;
if(v<0) {
negative=true;
v=v*-1;
}
ones=v%10;
v=v/10;
tens=v%10;
v=v/10;
hundreds=v%10;
v=v/10;
thousands=v;
/*if(negative) {
//print character '-' in the leftmost column
lc.setChar(0,4,'-',false);
}
else {
//print a blank in the sign column
lc.setChar(0,4,' ',false);
}*/
//Now print the number digit by digit
lc.setDigit(0,3,(byte)thousands,false);
lc.setDigit(0,2,(byte)hundreds,false);
lc.setDigit(0,1,(byte)tens,false);
lc.setDigit(0,0,(byte)ones,false);
}
\end{verbatim}
Note that I commented out the negative sign on this. My values are always positive.
\includegraphics[scale=0.30]{../pics/DSCN0170.JPG}
\captionof{figure}{Rev A. 60Hz to 4 digits, is updated once per second.}
\subsection{Project Rev A Complete}
With the above complete, I have an initial prototype. The issues with this are the following:
\begin{itemize}
\item Uno reads 14 bit serial stream wrong (timing issues)
\item 7 segment display slightly bright
\item Should add readout of 120 Volts (can get from transformer)
\item Plywood should be replaced with fiberglass
\end{itemize}
It turns out that 4 digits on the display is the minimum for a project like this to be viable. 3 digits wouldn't be enough resolution, and 5 digits is not necessary (although nice). The values differ here from about 5996 to 6003 cycles per second.
Other than that, it is working, and will be setup and watched for a bit to enjoy the readout.
\subsection{Related:}
\begin{itemize}
\item https://shepherdingelectrons.blogspot.com/2020/07/uart-transceiver-for-breadboard-computer.html
\end{itemize}
This guide shows a UART created in TTL 74 logic. What's relevant to this project, is how he managed syncing the clocks.
%todo insert picture
\end{document}

+ 14
- 0
60hz_Divider/docs/23.toc View File

@ -0,0 +1,14 @@
\contentsline {section}{\numberline {1}60Hz Divider}{1}%
\contentsline {subsection}{\numberline {1.1}Overview}{1}%
\contentsline {subsection}{\numberline {1.2}Initial Notes: Counting the Hz}{2}%
\contentsline {subsection}{\numberline {1.3}MAX7219 8 digit 7 LED segment Display Driver}{2}%
\contentsline {subsection}{\numberline {1.4}CPLDs}{3}%
\contentsline {subsubsection}{\numberline {1.4.1}Programming}{3}%
\contentsline {subsubsection}{\numberline {1.4.2}6KHz clock}{4}%
\contentsline {subsubsection}{\numberline {1.4.3}UART output}{4}%
\contentsline {subsection}{\numberline {1.5}Divide by N Counters}{4}%
\contentsline {subsection}{\numberline {1.6}Attiny 6KHz Clock}{5}%
\contentsline {subsection}{\numberline {1.7}Parsing of CPLD UART Stream}{5}%
\contentsline {subsection}{\numberline {1.8}Max7219 8 digit 7-Segment Display via Uno}{7}%
\contentsline {subsection}{\numberline {1.9}Project Rev A Complete}{8}%
\contentsline {subsection}{\numberline {1.10}Related:}{9}%

+ 4536
- 0
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds054.pdf
File diff suppressed because it is too large
View File


BIN
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds057.pdf View File


BIN
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ds593.pdf View File


BIN
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/datasheets/ug445.pdf View File


BIN
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/pics/480px-Quick-start-xc9572xl-baslc.png View File

Before After
Width: 480  |  Height: 312  |  Size: 39 KiB

BIN
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/pics/programming_connections_are_Just_jtag.png View File

Before After
Width: 793  |  Height: 553  |  Size: 110 KiB

+ 518
- 0
Attiny_Solar_Energy_Harvest/CPLD/xc9500/20200705_tests/resources/CPLD:_Complex_programmable_logic_devices View File

@ -0,0 +1,518 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" dir="ltr">
<head>
<title>CPLD: Complex programmable logic devices - DP</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="MediaWiki 1.16.0" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="/docs/opensearch_desc.php" title="DP (en)" />
<link title="Creative Commons" type="application/rdf+xml" href="/docs/index.php?title=CPLD:_Complex_programmable_logic_devices&amp;action=creativecommons" rel="meta" />
<link rel="copyright" href="http://creativecommons.org/licenses/by-sa/3.0/" />
<link rel="alternate" type="application/atom+xml" title="DP Atom feed" href="/docs/index.php?title=Special:RecentChanges&amp;feed=atom" />
<link rel="stylesheet" href="/docs/skins/common/shared.css?270" media="screen" />
<link rel="stylesheet" href="/docs/skins/common/commonPrint.css?270" media="print" />
<link rel="stylesheet" href="/docs/skins/monobook/reset.css?270" media="screen" />
<link rel="stylesheet" href="/docs/skins/monobook/main.css?270" media="screen" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Francois One" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald" />
<link rel="stylesheet" href="/docs/index.php?title=MediaWiki:Common.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" />
<link rel="stylesheet" href="/docs/index.php?title=MediaWiki:Print.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" media="print" />
<link rel="stylesheet" href="/docs/index.php?title=MediaWiki:Monobook.css&amp;usemsgcache=yes&amp;ctype=text%2Fcss&amp;smaxage=18000&amp;action=raw&amp;maxage=18000" />
<link rel="stylesheet" href="/docs/index.php?title=-&amp;action=raw&amp;maxage=18000&amp;gen=css" />
<script>
var skin="monobook",
stylepath="/docs/skins",
wgUrlProtocols="http\\:\\/\\/|https\\:\\/\\/|ftp\\:\\/\\/|irc\\:\\/\\/|gopher\\:\\/\\/|telnet\\:\\/\\/|nntp\\:\\/\\/|worldwind\\:\\/\\/|mailto\\:|news\\:|svn\\:\\/\\/",
wgArticlePath="/docs/$1",
wgScriptPath="/docs",
wgScriptExtension=".php",
wgScript="/docs/index.php",
wgVariantArticlePath=false,
wgActionPaths={},
wgServer="http://dangerousprototypes.com",
wgCanonicalNamespace="",
wgCanonicalSpecialPageName=false,
wgNamespaceNumber=0,
wgPageName="CPLD:_Complex_programmable_logic_devices",
wgTitle="CPLD: Complex programmable logic devices",
wgAction="view",
wgArticleId=1211,
wgIsArticle=true,
wgUserName=null,
wgUserGroups=null,
wgUserLanguage="en",
wgContentLanguage="en",
wgBreakFrames=false,
wgCurRevisionId=18853,
wgVersion="1.16.0",
wgEnableAPI=true,
wgEnableWriteAPI=true,
wgSeparatorTransformTable=["", ""],
wgDigitTransformTable=["", ""],
wgMainPageTitle="Main Page",
wgFormattedNamespaces={"-2": "Media", "-1": "Special", "0": "", "1": "Talk", "2": "User", "3": "User talk", "4": "DP", "5": "DP talk", "6": "File", "7": "File talk", "8": "MediaWiki", "9": "MediaWiki talk", "10": "Template", "11": "Template talk", "12": "Help", "13": "Help talk", "14": "Category", "15": "Category talk"},
wgNamespaceIds={"media": -2, "special": -1, "": 0, "talk": 1, "user": 2, "user_talk": 3, "dp": 4, "dp_talk": 5, "file": 6, "file_talk": 7, "mediawiki": 8, "mediawiki_talk": 9, "template": 10, "template_talk": 11, "help": 12, "help_talk": 13, "category": 14, "category_talk": 15, "image": 6, "image_talk": 7},
wgSiteName="DP",
wgCategories=["Projects", "Tutorials", "Xilinx"],
wgRestrictionEdit=[],
wgRestrictionMove=[];
</script><script src="/docs/skins/common/wikibits.js?270"></script>
<script src="/docs/skins/common/ajax.js?270"></script>
<script src="/docs/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=monobook&amp;270"></script>
</head>
<body class="mediawiki ltr ns-0 ns-subject page-CPLD_Complex_programmable_logic_devices skin-monobook">
<!-- Begin PageWrapper //-->
<!--// TODO: remove all stupid divs -->
<div id="globalWrapper" class="home blog two-sidebars">
<div id="page">
<div id="page-inner">
<a id="navigation-top"></a>
<div id="skip-to-nav"><a href="#navigation">Skip to Navigation</a></div>
<!-- Begin Header //-->
<div id="header">
<div class="clearfix" id="header-inner">
<div class="region region-header" id="header-blocks">
<!-- Begin Widget TODO: remove this Crap, make real Header //-->
<div class="widget-container widget_text logo" id="text-4">
<div class="textwidget">
<a href="/"><img alt="Dangerous Prototypes" src="http://dangerousprototypes.com/theme/logo.png" /></a>
</div>
</div><!--//End Widget -->
<!-- Begin Widget //-->
<div class="widget-container widget_text banner" id="text-11">
<div id="announce" class="textwidget"></div>
</div><!--// End Widget -->
</div><!--// End Region -->
</div><!--// inner -->
</div><!--// End Header -->
<!-- Begin TopNavigation //-->
<!--// TODO: Add SideWide Global Navigation -->
<div id="navbar">
<div class="clear-block region region-navbar" id="navbar-inner">
<a id="navigation" name="navigation"></a>
<div class="menu-nav">
<ul class="menu" id="menu-header-4">
<li><a href="http://dangerousprototypes.com">Blog</a></li>
<li><a href="http://dangerousprototypes.com/docs/Main_Page#Projects">Projects</a></li>
<li><a href="http://dangerousprototypes.com/forum">Forum</a></li>
<li><a href="http://dangerousprototypes.com/about">About</a></li>
<li><a href="http://dangerousprototypes.com/contact">Contact</a></li>
<li ><a href="http://www.seeedstudio.com/depot/wherelabs-m-9.html">Shop</a></li>
<li><a href="http://dangerousprototypes.com/store/">Free PCBs</a></li>
</ul>
</div>
<div class="widget-container widget_text social" id="text-10">
<div class="textwidget">
<a id="facebook" title="Visit our Facebook page" href="http://www.facebook.com/pages/Dangerous-Prototypes/127701397281222">Facebook</a>
<a id="twitter" title="Follow us on twitter" href="http://twitter.com/#!/dangerousproto">Twitter</a>
<a id="rss" title="Subscribe to rss feed" href="http://dangerousprototypes.com/feed">RSS</a>
<a id="comrss" href="http://dangerousprototypes.com/comments/feed/" title="Subcribe to comments">Comments</a>
</div>
</div>
</div>
</div><!--// End TopNavigation -->
<!-- Begin Main //-->
<div id="main">
<div class="clearfix with-navbar" id="main-inner">
<div id="content">
<div id="content-inner">
<div id="content-area">
<a id="top"></a>
<!-- Begin Notices //-->
<!--// End Notices -->
<h1 id="firstHeading" class="firstHeading">CPLD: Complex programmable logic devices</h1>
<div id="bodyContent">
<h3 id="siteSub">From DP</h3>
<div id="contentSub"></div>
<div id="jump-to-nav">
Jump to: <a href="#column-one">
navigation </a>, <a href="#searchInput">search</a>
</div>
<!-- start content -->
<table style="width: 30em; font-size: 11px; border: 1px solid #bbb; background-color: #eee; color: #444; padding: 0.2em; margin-bottom: 0.5em; margin-left: 1em; float: right; clear: right; text-align:left;">
<tr>
<th style="text-align: center; color: #fff; border: 1px solid #1E7B8E; background-color:#1E7B8E; font-size: 11px;" colspan="2">Project Summary
</th></tr>
<tr>
<td colspan="2">
</td></tr>
<tr>
<th> Name:
</th><td> CPLD: Complex programmable logic devices
</td></tr>
<tr>
<th> Buy it:
</th><td> <a href="http://www.seeedstudio.com/depot/xc2c64a-coolrunnerii-cpld-development-board-p-800.html?cPath=174" class="external text" rel="nofollow">Get one for $15 at Seeed Studio</a>
</td></tr>
<tr>
<th> Price:
</th><td> $15
</td></tr>
<tr>
<th> Status:
</th><td> <a href="/docs/Project_status#Development_status" title="Project status">Mature</a>
</td></tr>
<tr>
<th> Manufacturing:
</th><td> <a href="/docs/Project_status#Manufacturing" title="Project status">Shipping</a>
</td></tr>
<tr>
<th> Forum:
</th><td> <a href="http://dangerousprototypes.com/forum/viewforum.php?f=51" class="external text" rel="nofollow">CPLD: Complex programmable logic devices Forum</a>
</td></tr></table><a href="/docs/File:Xc9572-cpld-breakoutvib.jpg" class="image"><img alt="Xc9572-cpld-breakoutvib.jpg" src="/docs/images/6/6c/Xc9572-cpld-breakoutvib.jpg" width="490" height="277" /></a>
<p>Ever get stuck choosing the right logic chip combination or voltage level translator? Give up the hunt and create your own custom logic chip. CPLDs can give you the logic you need, with the pinout you want, while saving board space and board revisions.
</p><p>Development boards from Dangerous Prototypes will help you build your first custom logic chip using simple schematic entry, Verilog, or VHDL.
</p>
<ul><li>XC9572XL or XC2C64A CPLDs
</li><li>On-board power supply for core and pins
</li><li>Selectable 3.3volt or external supply for pins (1.8volt to 3.3volt)
</li><li>LEDs for output, push button for input
</li><li>Easy to program with the Bus Pirate
</li><li>Open source (CC-BY-SA)
</li></ul>
<p><b><a href="http://www.seeedstudio.com/depot/xc2c64a-coolrunnerii-cpld-development-board-p-800.html" class="external text" rel="nofollow">CoolRunner-II</a> and <a href="http://www.seeedstudio.com/depot/xc9572xl-cpld-development-board-p-799.html" class="external text" rel="nofollow">XC9572XL</a> versions available for $15.</b>
</p>
<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Downloads"><span class="tocnumber">1</span> <span class="toctext">Downloads</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Hardware"><span class="tocnumber">2</span> <span class="toctext">Hardware</span></a>
<ul>
<li class="toclevel-2 tocsection-3"><a href="#XC9500XL"><span class="tocnumber">2.1</span> <span class="toctext">XC9500XL</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="#CoolRunnerII"><span class="tocnumber">2.2</span> <span class="toctext">CoolRunnerII</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-5"><a href="#CPLD_development_tutorials"><span class="tocnumber">3</span> <span class="toctext">CPLD development tutorials</span></a>
<ul>
<li class="toclevel-2 tocsection-6"><a href="#Schematic_entry"><span class="tocnumber">3.1</span> <span class="toctext">Schematic entry</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="#Verilog"><span class="tocnumber">3.2</span> <span class="toctext">Verilog</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="#VHDL"><span class="tocnumber">3.3</span> <span class="toctext">VHDL</span></a></li>
<li class="toclevel-2 tocsection-9"><a href="#Plunify"><span class="tocnumber">3.4</span> <span class="toctext">Plunify</span></a></li>
<li class="toclevel-2 tocsection-10"><a href="#ISE_Webpack"><span class="tocnumber">3.5</span> <span class="toctext">ISE Webpack</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-11"><a href="#Example_devices"><span class="tocnumber">4</span> <span class="toctext">Example devices</span></a>
<ul>
<li class="toclevel-2 tocsection-12"><a href="#Schematic"><span class="tocnumber">4.1</span> <span class="toctext">Schematic</span></a></li>
<li class="toclevel-2 tocsection-13"><a href="#VHDL_2"><span class="tocnumber">4.2</span> <span class="toctext">VHDL</span></a></li>
<li class="toclevel-2 tocsection-14"><a href="#Verilog_2"><span class="tocnumber">4.3</span> <span class="toctext">Verilog</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-15"><a href="#Programming"><span class="tocnumber">5</span> <span class="toctext">Programming</span></a>
<ul>
<li class="toclevel-2 tocsection-16"><a href="#Additional_methods"><span class="tocnumber">5.1</span> <span class="toctext">Additional methods</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-17"><a href="#Links"><span class="tocnumber">6</span> <span class="toctext">Links</span></a>
<ul>
<li class="toclevel-2 tocsection-18"><a href="#Verilog_3"><span class="tocnumber">6.1</span> <span class="toctext">Verilog</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-19"><a href="#Resources"><span class="tocnumber">7</span> <span class="toctext">Resources</span></a></li>
<li class="toclevel-1 tocsection-20"><a href="#License"><span class="tocnumber">8</span> <span class="toctext">License</span></a></li>
</ul>
</td></tr></table><script>if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<h2> <span class="mw-headline" id="Downloads">Downloads</span></h2>
<ul><li><a href="https://github.com/DangerousPrototypes/Downloads/blob/master/CPLD.Breakout.Package.v1.0.zip" class="external text" rel="nofollow">Download CPLD Breakout Package</a>
</li><li><a href="https://github.com/DangerousPrototypes/CPLD_Breakout" class="external text" rel="nofollow">Browse the project's GitHub</a>
</li></ul>
<h2> <span class="mw-headline" id="Hardware">Hardware</span></h2>
<ul><li><a href="/docs/Xilinx_CPLDs:_XC9500_vs_CoolRunner-II" title="Xilinx CPLDs: XC9500 vs CoolRunner-II">Xilinx CPLDs: XC9500 vs CoolRunner-II</a>
</li></ul>
<h3> <span class="mw-headline" id="XC9500XL">XC9500XL</span></h3>
<p><a href="/docs/File:Xc9572-cpld-breakoutvib.jpg" class="image"><img alt="Xc9572-cpld-breakoutvib.jpg" src="/docs/images/thumb/6/6c/Xc9572-cpld-breakoutvib.jpg/150px-Xc9572-cpld-breakoutvib.jpg" width="150" height="85" /></a>
</p><p>The Xilinx XC9500XL family has some of the cheapest and readily available CPLDs out there. Inputs are 5volt tolerant and they can be run from a single 3.3volt supply.
</p>
<ul><li><a href="/docs/XC9500XL_CPLD_breakout_board" title="XC9500XL CPLD breakout board">XC9500XL CPLD development board</a> hardware design
</li><li><a href="/docs/XC9572XL_CPLD_dev-board_introduction" title="XC9572XL CPLD dev-board introduction">XC9572XL CPLD dev-board introduction</a>
</li><li><a href="/docs/Xilinx_XC9500XL_CPLD_quick_start" title="Xilinx XC9500XL CPLD quick start">XC9500XL CPLD quick start</a>
</li><li><a href="/docs/XC9572XL_dev-board_v1_errors" title="XC9572XL dev-board v1 errors">XC9572XL dev-board v1 errors</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds054.pdf" class="external text" rel="nofollow">XC9500XL family manual</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds057.pdf" class="external text" rel="nofollow">XC9572XL device datasheet</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds058.pdf" class="external text" rel="nofollow">XC9536XL device datasheet</a> (smaller version of XC9572XL)
</li></ul>
<h3> <span class="mw-headline" id="CoolRunnerII">CoolRunnerII</span></h3>
<p><a href="/docs/File:Xc2c64a_cpld_breakout-vib.jpg" class="image"><img alt="Xc2c64a cpld breakout-vib.jpg" src="/docs/images/thumb/7/70/Xc2c64a_cpld_breakout-vib.jpg/150px-Xc2c64a_cpld_breakout-vib.jpg" width="150" height="84" /></a>
</p><p>The CoolRunner-II family is newer than the XC9500XL, and has a few extra features like multiple IO voltage banks for voltage translation, internal pull-up resistors and pin keepers and a clock divider. Requires a 1.8volt core supply and a 1.2-3.3volt IO pin supply.
</p>
<ul><li><a href="/docs/CoolRunner-II_CPLD_breakout_board" title="CoolRunner-II CPLD breakout board">CoolRunner-II CPLD development board</a> hardware design
</li><li><a href="/docs/XC2C64A_CPLD_dev-board_introduction" title="XC2C64A CPLD dev-board introduction">XC2C64A CPLD dev-board introduction</a>
</li><li><a href="/docs/Xilinx_CoolRunner-II_CPLD_quick_start" title="Xilinx CoolRunner-II CPLD quick start">CoolRunner-II CPLD quick start</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds090.pdf" class="external text" rel="nofollow">CoolRunner-II family manual</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds311.pdf" class="external text" rel="nofollow">XC2C64A device datasheet</a>
</li><li><a href="http://www.xilinx.com/support/documentation/data_sheets/ds310.pdf" class="external text" rel="nofollow">XC2C32A device datasheet</a> (smaller version of XC2C64A used on Bus Blaster v2)
</li></ul>
<h2> <span class="mw-headline" id="CPLD_development_tutorials">CPLD development tutorials</span></h2>
<p>This tutorial shows how to use simple schematics to design the logic in a Xilinx CoolRunner-II or XC9500 CPLD.
</p>
<ul><li><a href="http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.html" class="external text" rel="nofollow">Free Xilinx ISE Webpack download</a>
</li></ul>
<p>Tutorial files:
</p>
<ul><li>See <a href="https://github.com/DangerousPrototypes/Downloads/blob/master/CPLDdev.package.v1.1.zip" class="external text" rel="nofollow">CPLDdev.package.v1.1.zip</a>
</li></ul>
<p>The Bus Pirate XSVF player and a .bat file are included with every example. Modify the COM post and click to load.
</p>
<h3> <span class="mw-headline" id="Schematic_entry">Schematic entry</span></h3>
<ul><li><a href="/docs/CPLD_intro_1:_Light_a_LED" title="CPLD intro 1: Light a LED">CPLD intro 1: Light a LED</a>
</li><li><a href="/docs/CPLD_intro_2:_Toggle_a_LED_with_a_button" title="CPLD intro 2: Toggle a LED with a button">CPLD intro 2: Toggle a LED with a button</a>
</li><li><a href="/docs/CPLD_intro_3:_Inverse_LED_toggle" title="CPLD intro 3: Inverse LED toggle">CPLD intro 3: Inverse LED toggle</a>
</li></ul>
<h3> <span class="mw-headline" id="Verilog">Verilog</span></h3>
<ul><li><a href="/docs/CPLD_Verilog_intro_1:_Light_a_LED" title="CPLD Verilog intro 1: Light a LED">CPLD Verilog intro 1: Light a LED</a>
</li><li><a href="/docs/CPLD_Verilog_intro_2:_Toggle_a_LED_with_a_button" title="CPLD Verilog intro 2: Toggle a LED with a button">CPLD Verilog intro 2: Toggle a LED with a button</a>
</li><li><a href="/docs/CPLD_Verilog_intro_3:_Inverse_LED_toggle" title="CPLD Verilog intro 3: Inverse LED toggle">CPLD Verilog intro 3: Inverse LED toggle</a>
</li></ul>
<h3> <span class="mw-headline" id="VHDL">VHDL</span></h3>
<ul><li><a href="/docs/CPLD_VHDL_intro_1:_Light_a_LED" title="CPLD VHDL intro 1: Light a LED">CPLD VHDL intro 1: Light a LED</a>
</li><li><a href="/docs/CPLD_VHDL_intro_2:_Toggle_a_LED_with_a_button" title="CPLD VHDL intro 2: Toggle a LED with a button">CPLD VHDL intro 2: Toggle a LED with a button</a>
</li><li><a href="/docs/CPLD_VHDL_intro_3:_Inverse_LED_toggle" title="CPLD VHDL intro 3: Inverse LED toggle">CPLD VHDL intro 3: Inverse LED toggle</a>
</li><li><a href="/docs/CPLD_intro_4:_replacing_simple_logic_vhdl" title="CPLD intro 4: replacing simple logic vhdl">CPLD VHDL intro 4: Replacing simple logic</a>
</li></ul>
<h3> <span class="mw-headline" id="Plunify">Plunify</span></h3>
<p><a href="http://www.plunify.com" class="external text" rel="nofollow">Plunify</a> is a cloud-based compiler for <s>Xilinx</s> and Altera chips. <s>The CPLD examples are already loaded, all you have to do is sign up for a free account and copy the tutorial from the <i>add IP</i> tab.</s> Unfortunately it no longer supports Xilinx chips.
</p>
<ul><li><a href="http://www.youtube.com/watch?v=WWFyVMZUMRE" class="external text" rel="nofollow">How-to video: use Plunify with the CPLD examples</a>
</li><li><a href="/docs/Plunify_online_compiler_overview" title="Plunify online compiler overview">Plunify online compiler overview</a>
</li></ul>
<h3> <span class="mw-headline" id="ISE_Webpack">ISE Webpack</span></h3>
<ul><li><a href="/docs/Export_(X)SVF_from_Xilinx_ISE_Webpack" title="Export (X)SVF from Xilinx ISE Webpack">Export (X)SVF from Xilinx ISE Webpack</a>
</li><li><a href="/docs/CPLD:_simulate_designs" title="CPLD: simulate designs">CPLD: simulate designs</a>
</li><li><a href="/docs/Enable_CoolRunner-II_CPLD_pull-up_resistors" title="Enable CoolRunner-II CPLD pull-up resistors">Enable CoolRunner-II CPLD pull-up resistors</a>
</li></ul>
<h2> <span class="mw-headline" id="Example_devices">Example devices</span></h2>
<ul><li><a href="https://github.com/DangerousPrototypes/Downloads/blob/master/CPLDdev.package.v1.1.zip" class="external text" rel="nofollow">CPLDdev.package.v1.1.zip</a>
</li><li><a href="https://github.com/DangerousPrototypes/CPLD_Breakout/tree/master/package/Device_examples" class="external text" rel="nofollow">Latest in SVN</a>
</li></ul>
<h3> <span class="mw-headline" id="Schematic">Schematic</span></h3>
<ul><li><a href="/docs/CPLD_example:_Dual_74xx595s" title="CPLD example: Dual 74xx595s">CPLD example: Dual 74xx595s</a>
</li><li><a href="/docs/CPLD_example:_Dual_latch" title="CPLD example: Dual latch">CPLD example: Dual latch</a>
</li><li><a href="/docs/CPLD_example:_FIFO" title="CPLD example: FIFO">CPLD example: FIFO</a>
</li><li><a href="/docs/CPLD_example:_Motor_Phase_Interlock" title="CPLD example: Motor Phase Interlock">CPLD example: Motor Phase Interlock</a>
</li><li><a href="/docs/CPLD_example:_Priority_Decoder" title="CPLD example: Priority Decoder">CPLD example: Priority Decoder</a>
</li><li><a href="/docs/CPLD_example:_PWM_Generator" title="CPLD example: PWM Generator">CPLD example: PWM Generator</a>
</li><li><a href="/docs/CPLD_example:_Addressable_Latch" title="CPLD example: Addressable Latch">CPLD example: Addressable Latch</a>
</li></ul>
<h3> <span class="mw-headline" id="VHDL_2">VHDL</span></h3>
<ul><li>Our <a href="/docs/7400_series_library_in_VHDL" title="7400 series library in VHDL">7400 series library in VHDL</a>
</li><li><a href="http://opencores.org/project,mcpu" class="external text" rel="nofollow">32 macrocell CPU</a> at OpenCores.org
</li><li><a href="/docs/CPLD_ring_oscillator" title="CPLD ring oscillator">CPLD ring oscillator</a> a clock source without a crystal
</li></ul>
<h3> <span class="mw-headline" id="Verilog_2">Verilog</span></h3>
<ul><li><a href="/docs/Lulu:_Yet_another_logic_analyzer" title="Lulu: Yet another logic analyzer">Logic analyzer example in 72 macrocells</a>
</li></ul>
<h2> <span class="mw-headline" id="Programming">Programming</span></h2>
<ul><li><a href="/docs/Bus_Pirate_JTAG_XSVF_player" title="Bus Pirate JTAG XSVF player">CPLD programming with Bus Pirate, XSVF loader, and XSVF files</a>
</li><li><a href="/docs/CPLD_programming_with_Bus_Blaster,_urJTAG,_and_SVF_files" title="CPLD programming with Bus Blaster, urJTAG, and SVF files">CPLD programming with Bus Blaster, urJTAG, and SVF files</a> (currently CoolRunner-II only)
</li><li><a href="/docs/JTAG_SVF_to_XSVF_file_converter" title="JTAG SVF to XSVF file converter">JTAG SVF to XSVF file converter</a>
</li></ul>
<h3> <span class="mw-headline" id="Additional_methods">Additional methods</span></h3>
<ul><li><a href="http://www.xilinx.com/itp/3_1i/pdf/docs/jtg/jtg.pdf" class="external text" rel="nofollow">Parallel cables with IMPACT</a>
</li><li><a href="http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf" class="external text" rel="nofollow">XSVF player for any microcontroller</a> (used in Bus Pirate XSVF player)
</li><li><a href="http://www.clifford.at/libxsvf/" class="external text" rel="nofollow">lib(X)SVF</a>
</li><li><a href="http://rmdir.de/~michael/xilinx/" class="external text" rel="nofollow">FT2232 programmers and IMPACT with alternate driver</a>
</li></ul>
<h2> <span class="mw-headline" id="Links">Links</span></h2>
<h3> <span class="mw-headline" id="Verilog_3">Verilog</span></h3>
<ul><li><a href="http://www.asic-world.com/verilog/synthesis.html" class="external text" rel="nofollow">Synthesis tutorial</a> (a favorite tutorial)
</li><li><a href="http://www.asic-world.com/tidbits/index.html" class="external text" rel="nofollow">Verilog concepts</a> (wire, reg, blocking, etc)
</li></ul>
<h2> <span class="mw-headline" id="Resources">Resources</span></h2>
<ul><li><a href="/docs/Xilinx_CPLD_breakout_development_scraps" title="Xilinx CPLD breakout development scraps">Xilinx CPLD breakout development scraps</a>
</li><li><a href="/docs/CPLD_development_board_manufacturing_resources" title="CPLD development board manufacturing resources">CPLD development board manufacturing resources</a>
</li></ul>
<h2> <span class="mw-headline" id="License">License</span></h2>
<ul><li>Hardware: CC-BY-SA
</li><li>CPLD demos projects: CC-0
</li></ul>
<!--
NewPP limit report
Preprocessor node count: 100/1000000
Post-expand include size: 928/2097152 bytes
Template argument size: 172/2097152 bytes
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key dp_mediawiki-wiki_:pcache:idhash:1211-0!1!0!!en!2!edit=0 and timestamp 20200705171611 -->
<div class="printfooter">
Retrieved from "<a href="http://dangerousprototypes.com/docs/CPLD:_Complex_programmable_logic_devices">http://dangerousprototypes.com/docs/CPLD:_Complex_programmable_logic_devices</a>"</div>
<div id='catlinks' class='catlinks'><div id="mw-normal-catlinks"><a href="/docs/Special:Categories" title="Special:Categories">Categories</a>: <span dir='ltr'><a href="/docs/Category:Projects" title="Category:Projects">Projects</a></span> | <span dir='ltr'><a href="/docs/Category:Tutorials" title="Category:Tutorials">Tutorials</a></span> | <span dir='ltr'><a href="/docs/Category:Xilinx" title="Category:Xilinx">Xilinx</a></span></div></div> <!-- end content -->
<div class="visualClear"></div>
</div><!--// End ContentBody -->
</div><!--// End ContenArea -->
</div><!--// inner -->
</div><!--// End Content -->
<!--// TODO: Add Wiki Navigation to TopNav, remove Sidebars from Wiki -->
<!-- Begin Sidebar left //-->
<div id="sidebar-left">
<div class="region region-left" id="sidebar-left-inner">
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<!-- Begin CustomBox //-->
<div class='generated-sidebar portlet' id='p-jump_to'>
<h5>jump to</h5>
<div class='pBody'>
<ul><li><a href="/docs/Main_Page" title="Main Page">Projects homepage</a>
</li><li><a href="/docs/Bus_Pirate" title="Bus Pirate">Bus Pirate</a>
</li><li><a href="/docs/USB_Infrared_Toy" title="USB Infrared Toy">USB Infrared toy</a>
</li><li><a href="/docs/Web_Platform" title="Web Platform">Web platform</a>
</li><li><a href="/docs/Bus_Blaster" title="Bus Blaster">Bus Blaster</a>
</li><li><a href="/docs/Open_Bench_Logic_Sniffer" title="Open Bench Logic Sniffer">Logic Sniffer</a>
</li><li><a href="/docs/CPLD:_Complex_programmable_logic_devices" title="CPLD: Complex programmable logic devices">CPLD dev boards</a>
</li><li><a href="/docs/Logic_Shrimp_logic_analyzer" title="Logic Shrimp logic analyzer">Logic Shrimp</a>
</li><li><a href="/docs/Dangerous_Prototypes_breakout_boards" title="Dangerous Prototypes breakout boards">Breakout boards</a>
</li><li><a href="/docs/Dangerous_Proto_boards" title="Dangerous Proto boards" class="mw-redirect">Proto boards</a>
</li><li><a href="/docs/Twatch_networked_LCD" title="Twatch networked LCD">#twatch network LCD</a>
</li><li><a href="/docs/Flash_Destroyer" title="Flash Destroyer">Flash Destroyer</a>
</li><li><a href="/docs/Dangerous_Prototypes_Projects_In_Development" title="Dangerous Prototypes Projects In Development">In development</a>
</li><li><a href="/docs/Partlist" title="Partlist">Partlist and reference</a>
</li><li><a href="/docs/Special:RecentChanges" title="Special:RecentChanges">Recent changes</a>
</li></ul>
</div>
</div><!--// End CustomBox -->
<!-- Begin CustomBox //-->
<div class='generated-sidebar portlet' id='p-buy_stuff'>
<h5>buy stuff</h5>
<div class='pBody'>
<ul><li><a href="http://www.seeedstudio.com/depot/bus-pirate-v3-assembled-p-609.html?cPath=61_68" class="external text" rel="nofollow">Bus Pirate v3</a>
</li><li><a href="http://www.seeedstudio.com/depot/usb-infraed-toy-p-607.html?cPath=61_68" class="external text" rel="nofollow">USB Infrared Toy</a>
</li><li><a href="http://www.seeedstudio.com/depot/bus-blaster-v2-jtag-debugger-p-807.html" class="external text" rel="nofollow">Bus Blaster v2</a>
</li><li><a href="http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75" class="external text" rel="nofollow">Logic Sniffer</a>
</li></ul>
</div>
</div><!--// End CustomBox -->
<!-- Begin Search //-->
<div id="p-search" class="portlet">
<h5><label for="searchInput">Search</label></h5>
<div id="searchBody" class="pBody">
<form action="/docs/index.php" id="searchform">
<input type='hidden' name="title" value="Special:Search" />
<input id="searchInput" title="Search DP" accesskey="f" type="search" name="search" /> <input type="submit" name="go" class="searchButton" id="searchGoButton" value="Go" title="Go to a page with this exact name if exists" />
&nbsp;
<input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="Search" title="Search the pages for this text" />
</form>
</div>
</div><!--// End Search -->
<!-- Begin ToolBox //-->
<div class="portlet" id="p-tb">
<h5>Toolbox</h5>
<div class="pBody">
<ul>
<li id="t-whatlinkshere">
<a href="/docs/Special:WhatLinksHere/CPLD:_Complex_programmable_logic_devices" title="List of all wiki pages that link here [j]" accesskey="j">
What links here </a>
</li>
<li id="t-recentchangeslinked">
<a href="/docs/Special:RecentChangesLinked/CPLD:_Complex_programmable_logic_devices" title="Recent changes in pages linked from this page [k]" accesskey="k">
Related changes </a>
</li>
<li id="t-specialpages">
<a href="/docs/Special:SpecialPages" title="List of all special pages [q]" accesskey="q">
Special pages </a>
</li>
<li id="t-print">
<a href="/docs/index.php?title=CPLD:_Complex_programmable_logic_devices&amp;printable=yes" rel="alternate" title="Printable version of this page [p]" accesskey="p">
Printable version </a>
</li>
<li id="t-permalink">
<a href="/docs/index.php?title=CPLD:_Complex_programmable_logic_devices&amp;oldid=18853" title="Permanent link to this revision of the page">
Permanent link </a>
</li>
</ul>
</div>
</div><!--// End Toolbox -->
</div>
</div><!--// End Sidebar left -->
<!-- Begin Sidebar right //-->
<div id="sidebar-right">
<div class="region region-right" id="sidebar-right-inner">
<div id="pcactions" class="portlet">
<h5>Views</h5>
<div class="pBody">
<ul>
<li id="ca-nstab-main" class="selected"><a href="/docs/CPLD:_Complex_programmable_logic_devices" title="View the content page [c]" accesskey="c">Page</a></li><li id="ca-talk" class="new"><a href="/docs/index.php?title=Talk:CPLD:_Complex_programmable_logic_devices&amp;action=edit&amp;redlink=1" title="Discussion about the content page [t]" accesskey="t">Discussion</a></li><li id="ca-viewsource"><a href="/docs/index.php?title=CPLD:_Complex_programmable_logic_devices&amp;action=edit" title="This page is protected.&#10;You can view its source [e]" accesskey="e">View source</a></li><li id="ca-history"><a href="/docs/index.php?title=CPLD:_Complex_programmable_logic_devices&amp;action=history" title="Past revisions of this page [h]" accesskey="h">History</a></li> </ul>
</div>
</div>
<div class="portlet" >
<h5>Personal tools</h5>
<div class="pBody">
<ul>
<li id="pt-login"><a href="/docs/index.php?title=Special:UserLogin&amp;returnto=CPLD:_Complex_programmable_logic_devices" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a>
</li>
</ul>
</div>
</div>
</div>
</div><!--// End Sidebar right -->
</div>
</div><!--// End Main -->
<div id="push"></div>
</div><!--// page-inner -->
</div><!--// page -->
</div><!--// End Global Wrapper -->
<!--// TODO: Add real Clearfix -->
<div class="visualClear"></div>
<!-- Begin Footer //-->
<!--// TODO: Add SideWide Global Footer -->
<div id="footer">
<div class="region region-footer" id="footer-inner">
<div class="widget-container widget_text contact" id="text-6">
<h3 class="widget-title">Site</h3>
<div class="textwidget">
<ul id="f-list">
<li id="lastmod">
This page was last modified on 15 June 2016, at 08:17. </li>
</ul>
<br />
Copyright 2020 Where Labs, LLC.<br />
CC BY-SA unless otherwise noted.
</div>
</div>
<div class="widget-container widget_text connect" id="text-7">
<h3 class="widget-title">Connect</h3>
<div class="textwidget">
<ul>
<li><a title="Follow us on twitter" href="http://twitter.com/#!/dangerousproto">Follow us on Twitter</a></li>
<li><a href="http://dangerousprototypes.com/feed" title="Subscribe to rss feed">Subscribe to our feed</a></li>
<li><a href="http://dangerousprototypes.com/comments/feed" title="Subcribe to comments">Subscribe to our comments</a></li>
<li><a title="Visit our Facebook page" href="http://www.facebook.com/pages/Dangerous-Prototypes/127701397281222">Visit our Facebook page</a></li>
<li><a href="http://dangerousprototypes.com/contact-us">Send us an email</a></li>
</ul>
</div>
</div>
<div class="widget-container widget_text projects" id="text-8">
<h3 class="widget-title">Projects</h3>