Shop OBEX P1 Docs P2 Docs Learn Events
P8X32A and VGA - Page 5 — Parallax Forums

P8X32A and VGA

1235710

Comments

  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-28 21:39
    It was on two pages, but I see both label the Prop U1, so your design may be 'or' morphing two drawings.
    Silverado_2.pdf and Silverado_3.pdf shows the same P8X32A, both are named P8X32A_2 !
    Silverado_1.pdf is P8X32A_1 and Silverado_4.pdf P8X32A_3.

    The CD4017 is a johnson decade counter, works this too ?

    Any suggestions for a better power supply ?
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-29 16:36
    Is it possible to drive a P8X32A with only have a clock signal on XI (6.29375MHz) ?
  • jmgjmg Posts: 15,173
    edited 2013-05-29 16:58
    The CD4017 is a johnson decade counter, works this too ?
    The CD4017 would be too slow, and whilst it has a HCMOS version, there are no fast 3.3V variants.
    As the 174 is already on the BOM, why not just use that ?
    Is it possible to drive a P8X32A with only have a clock signal on XI (6.29375MHz) ?

    Yes, that gives the /4 and 100.7MHz operation (over clocked) - many report Prop operating fine at 100MHz, and if you ensure the Vcc is tightly regulated that has less risk. (and keep it cool... )

    I'd suggest test first at /5, and certainly have /4 as an option
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-29 17:05
    Yes i use the 74LV174 as a Johnson Counter, knows now how it works.

    and keep it cool...

    I put thermal grease and a aluminium heatsink on his top !
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-29 18:28
    and if you ensure the Vcc is tightly regulated

    I have decide to use a LTC1147CS8-3.3 and a LTC1147CS8-5.
    Two Step-Down Switching Regulators.

    New designed power supply: Silverado_5.pdf
    Updated Silverado_2_alpha.pdf, now with Johnson Counter (U31). P8X32A_2 clock speed 100.7MHz.
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-30 13:31
    Parallel i'am planing the Silverado Version with CPLD's as SDRAM Controller
    This is the schematic for the thirst CPLD, she controls the addressbus and the controllines.

    The target device is a Xilinx XC9536XL-10PC44.
    The schematic was used as top module for the CPLD programming.
  • jmgjmg Posts: 15,173
    edited 2013-05-30 15:01
    Updated Silverado_2_alpha.pdf, now with Johnson Counter (U31).

    You might want to check the Johnson wiring ? : with a MR to ensure no illegal states, usually you just make a ring with a single inverter for even divides, or if you want to /5, a NOR gate option.

    The target device is a Xilinx XC9572XL-7PC44.

    The 9572XL is getting long in the tooth, and has high Icc ? - your Xilinx flows probably also support XC2C64A ?
    ( or Lattice LC4064V or LC4064Zx)
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-30 15:22
    I think i have done the Johnson Counter in this way (Frequency Division):
    http://osp.mans.edu.eg/cs212/FF_Applications.htm
    Frequency in = 25.175MHz, after first flip-flop = 12.5875MHz = after second flip-flop = 6.29375MHz
    I can connect MR with 3,3V if it isn't needed !

    Yes the XC2C64A is supported !
    Why is the XC2C64A a better solution as the XC9572XL-7PC44 ?

    Is my power supply design now better ?
  • jmgjmg Posts: 15,173
    edited 2013-05-30 15:44
    I think i have done the Johnson Counter in this way (Frequency Division):
    http://osp.mans.edu.eg/cs212/FF_Applications.htm

    Yes the XC2C64A is supported !
    Why is the XC2C64A a better solution as the XC9572XL-7PC44 ?

    The 174 has a common clock, and usually a Johnson or ring counter, is a shift-register, with an inverter, or NOR feedback.

    The XC2C64A is lower power, and cheaper, but one minor drawback, is it does need a 1.8V core supply (low current) I/Os are 3.3v.

    Also check out the Lattice MachXO2 - more logic again, my main peeve with the XO2, is the lack of middle ground packages.

    They have one part in QFN32, which can fit a good amount, provided you need only 21io, and then they leap to TQFP100.?!
    (BGA parts are not easy to handle in moderate volumes or on 2 layer PCBs)

    They should do 44/48 pin gull wing variants to allow retrofit of CPLD footprints - clearly the die can fit.
    I suspect some turf-war inside Lattice is the reason for this silliness.

    Adding : To give a feel for what fits in the QFN32, MachXO2, here are some tests I did for Multiple Quadrature counters :
    // Design is 4 Quad counters and a single Muxed CW:0 SPI Capture/Shifter 
    // can vary the Counter+Shifter width, (CW) to fit into a 32 pin MachXO2-256 
    //
    // parameter  CW = 23;	// ZE is lower power, slower variant, HC is 3.3V
    // in XO2-256   SLICE     97/128   75% used    Max :  LCMXO2-256ZE : 77.730MHz 
    
    // parameter  CW = 27;	 
    // in XO2-256   SLICE    111/128   86% used   MAX : LCMXO2-256HC   141.044MHz 
     
    // parameter  CW = 29;	 
    // in XO2-256  SLICE   118/128     92% used   MAX : LCMXO2-256HC   133.815MHz 
    
     parameter  CW = 31;	 
    // in XO2-256-tqfp100  SLICE  125/128      97% used   MAX : LCMXO2-256HC  138.947MHz
    // in QFN32            SLICE  125/128      97% used   MAX : LCMXO2-256HC 133.316MHz
    // Slight change in MHz with package, perhaps more constrained routing ?
    
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-30 16:14
    ...but one minor drawback, is it does need a 1.8V supply...
    That's good, i use a Arduino with a atmega328 and the JTAGWhisperer sketch to programm the CPLD's.
    I can programm 3.3V and 5V CPLD's.
  • jmgjmg Posts: 15,173
    edited 2013-05-30 16:32
    I can programm 3.3V and 5V CPLD's.

    I fixed my comment a little : The XC2C64 core Vcc is 1.8v (sub 5mA), but the I/O and programming is 3.3v
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-30 19:07
    This is the schematic for the second CPLD, she is the second part of the SDRAM Controller and she controls the bidirectional databus.

    The target device is a Xilinx XC9572XL-10PC44.
    The schematic was used as top module for the CPLD programming.
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-31 16:36
    Must the CPLD's be soldered to the final PCB or can the are livelong be put into a plcc socket like this one ?
    http://uk.farnell.com/productimages/farnell/standard/42627954.jpg

    Is the pin distance of this sockets the same like the dip sockets has ?
  • jmgjmg Posts: 15,173
    edited 2013-05-31 16:54
    Must the CPLD's be soldered to the final PCB or can the are livelong be put into a plcc socket like this one ?
    http://uk.farnell.com/productimages/farnell/standard/42627954.jpg

    Is the pin distance of this sockets the same like the dip sockets has ?

    PLCC sockets are fine for CPLDs, and they have 0.1" pin pitch, if that was what you meant.
  • megaionstormmegaionstorm Posts: 178
    edited 2013-05-31 16:57
    Yes, thanks ! Makes something more easy !
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-05-31 23:24
    You guys have got me interested in CPLD chips again!

    XC9572XL looks pretty good. $3.50 at futurlec in a PLCC.

    I wonder if anyone has done this before?

    Hmm - it appears they have http://propeller.wikispaces.com/Propeller_CPLD

    But that is a smaller ram chip and I think there are good reasons why the large SDRAM's are going to be better.

    Re PLCC sockets - I like these too. And with sockets you can plug chips in and out and are less likely to cook a chip when soldering.

    Addit: I think there might be equivalent chips that can be soldered that have more pins eg XC9572XLVQ64-7C. If there are not enough pins on the 44 pin version. And futurlec sell a PLCC 84 pin one for $6.90. The XC9572XL seems a very flexible choice.
  • jmgjmg Posts: 15,173
    edited 2013-05-31 23:54
    Dr_Acula wrote: »
    And futurlec sell a PLCC 84 pin one for $6.90.

    I think the PLCC84 are dinosaurs now...

    The next logical step up from 44 pins, is probably to TQFP100, and then you can get the MachXO2 family

    LCMXO2-256HC-4TG100C 256 LUTS 56 I/O 3.3V 1: $4.25
    LCMXO2-640HC-4TG100C 640 LUTS, 79 I/O, 3.3V 1: $5.85
    LCMXO2-1200HC-4TG100C 1280 LUTS 80 I/O 3.3V 1: $7.35
    LCMXO2-2000HC-4TG100C 2112 LUTS, 80 I/O, 3.3V 1: $10.20

    (and they do have a QFN32 LCMXO2-256HC-4SG32C 256 LUTS, 22 I/O, 3.3V 1: $2.80 )
    ( & you can get going with LCMXO2-7000HE-B-EVN MACHXO2-7000HE BREAKOUT BOARD 1: $26.23)

    and those cover a wide range of choices. The 640 and up, include Block rams, so can start to buffer writes.
    Even the -256 would be able to manage the Pixel Start command in hardware,and it could also do the Line and Frame....

    For absolute price tho, it is hard to beat LV174's ~20c/100+
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2013-06-01 00:51
    PLCCs are great for being able to reuse the chips for many other things, after the present project is "yesterday's". They also give the wonderful feature of through hole 0.1" mounting so that home made PCBs are easier, but ...

    They are so big, physically, and yet restrict the pin count. I have a couple of old PCBs that I will lever off some of the CPLDs, this time they are all Altera types (still obsolete stuff, Flex and Max, as is usual for me) and SM. I can do down to 0.5mm PCBs but 0.4mm isn't pretty, and that is to be Prop2 pitch :-(
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 01:46
    I can do down to 0.5mm PCBs but 0.4mm isn't pretty, and that is to be Prop2 pitch :-(
    For beginners they must sell the prop2 ready soldered on a smd to dip pcb !
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 02:05
    You guys have got me interested in CPLD chips again!
    I like the idea to work with CPLD's and later with FPGA's.

    In a later stage they give me the possibilty to replace a lot of logic chips with one CPLD.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-06-01 02:33
    I agree - something like this http://www.hdl.co.jp/en/index.php/plcc68-series-menu.html which at first sight is a standard PLCC but it is actually a ball grid array chip, plus some support components like capacitors. The power of modern FPGA but with connections that mere mortals can actually solder.

    I keep coming back to the old school PLCC xilinx chips. I know the datasheet says they are obsolete, but they do seem about the right mix of simplicity and cost for this sort of project.

    Also - been downloading the xilinx software all day. It is a 6GB file. Hope it is worth much of my monthly download limit!
  • jmgjmg Posts: 15,173
    edited 2013-06-01 05:00
    Dr_Acula wrote: »
    I keep coming back to the old school PLCC xilinx chips. I know the datasheet says they are obsolete, but they do seem about the right mix of simplicity and cost for this sort of project.

    Also - been downloading the xilinx software all day. It is a 6GB file. Hope it is worth much of my monthly download limit!

    If you like PLCC84, for one still with a (some? **) pulse, Newark show 395 pcs of stock of Atmel ATF1508ASV-15JU84 , at 1-9 : $3.42 (128 macrocells) and Digikey show 900.

    The Atmel WinCUPL software is about a ~20MB download (and much faster than Xilinx to compile and fit) :)

    ** The ATF1508ASV-15JU84 seems to be a still valid part code, as those stock levels indicate.
    Data sheet indicates ATF1508ASV-15JU84 (PLCC84) and TATF1508ASV-15AU100 (TQFP100)
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 05:14
    A question.
    Later, on the final pcb.
    All datalines must have the same length, the same for the addresslines ?

    I like the simplicity to programm the CPLD through a schematic drawing !
  • jmgjmg Posts: 15,173
    edited 2013-06-01 05:24
    A question.
    Later, on the final pcb.
    All datalines must have the same length, the same for the addresslines ?!


    At 25MHz, you do not need to be too paranoid.
    I like the simplicity to programm the CPLD through a schematic drawing !

    Schematics are not tools-portable, and need care to avoid extra logic getting into the mix from MSI Block use.

    Boolean equation entry is quite readable, for this sort of work.

    Here is a Generic Johnson Counter, set for /5 :
    FIELD Qc = [Qc6..Qc0];
    
    
    John_D = !(Qc2 # Qc1);  /* NOR  gives  2H  3L */
    
    Qc.d = !SRn & 'b'0000000
         # SRn & [Qc5..Qc0,John_D];
    
    

    and the Pin-map section, for a 16V8
    PIN     1    =       CLKi;    /* clock  */
    PIN     2    =       SRn;     /* Sync reset */
    
    PIN    12    =       Qc0;     
    PIN    13    =       Qc1;     
    PIN    14    =       Qc2;     
    PIN    15    =       Qc3;     
    PIN    16    =       Qc4;     
    PIN    17    =       Qc5;     
    PIN    18    =       Qc6;     
    PIN    19    =       John_D;   /* does not have to be a pin, omit this line to collapse, keep to Probe */
    
    
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 05:45
    Pin 12, 14, 16, 18 = input ?
    Pin 13, 15, 17, 19 = output ?


    FIELD Qc = [Qc6..Qc0];
    John_D = !(Qc2 # Qc1); /* NOR gives 2H 3L */
    Qc.d = !SRn & 'b'0000000 # SRn & [Qc5..Qc0,John_D];

    In the moment i have problems to translate the code !
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-06-01 07:38
    I'm a bit miffed. Spent 5 hours downloading the xilinx package (6Gb), an hour installing it, it takes over a minute to start the program and comes up looking like a simple C/C++ text editor.

    That should be a program that takes a few megabytes. Bloatware++ !

    I'm not interested in C for this purpose. If I wanted to use C to program a chip, I'd have used a Propeller :)

    Can this xilinx program draw schematics to program a XC9572 or have I got the wrong program?
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 07:48
    ISE Design Suit 14.5:
    1) Start ISE Project Navigator
    2) Click on 'New Project'
    Enter project name and destination path.
    Select under 'Top Level Source Type': Schematic
    Click on NEXT
    3) Under Project Settings you can select the target device.
    Select as Family 'XC9500XL CPLDs'.
    Select as device 'XC9572XL'
    Click on NEXT.
    4) Click on FINISH.
    5) 'Project/New Source'
    Highlight 'Schematic'.
    Enter schematic name.
    Click on NEXT.
    Click on FINISH.
    6) Click on DESIGN.
  • jmgjmg Posts: 15,173
    edited 2013-06-01 14:13
    Pin 12, 14, 16, 18 = input ?
    Pin 13, 15, 17, 19 = output ?

    Not sure where you pulled that from ?
    FIELD Qc = [Qc6..Qc0];
    John_D = !(Qc2 # Qc1); /* NOR gives 2H 3L */
    Qc.d = !SRn & 'b'0000000 # SRn & [Qc5..Qc0,John_D];

    In the moment i have problems to translate the code !

    It is simple enough, just Boolean equations, very like assembler

    FIELD allows groups of bits to be collected into a single name. Here Qc is now 7 bits wide.
    Boolean operators are
    ! -> NOT
    & -> AND
    # -> OR
    $ -> XOR

    Suffixes are .CK, .D, OR, .T (& also .J .K ) ( self explanatory)

    The line Qc.d = !SRn & 'b'0000000 # SRn & [Qc5..Qc0,John_D];
    just says
    When SRn is LOW, Sync load 0000000, else when Hi, create a Shift-Left-register, fed by Johnson_D term.

    This code compiles in under 1 second.
    I'll do a PLCC84 version, since that seems a active part.

    Another advantage of text entry over schematics, is I can do this

    $IFDEF DivideBy5
    John_D = !(Qc2 # Qc1); /* NOR gives 2H 3L */
    $ENDIF

    $IFDEF DivideBy6 /* gives 3H 3L */
    John_D = !Qc2;
    $ENDIF
  • megaionstormmegaionstorm Posts: 178
    edited 2013-06-01 14:37
    quote_icon.png Originally Posted by megaionstorm viewpost-right.png
    Pin 12, 14, 16, 18 = input ? QC0 ...
    Pin 13, 15, 17, 19 = output ? QC1 ...

    Not sure where you pulled that from ?

    From the 16V8 pin map section !
  • jmgjmg Posts: 15,173
    edited 2013-06-01 14:41
    From the 16V8 pin map section !

    I meant the input/output groupings you gave, not in the original ??
    Those are 16v8 pins, not some other device - in this case, they are all outputs.
Sign In or Register to comment.