Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/24/07 08:25
Read: times


 
Msg Score: +2
 +1 Informative
 +1 Good Answer/Helpful
#133622 - CrazyROM2 Still 15-18 Chips
Responding to: ???'s previous message
Mike:

Your idea to implement a hardware solution for a 16 byte sized "program" to implement the programming algorithm in your microcontroller is a almost as much of a zany idea as the earlier 64 byte version. Despite that this is still technically possible but not really particularly practical in the way that you have indicated that you wish to implement it. In my evaluation I still think it takes far too many gates to give any credibility to a goal to implement this with discrete logic.

Once again I cannot comment much on the legitimacy of the small program that you presented as a valid scheme to program an EEPROM. The code seems to be based upon the fact that you could write into the EEPROM from address zero, byte by byte, with no other type of handshaking or timing constraint. It clearly also assumes that the DPTR register is initialized at reset to a consistet value. I put the actual program together as a "source file" and fed it through the Keil Assembler/Linker process to produce a normal HEX file of the program data.

You can view this source code by clicking here: Source Code

The resulting HEX file of data and also with some re-formatting can be seen here: Object Data

Once again I utilized the Xilinx CPLD/FPGA device compiler and drew up a schematic that uses a brute force batch of MUXes to select 1's and 0's for each of the eight data outputs based upon the address inputs. I limited the address inputs to A0 to A3 since four bits can select 16 of the locations in the CrazyROM2. I based the 1's and 0's for the "program" based upon the compiler output that is linked above. You may see a PDF of the schematic here: CrazyROM2 Schematic File

The Xilinx tool set produced the set of equations that you may see at this link: set of equations. Notice that these equations do show a tristate buffer output enable on the CrazyROM2 outputs. This may be needed to permit the "ROM" hardware to be managed on the bus of the microcontroller to avoid contention with the normal EEPROM and RAM chips that you indicated that you intend to also have on the circuit board.

My estimate in looking at these equations is that it would take maybe 15 to 18 logic chips of the 14 and 16-pin variety to implement these equations. That is still quite a few and once again it would be a major pain if you find that the "condensed version" program needs to be changed just after you get this thing all built. On the other hand if you look at the equations closely it can be seen that these would fit with ease into a small PAL or GAL type part. I think you should give this latter idea of the use of a GAL a lot of consideration if you are still hung onto the goal of a hardware logic ROM type solution.

I have gathered all the materials for the program and the Xilinx project files together into a single ZIP file should you want to try to use the Xilinx tool set to minimize your logic. ZIP File (721K)

Good Luck. PLEASE do not take my wish for good luck or the posting of this thread to be any kind of a source of endorsment of this idea to implement a 13 byte 8051 program via 18 logic packages. It is still a CrazyROM idea.

Michael Karas


