關于可編程邏輯,你可能已經遺忘的8件事

2014年07月15日 10:00 來源:賽靈思 作者:Steve Leibson 我要評論(0)

標簽:賽靈思(130124)可編程邏輯(43753)

  今年,Xilinx已經成立30周年了,在過去的30年里,可編程邏輯行業(yè)得到了顯著的發(fā)展,這也意味著過去的許多技術都成為了歷史,讓我們揭開時間的面紗,從消遣的角度去回顧一下這些塵封往事。

  Schematic Entry(原理圖輸入)-曾幾何時,原理圖就是工程師們的一切,一張羊皮圖紙,一支自動鉛筆,一把直尺,一個綠色邏輯模版,一塊橡皮擦,一塊金屬擦除模板,直到上世紀80年代,計算機的出現,使原理圖的制作技術得到了一個大的飛躍。到上世紀80年代中期,在原理圖技術正在發(fā)生轉變的時候,FPGA登上了歷史舞臺。隨著FPGA的容量越來越大,原理圖變得越來越復雜和笨拙,這就好像幾年前ASIC設計所經歷的事情一樣。到了上世紀90年代,日漸增長的復雜度迫使工程師們學習Verilog和VHDL語言來使用大容量的器件,現在,這項流行的技術已經基本取代了原理圖輸入。但是,在Xilinx Vivado設計套件的IP集成工具中,我們可以看到原理圖輸入的新的形式,在這里,IP模塊以一種圖形化的視圖形式出現,而不用再去考慮IP內部的復雜度,圖形化設計又重新在設計中占有了一席之地。

  FPLA,PAL和GAL在1975年,Signetics(西格尼蒂克)公司出品的第一代可編程邏輯器件被稱為FPLA(現場可編程邏輯陣列)。FPLA的特點是尺寸大、速度慢、價格昂貴、不易使用,并且功耗很大,這些特點導致它無法在商業(yè)領域獲得成功。MMI(Monolithic Memories Inc)推出簡化改進后的FPLA,又稱為PAL(可編程陣列邏輯),是第一個獲得成功的可編程邏輯器件,改進之后,不可以對或陣列進行編程,這樣大大簡化了片上的互連以及可編程的熔斷點。MMI制造的雙極型PAL非常便宜,這也助長了“blow-and-go”工程設計模式(不需要做任何仿真)的滋長,許多設計工程師的工作臺上都有一小堆用過的PAL器件來提醒自己更加細心的工作。(我把我用壞的PAL器件放在一個紙杯中)PAL器件獲得巨大成功,以至于國家半導體、TI和AMD等公司都開始提供管腳兼容的器件。在上世紀80年代,雙極型PAL發(fā)展成了基于EPROM的GALs(通用陣列邏輯),并最終演變成CPLD

  熔絲映射-我們并不總是用HDL語言來配置可編程邏輯。工程師們曾經使用熔絲圖來直接表現片上的熔斷點和互連,根據邏輯等式,可以在PAL數據手冊的片上互連圖上進行標注,以此來表示哪些熔絲需要熔斷,哪些保持不變,然后需要手工把熔絲圖轉換為一個包含“0”和“1”字符串的二進制編程文件,這個文件可以告訴器件編程人員哪些熔絲需要熔斷,哪些保持不變。幸運的是,熔絲圖編程方法很快就不再被人們所采用。這是一張MMI熔絲圖,出自EETimes的“How It Was: Programmable Logic”,作者是Max Maxfield。該文是基于Aubrey Kagan的口述整理而成,他是一家位于多倫多,從事工控接口和開關電源設計的公司(Emphatec)的工程主管。

  MMI熔絲圖

  ABEL(高級布爾表達式語言)-由Data I/O公司在1984年4月份提出的一種早期的硬件描述語言。在那個時代里,ABEL與CUPL和PALASM同臺競爭。Data I/O公司拆分ABEL產品線,成立一個名為Synario設計系統(tǒng)的EDA公司,然后,又在1997年把Synario賣給了MINC公司。MINC是一家專注于開發(fā)FPGA開發(fā)工具的公司,該公司在1998年倒閉,Xilinx收購了MINC的部分資產,這其中就包括了ABEL語言和工具集,ABEL成為Xilinx Webpack工具套件的一部分。點擊此處閱讀Michael Holly撰寫的ABEL語言的歷史,Michael Holly是Data I/O公司最早的開發(fā)人員之一。

  CUPL(通用可編程邏輯的編譯器)-加州圣何塞的Assisted Technology最早研發(fā)出CUPL,并在1983年9月份對外發(fā)布。出于可移植性的考慮,CUPL是用C語言開發(fā)而成,它是最早的商業(yè)化設計工具,可以支持多個PLD系列,Personal CAD Systems (P-CAD)在1985年收購了Assisted Technology以及CUPL,可編程器件供應商Logical Devices后來收購了CUPL,然后轉手賣給了Altium,在上世紀90年代,CUPL出現在Altium公司的Protel設計系統(tǒng)中,現在是以一個設計插件的形式存在。Logical Devices仍然提供PAL/PLD設計軟件,用于基于PROM/ EPROM可編程邏輯器件,這個軟件就是CUBEL,它是在早期的CUPL和ABEL硬件描述語言的基礎上開發(fā)而成。

  PALASM-上世紀80年代早期,MMI公司的John Birkner合作開發(fā)了“PAL匯編語言”,以此來取代熔絲圖編程。它最初是用Fortran IV編寫而成,可以運行在大型主機或者微機上。Birkner創(chuàng)立了Structured Design公司,該公司提供SD20 PAL編程器,用于第一代20個管腳的MMI雙極型PAL器件,后面又推出SD20/24編程器,增加了對24個管腳的PAL器件的支持。Structured Design的器件編程器使用內嵌的PALASM編譯器,不需要使用微機,程序可以保存在SD20的Exatron “Stringy Floppy”磁帶驅動器中,或者通過RS-232串行接口來輸入和輸出,通常情況下,RS-232是與PC機進行連接。

  Data I/O器件編程器-當需要一個通用的器件編程器,既可以用于EPROM,也可以用于可編程邏輯器件,那么就需要了解Data I/O公司,它制造出了最早的商用編程器。Data I/O成立于1969年,在整個70年代,為了適應可編程器件日益提高的復雜度,它推出了一系列處理能力不斷增強的產品。在80年代,Data I/O推出Model 29型號的編程器,它能夠使用UniPak適配器來對EPROM進行編程,也可以使用一個LogicPak插件適配器來對PLD器件進行編程。Data I/O現在提供為生產線設計的大容量、高速度的器件編程器。

  

  Data I/O Model 29B編程器外加LogicPak適配器。圖片來源: Michael Holley

  UV擦除器-最早的可編程邏輯器件使用片上可編程熔絲,它們只能一次性編程,導致工程師的桌上經常會出現一堆燒壞的器件,一些PLD供應商很快意識到可擦除的PLD器件會更加受到市場歡迎,他們改進了UV EPROM單元用于PLD器件,這樣,也就意味著絕大部分的設計實驗室需要有一個UV擦除器來負責擦除可編程邏輯器件中的內容。UV擦除器曾經相當昂貴,但是現在在亞馬遜只要不到20美金就能買到買到一個簡單的UV擦除器。

  德州儀器TTL數據手冊-如果你是一個上世紀70年代的數字設計工程師,那么有著橘黃色封面的TI TTL數據手冊就是你的設計圣經。在手冊里,你能夠找到設計數字系統(tǒng)所能用到的所有模塊。在1971年TI 7400系列邏輯器件首次引入微處理器概念之前,許多系統(tǒng)都是基于沒有微處理器的TTL器件或者其他LSI的器件來開發(fā)的。最早的用于可編程邏輯器件的IP模塊是TI TTL數據手冊及其補充部分描述的更加復雜的部件,設計人員使用這種內嵌數字模塊的可編程邏輯,可以簡化整個系統(tǒng)的實現,這些數字模塊就是IP重用的早期原型。

  

  經過了大概40年,這本TI TTL數據手冊(1976年前后)仍然擺在我的書架上