tag 标签: programmable logic

相关博文
  • 热度 12
    2011-11-23 17:35
    1932 次阅读|
    0 个评论
    Note: Here's a "How it used to be" story as told by Aubrey Kagan, a professional engineer with a BSEE from the Technion-Israel Institute of Technology and an MBA from the University of the Witwatersrand. Aubrey is engineering manager at Emphatec, a Toronto-based design house of industrial control interfaces and switch-mode power supplies. In addition to writing several articles for Circuit Cellar and having ideas published in EDN and Electronic Design, Aubrey wrote Excel by Example: A Microsoft Excel Cookbook for Electronics Engineers (Newnes, 2004). In the 70s and 80s (and even the 90s if you include South Africa itself) the news in Southern Africa was flooded with the acronyms of dozens of liberation groups in colonial Africa. In 1980, when South Africa was engaged in a not-so-secret incursion into Angola, there were three contenders that captured the public's attention – UNITA, MPLA and FNLA. So when I attended a seminar on programmable logic and was introduced to the FPLA and PAL, I guess I could be forgiven for thinking that I had stumbled into a news conference or political meeting. The Field Programmable Logic Array (FPLA) was a Signetics product and was known only by name in South Africa. The Programmable Array Logic (PAL) from Monolithic Memories (MMI) was marketed at the time by a local distributor called Radiokom who was hosting the seminar. The databook that I got at the seminar (I still have an electronic copy) included all of MMI's products and the PAL only took up one section. There were only 13 products in the family. All were in 20 pin 0.3" DIL packages. There were only 3 with registered outputs, the rest were different combinations of AND/OR gates. The PALS were bipolar (technologically, not psychologically speaking) and were only superior to TTL in that you could replace 2-3 TTL packages with one PAL. These were humble beginnings. At the time I was designing a memory storage card for the Intel iSBX bus (a mezzanine bus on a Multibus card – I am sure there is a "How It Was" to be written about that). The board was constrained by specification to about 3"x 2" and so space was at a premium, hence my choice of PAL despite the hefty current consumption. The devices had programmable fuses, but once a fuse was programmed it could never be "unprogrammed".   The author "Then" (left) and "Now" (right)   At the time, MMI had already defined a programming language called PALASM. The 1980 catalog only introduces it. The 1981 catalog describes it as a program written in FORTRAN. At the time there was no standard host on which to run the software. The IBM PC only came out in 1981. There was a quasi-standard operating system called CP/M, but the floppy disks could only be interchanged if the floppy disk drive was an 8" single density (360KB if I remember) and maybe it was even restricted to IBM drives. MMI said there was a list of machines, but it certainly wasn't presented in the manual. Radiokom also distributed a machine from South West Technical Products (SWTPC) , but it couldn't run PALASM. So we were left to do this manually as described in the MMI books. (I see from Wikipedia that the programmer from Structured Design actually had PALASM embedded.) First you would photocopy (we actually did have photocopiers in those days, but often they used to smell of some very toxic chemicals and were hard to write on with ball point pen) the logic diagram of the PAL that you wanted to use. First step was to mark the I/O names. Then you would figure out either using logic equations or by inspection which connections you wanted and mark them with an "X" as you can see in Figure 1. The "X" indicated that the fuse was intact; all the other fused were to be blown. Each small AND gate actually had multiple inputs, so that multiple "X"s on the same input row actually represented these multiple inputs and not that the inputs were connected together. For instance look at row (Product Term) 24 of figure 1 .     Figure 1 You may notice an "X" in some of the AND gates (look at the AND gate on product term 7 in figure 1 ). Since each input consists of a signal and its complement they cancel themselves on the AND gate. Where no input to an AND gate is assigned, the output it 0 and does not affect the following OR gate. The X in the body of the AND gate is a short-form notation to indicate that all the fuses on the product term are intact. The next step was to photocopy the template of the fuse map as shown in figure 2 . Any intact fuse would show up as an "L" and a blown fuse as an "H". You had to pay attention since the order of the product terms in the template was not the same as the order on the logic diagram.     Figure 2 Although MMI provided details on how to program the devices, there was a list of five approved programmer manufacturers. I was only aware of two. There was a universal programmer for Data I/O which cost and arm, a leg and a lung and one from Pro-Log. (Pro-Log was also responsible for the STD microcomputer bus, I believe still used today in expanded form by companies like Ziatech. Actually I remember an article from Pro-Log that dismissed the 8048 specifically and single chip micros in general as being of limited use. I wish I still had it.). According to the MMI manual the programmers used a paper tape input to load the data, but with no method of generating the paper tape this was a moot point. The Pro-Log programmer was housed in a large black attaché case making it transportable. As I recall the entry was not by keypad, but by toggle switches, but maybe I am wrong. Probably not coincidentally, Radiokom was the distributor of Pro-Log and so I used their programmer to program the device. I remember spending several hours entering and correcting the data for this simple device. Incidentally, similar to the EPROM/PROM/ROM marketplace, the PAL was aimed at a development and low volume marketplace. Once the design was finalized it was expected that the design be committed to a HAL- a mask programmed Hard Array Logic device. Now that I think about it, I realize quite how influential the IBM PC was in determining the approach we take today to any kind of electronic development. I think its influence here must exceed its influence over what we do at home or even business using the PC. I remember reading that Intel believed that the development system market was not cost-sensitive and they certainly priced their development tools accordingly. The PC not only standardized the user interface and the inter device communications (RS232 and parallel port), but also drove the entry level costs for development right down. Over the next 5 or 6 years the changes in the programmable logic market were rapid and rather fuzzy in my memory. New manufacturers popped up and densities increased along with revised architectures. Altera introduced static CMOS devices that drew very little power and were erasable. Lattice was similar, but despite being called CMOS drew quite a bit of power on its GAL devices. ICT produced a variations in EEPROM. Each PLD (although I don't think that acronym was used till much later) manufacturer had their own user interface and programming language, but always hosted on the PC. PALASM was still quite popular and could be used in some cases for other manufacturer's products. Data I/O introduced their own programming language called Abel, and there was another universal contender called CUPL. There was the EP300 and EP600 from Altera and the 22V10 from AMD (and then others). Xilinx and Actel popped up in there somewhere A number of the big players tried to get into the market. Intel (I think they acted as the foundry for Altera) tried. TI had a shot. National Semiconductor second sourced Lattice parts. MMI was taken over by AMD which spun the result of as Vantis and then absorbed by Lattice.  
  • 热度 15
    2011-9-22 21:42
    3882 次阅读|
    0 个评论
    May 1000 curses rain down on the heads of people at Think Geek who torment me with products I never knew I wanted... It's my own stupid fault. I know that whenever the catalog from ThinkGeek.com arrives in my email's Inbox, I should simply delete it without looking. But I cannot help myself... I see something that looks interesting and click on it, and before I know what's happening I am bouncing back and forth around their sight saying "Ooooh, Shiny!" For example, do you remember that classic science fiction film called Soylent Green starring Charlton Heston as Robert Thorn? The entire film was wonderful, but the part that haunts me to this day is when Thorn's aged friend and roommate, Solomon "Sol" Roth (Edward G. Robinson, in his last film) discovers that the new food (Soylent Green) being supplied to the public is actually formed from dead people (not plankton, which is what the government says). Sol decides that life is no longer worth living and opts for assisted suicide at a government clinic. As Sol is passing away, he is treated to video clips of Earth long ago when animals and vegetation (plants, trees, etc.) were thriving and there was no pollution. The music playing in the background is Beethoven's Pastoral (Symphony #6). Now, whenever I hear even a few notes from this piece I see that scene from the film in my "mind's eye." The reason I'm waffling on about this is that I just discovered that you can purchase boxes of Soylent Green Crackers from the Think Geek website ( Click here to visit that page). On the one hand you might say that this is in bad taste, but I haven't tried them so I really couldn't say what they taste like (grin). Do you recall my recent blog about creating a Periodic Table of Programmable Logic ? One thing that had never struck me was the idea of forming words from the element symbols. For example, check out the image of the Bacon T-Shirt shown below. Similarly, they also do a Beer T-Shirt .   I don't know why, but this "tickles my fancy" as it were. I would love to own both of these T-Shirts, but sadly I am low on funds at the moment, so these will have to go on my Christmas "Wish List". Now, it's no secret that I LOVE the British science fiction series Doctor Who. I was hooked from the very first broadcast of the very first episode of the original series, which I observed way back in the mists of time (pun intended) in 1963 at the tender young age of six years old from behind my parents' sofa. Of course I really LOVE the more recent version with all of the special effects (I cannot wait for the DVDs for the second half of series 6 to become available). But we digress... as aficionados of Doctor Who well know, the good doctor never carries a weapon, instead he his "armed" only with a little "sonic screwdriver" (it's not the size of your sonic screwdriver, it's what you do with it that counts). Well, I was amazed to see a plethora of sonic screwdrivers on the Think Geek Site. Of course they have the latest screwdriver, which is associated with the 11th Doctor and which is described on the Think Geek page as being "Better than fish and custard" (you have to have watched the program to understand what this means – Click here to visit this page). Sadly, this is currently out of stock (which has probably saved me from myself), but new shipments are expected in October (hurray).   The 11th Doctor's sonic screwdriver But wait, there's more, because you can also get River Song's version of the sonic screwdriver from the 11th Doctor's future timeline ( Click here to visit this page – What do you mean? Of course this isn't confusing.)   River Song's future sonic screwdriver DOCTOR: Your screwdriver... looks exactly like mine. RIVER: Yeah. You gave it to me. DOCTOR: I don't give my screwdriver to anyone. RIVER: I'm not anyone. But wait, there's more, because we also have the 10th Doctor's version of the sonic screwdriver ( Click here to visit this page).   The 10th Doctor's sonic screwdriver When you come to think about it, it would be rather cool to have a complete collection of sonic screwdrivers. I can't recall which Doctor had the first one – did this go all the way back to the 1st Doctor (William Hartnell)? What I do know is that Think Geek has a replica of the 3rd Doctor's offering ( Click here to see this page).   The 3rd Doctor's sonic screwdriver As you may recall, the 3rd Doctor was played by John Pertwee. I really liked John in this role, but I have to say that I'm not impressed with his sonic screwdriver ... it looks like a kid's toy, for goodness sake (grin)!   John Pertwee as the 3rd Doctor Who But I cannot stay here waffling on like this, because the Think Geek site is calling my name with its siren song offering me promises of delectation and delight...  
  • 热度 14
    2011-8-24 22:50
    2112 次阅读|
    0 个评论
    I've waded my way through all of the suggestions on the Periodic Table of Programmable Logic. I accepted some, rejected others, and added some of my own. Now, here's the second revision. ( Click here to see the first version.) A couple of folks noted that Hg (not Ag) should be "Quicksilver (RIP)", because Hg denotes Mercury, which is also known as Quicksilver (or "hydrargyrum" as the ancients would say, meaning "liquid silver," from "hydr" and "argyros" ). I totally agree and have made this change. The other changes I've made are as follows: 3 = Li = Little Endian 21 = Sc = Soft Core 29 = Cu = Configuration Upset 39 = Y = "Why doesn't it work?" 41 = Nb = Nybble (Nibble) 50 = Sn = Synplicity (now Synopsys) 54 = Xe = Cross Engineer 99 = ES = Embedded Software 51 = Sb = Serial Bits 56 = Ba = Bass Ackwards 74 = W = Watchdog Timer 78 = Pt = Product Term 79 = Au = Abound Logic (RIP) 81 = Tl = Tier Logic (RIP) 91 = Pa = Placement Algorithm 92 = U = Utilization (of Resources) 94 = Pu = Power-Up 101 = Md = Modular Design 102 = No = No Idea 107 = Bh = Bit Hashing 108 = Hs = High Speed I/O 109 = Mt = MathStar (RIP) Now, if you click on this link , you'll be presented with a full-up version of the current chart. As you'll see, we are still missing some elements. Also we want to get rid of specific product names, so we need alternatives for 19 = Kintex, 23 = Virtex, etc.   Last but not least, some of the ones we currently have are either not as relevant to programmable logic space (where no one can hear you scream) as one might hope, or they are a bit "ho hum" and boring. For myself I rather like the funny ones like 39 = Y = "Why doesn't it work?" So let's all get our thinking caps on and see if we can finish this off and make it something to be proud of. Please remember to include the element numbers with your suggestions, otherwise it can be a real pain trying to track these little rascals down (try finding elements Ra, Rh, and Tm, for example ... you'll soon see what I mean :-)
  • 热度 17
    2011-8-10 23:21
    2983 次阅读|
    0 个评论
    My blog on the creation of a periodic table for programmable logic got an overwhelming response, with several readers sharing many useful suggestions. So, what I've done is to go through all of the offerings thus far – and add a few of my own – and to generate a combined list as shown toward the end of this blog.   You would not believe how long it's taken me to create a large version of this table containing all of the data thus far. You can see the current state of the full up version by clicking the following link: www.clivemaxfield.com/area51/periodic-table-prog-logic-v1.jpg Note that I'm not 100% happy about all of the items we have thus far. For example 8 = O = Output and 53 = I = Input are a little tame (but the only thing I could come up with was 8 = O = "Oh My Gosh!" ). Also 24 = Cr = Achronix is a bit of a push, but I can't think of anything better. As you will see, there are still quite a few blank spaces. What about "Bah, Humbug!" for 56 = Ba ? And I really think we can do better than 64 = Gd = Good . Also, although Xilinx came out of this quite well insofar as their FPGA families got a lot of mentions, we don't actually have one for their company name (any ideas?). Anyway, it would be great if you could take the time to check out the following list. Can you think of anything to fill in the blanks? Also note that we aren't locked into any of the existing items – if you can think of a better entry for any of these please let me know by adding a comment to the bottom of this blog (please, Please, PLEASE give the element number and symbol along with your proposed definition ... if you just say something like "U = You Idiot" it can take me ages to find the "U" box in the table). OK, the current list is as follows: 1 H = HardCopy 2 He "...doesn't pass the laugh test" 3 Li = ??? 4 Be = Bit Error Rate 5 B = Byte 6 C = CPLD 7 N = No NRE 8 O = Output 9 F = FPGA 10 Ne = Negative Edge 11 Na = NAND 12 Mg = Multi-Gigabit Transceiver 13 Al = Altera 14 Si = SiliconBlue 15 P = PSoC 16 S = Slack 17 Cl = Configurable Logic 18 Ar = Artix 19 k = Kintex 20 Ca = Carry Chain 21 Sc = ??? 22 Ti = Timing Analysis 23 V = Virtex 24 Cr = Achronix 25 Mn = ??? 26 Fe = Feedback 27 Co = Core 28 Ni = Nios 29 Cu = ??? 30 Zn = ZYNQ 31 Ga = Genetic Algorithm 32 Ge = Gigabit Ethernet 33 As = Asynchronous 34 Se = SERDES 35 Br = Block RAM 36 Kr = Kernigan and Richie 37 Rb = Readback 38 Sr = hift Register 39 Y = ??? 40 Zr = ??? 41 Nb = ??? 42 Mo = Module 43 Tc = Timing Closure 44 Ru = ??? 45 Rh = Radiation Hardened 46 Pd = Pipelined Design 47 Ag = QuickSilver (RIP) 48 Cd = Clock Divider 49 In = Intel FlexLogic (RIP) 50 Sn = ??? 51 Sb = ??? 52 Te = Test 53 I = Input 54 Xe = ??? 55 Cs = Constraint 56 Ba = ??? 57 La = Lattice Semiconductor 58 Ce = Clock Enable 59 Pr = Partial Reconfiguration 60 Nd = Node 61 Pm = PALASM 62 Sm = Simulation 63 Eu = Emulation 64 Gd = Good 65 Tb = Terabits Per Second 66 Dy = Dynamic Power 67 Ho = Hold Time 68 Er = Error Correction 69 Tm = Technology Mapping 70 Tb = Yottabyte 71 Lu = Lookup Table 72 Hf = Hierarchical Floorplanning 73 Ta = Tabula 74 W = ??? 75 Re = Reconfigurable Computing 76 Os = Operating System 77 Ir = Input Register 78 Pt = ??? 79 Au = ??? 80 Hg = ??? 81 TI = ??? 82 Pb = PicoBlaze 83 Bi = Bitstream 84 Po = Port 85 At = Atmel 86 Rn = Random 87 Fr = Freeman, Ross 88 Ra = RapidIO 89 Ac = Actel (now Microsemi) 90 Th = Throughput 91 Pa = ??? 92 U = ??? 93 Np = ??? 94 Pu = ??? 95 Am = Ambric (RIP) 96 Cm = Clock Manager 97 Bk = Block 98 Cf = Configuration File 99 Es = ??? 100 Fm = ??? 101 Md = ??? 102 No = ??? 103 Lr = ??? 104 Rf = Register File 105 Db = Double Data Rate 106 Sg = Speed Grade 107 Bh = ??? 108 Hs = ??? 109 Mt = ??? 110 Ds = Digital Signal Processing 111 Rg = Register Any suggestions will be very much appreciated...
  • 热度 19
    2011-8-9 16:04
    3657 次阅读|
    0 个评论
    Having been inspired by the book The Disappearing Spoon, I wrote an article an article about different ways of presenting the periodic table. In the book, the author, Sam Kean, walks us through the elements in the periodic table regaling us with tidbits of trivia and nuggets of knowledge and stories as to the people who discovered them and how they have affected us in terms of politics, art, war, and ... all sorts of things. Later, I wrote a column that included a bunch of Periodic Table images showing the elements in a human being as compared to the elements required to construct a modern integrated circuit. Well, I was recently pointed toward an article about a periodic table of Contra . The creator of the table – April Blum – had seen other novelty periodic tables, and wondered if she could create one based on the terms the callers use during Contra dancing. The result is really clever ( Click Here to see the original article and Click Here to see a full-size version of the table).   One thing I find really impressive about this is that there's no cheating; April used the real chemical symbols and worked really hard to make everything come out. The article also mentioned some other fun periodic tables, so I started bouncing around to see what was out there. The first one I ran across was The Periodic Table of Dessert . However, although this looks pretty at a first glance, its creator basically made up his own chemical symbols to match his requirements. There's also a Periodic Table of Fruits and Nuts , which seems a bit better in that it does use real chemical symbols, but it doesn't seem to cover all of the elements (notably, the rare earths are missing). The same thing applies to this Periodic Table of Fish Lures and Flies . Just a minute – I have an idea – and I bet you're thinking the same thing as me, which is "Could we create our own Periodic Table of Programmable Logic?" If we do, we would want to make a really good job of it. Here's a starting point table I created in Visio:   How about it? Can we come up with a programmable logic-related item for each of the chemical symbols for elements 1 through 111? If you post your suggestions as comments, I will add them to a full up table. If (when) we finish our table, I'll make it available as a PDF that anyone can download and print.