List of 96 messages in thread
TopicAuthorDate
Boolean Algebra with "dont cares"            01/01/70 00:00      
   I do not fully get your applicatiojn, but            01/01/70 00:00      
      Let me explain            01/01/70 00:00      
   Karnaugh Mapping            01/01/70 00:00      
      longer?            01/01/70 00:00      
         8 times is longer?            01/01/70 00:00      
            I explained it            01/01/70 00:00      
               a square wheel is not that easy to make, is it?            01/01/70 00:00      
               Do you understand Karnaugh Mapping?            01/01/70 00:00      
   theres a very old program called espresso            01/01/70 00:00      
   also remember logic minimisation            01/01/70 00:00      
   Don't Cares            01/01/70 00:00      
      I don't think he needs an RS232 receiver            01/01/70 00:00      
         Well spotted            01/01/70 00:00      
            Deja Vu            01/01/70 00:00      
               Everything old is new again!            01/01/70 00:00      
                  For the paranoid...            01/01/70 00:00      
                     I have made my decision            01/01/70 00:00      
                        depending...            01/01/70 00:00      
                           yes and yes            01/01/70 00:00      
                              DPTR initialized            01/01/70 00:00      
                                 ...            01/01/70 00:00      
                                    fewest number of chips            01/01/70 00:00      
                                       You can do it with TWO chips.            01/01/70 00:00      
                                    You keep saying that!            01/01/70 00:00      
                                       Well ... he's on a crusade now ... let him be            01/01/70 00:00      
                                          ok            01/01/70 00:00      
                                             Common approach            01/01/70 00:00      
                                                I have a different idea            01/01/70 00:00      
                                                   that square wheel will get you in the ditch in 5 m            01/01/70 00:00      
                                                      No Sync -- The Same            01/01/70 00:00      
                                                         but            01/01/70 00:00      
                                                            thanks to Mr. Gates, that will not work            01/01/70 00:00      
                                                               at least I try.            01/01/70 00:00      
                                                                  driving your car into a tree also "can be done"            01/01/70 00:00      
                                                                     ...            01/01/70 00:00      
                                                                        I would never pay for something with 47 chips wher            01/01/70 00:00      
                                                                        well anyroad up            01/01/70 00:00      
                                                                        Proving one is crazy            01/01/70 00:00      
                                                                           Russell, you forgot the REAL issue            01/01/70 00:00      
                                                   just once            01/01/70 00:00      
                                 give him a a break ... he's using the INTEL part            01/01/70 00:00      
                        CrazyROM2 Still 15-18 Chips            01/01/70 00:00      
                           Practical? Credible?            01/01/70 00:00      
                              Impractical and Incredible            01/01/70 00:00      
                                 These guys knew what they were doing!            01/01/70 00:00      
                           That code is pretty much what I use            01/01/70 00:00      
      answer            01/01/70 00:00      
         Remove the blinkers!            01/01/70 00:00      
            A light dawns?            01/01/70 00:00      
   Don't cares are Dangerous Here            01/01/70 00:00      
      Now there's the thing...            01/01/70 00:00      
         Mike S I wish you a lot of fun            01/01/70 00:00      
   One 74154 and a handful of diodes            01/01/70 00:00      
      omg            01/01/70 00:00      
         Depends on buffer...            01/01/70 00:00      
            so does using ROM banks not make the use of a ROM            01/01/70 00:00      
               Used to have one...            01/01/70 00:00      
   has anyone ever 'lost' a ROM?            01/01/70 00:00      
      Yea, but I found it later :)            01/01/70 00:00      
      Lost ROMs            01/01/70 00:00      
         No part is failure-proof            01/01/70 00:00      
            statistical reliability issues            01/01/70 00:00      
               it's a learning experience ... [sigh]            01/01/70 00:00      
                  as usual, Mike replied "that is not what I want"            01/01/70 00:00      
                     well, maybe not zero ...            01/01/70 00:00      
                        ah, now I understand why Mike is doing this            01/01/70 00:00      
                           Buggy Whip Pricing            01/01/70 00:00      
                              oh, well            01/01/70 00:00      
                                 Maybe he should be left to his own devices            01/01/70 00:00      
                                    I made a better decision            01/01/70 00:00      
                                       the wheel is still square            01/01/70 00:00      
                                       why nop?            01/01/70 00:00      
                                          correction            01/01/70 00:00      
                                             answer            01/01/70 00:00      
                                                another question            01/01/70 00:00      
                                                   something else            01/01/70 00:00      
                                                      and I should have added...            01/01/70 00:00      
                                                         hard-coded            01/01/70 00:00      
                                       a couple of \'138\'s should do it            01/01/70 00:00      
                                          answer            01/01/70 00:00      
                                             not the first, more like #237654            01/01/70 00:00      
                                             "Invent"- Try 8052-BASIC            01/01/70 00:00      
                                       Just a thought            01/01/70 00:00      
                                       No thanks to anyone            01/01/70 00:00      
                                          Let the boy flounder ... he'll figure it out!            01/01/70 00:00      
                                          a bit of a chuckle?            01/01/70 00:00      
                                             sooner or later ...            01/01/70 00:00      
                                                you may be right :)            01/01/70 00:00      
                                                if I must lower my speed for programming, I will            01/01/70 00:00      
                                                   Capacitors on the write line            01/01/70 00:00      
                                                      NAAH            01/01/70 00:00      
                                                         anyone tell ya I have a slower clock too?            01/01/70 00:00      
                                                            Do you mean a crystal?            01/01/70 00:00      
                                                               it may            01/01/70 00:00      
   So, Mikey ... have you finally wised up?            01/01/70 00:00      

Back to Subject List