標題: 利用Cell-based 設計具平行運算能力的CMAC CHIP
On the Cell-based IC Design of Parallel CMAC Neural Network Chip
作者: 黃昱源
Yu-Yuan Huang
陳福川
Dr.Fu-Chung Chen
電控工程研究所
關鍵字: CMAC類神經網路晶片;SIMD計算架構;CMAC neural network chip;SIMD computation architecture;Cell-baesd IC Design
公開日期: 1999
摘要: 本論文的目的,再於以VLSI設計具平行運算能力的CMAC類神經網路晶片,並規劃一個CMAC類神經網路系統,用以改善傳統PD控制器於非線性系統的控制精度。 在本論文中,我們利用SIMD計算架構及國科會晶片設計製作中心,所提供的Cell-baesd IC Design 的設計發展環境,去設計具有平行運算能力的CMAC Chip ,讓CMAC Chip有能力一次從記憶體中讀取或寫入兩筆資料。首先,我們將D.Ellison所提出的產生演算法轉成實際電路,在晶片電路以及參數的選取上,盡量能以移位器代替乘法器和除法器,使得電路更簡潔。並使用CIC提供的電路驗證軟體,證明我們的晶片設計是正確無誤的。最後並模擬CMAC類神經網路晶片去學習一個三維的非線性函數,以證明我們所設計CMAC類神經網路晶片有學習非線性函數的能力。
The object of this thesis is to build the CMAC neural network chip with parallel computing capability via VLSI chip,and to design a CMAC neural network hardware system。We use the CMAC chip to improve results in controlling nonlinear systems。 In this paper,we use SIMD computation architecture and the Cell-Based IC Design environment which is supported by CIC to design the CMAC chip with parallel computing capability。The CMAC Chip designed has the ability to fetch or store two data simultaneously。First,we transform the generalization algorithm proposed by D.Ellision into physical circuits。In the chip circuit and selection of CMAC specific parameters,we replace multiplier and divisor by shifters,so the chip circuit becomes simpler。 We use the IC checking and simulation tool supported by CIC to verify the design。Finally,we apply the CMAC chip to learn the three-dimension nonlinear function to verify our design。 中文摘要 ……………………………………………………………………… Ⅰ 英文摘要 ……………………………………………………………………… Ⅱ 誌謝 ……………………………………………………………………… Ⅲ 目錄 ……………………………………………………………………… Ⅳ 表目錄 ……………………………………………………………………… Ⅴ 圖目錄 …………………………………………………………………… Ⅵ 第一章、 緒論..………………………………………………………………… 1 1.1 研究動機、背景與目的……..….………………..……………….... 1 1.2 論文內容介紹…..…………………….……………………………. 1 第二章 、 CMAC類神經網路 ..…………..…………………………………….. 3 2.1 CMAC控制系統……………………….………………..…… 3 2.2 PD控制器數學模型推導………………….………………..…… 4 2.3 CMAC之計算架構與工作原理…………………………………….. 5 2.4 非線性系統之模擬控制………………………………………… 13 2.5 CMAC參數之探討……………………………………………… 17 2.6 討論實際記憶體的應用…………………………………………. 18 2.7 CMAC學習特性…………………………………………………… 21 第三章、 IC Chip Design Option…………………………………… 23 3.1 FPGA晶片之ASIC設計………………………………………… 23 3.2 Full-custom Design…………………………………………… 29 3.3 Cell-Based IC Design……………………………………… 32 3.3.1 Verilog…………………………………………………. 33 3.3.2 Logic Synthesis……………………………………….. 34 3.3.3 Simulation………………………………………………. 37 3.3.4 Cell-Based Physical Design and Verififcation….. 38 3.4 ASIC設計方式之比較與分析…………………………………….41 第四章、 具平行運算能力之CMAC系統設計………….………………………. 43 4.1 平行架構之選取 …………………………………………………. 43 4.2 CMAC類神經網路系統規格與架構…………………………. 46 4.2.1 CMAC類神經網路系統主要結構………………………… 47 4.2.2 CMAC類神經網路系統的描述……………………………. 48 4.3 CMAC CHIP的主要架構…………………………………………… 50 4.4 系統模擬的方式………………………………………………….. 59 4.1.1 Processor Control Language(PCL)……………………..60 4.1.2 Processor Models………………………………………… 61 4.5 CMAC類神經網路CHIP的測試…………………………………….64 4.5.1 使用Verilog-XL所提供的Simulator…………………….64 4.5.2 測試………………………………………………………….65 4.6 使用PCL規劃tms320c50去控制CMAC類神經網路模組………..84 4.7 CMAC CHIP Synthesis、Physical與Verification…………….85 4.8 沒有平行度與具平行度CHIP SIZE的比較…………………90 4.9 CMAC類神經網路系統學習非線性函數……………………………92 第五章、 結論與未來展望………………………………………………………..95 參考文獻 …………………….………………....…..…..……………………...96 表目錄 表2.1 The effect of leraning rate..……………………………….. 17 表2.2 The effect of generalization..…………….……………….. 17 表2.3 The effect of proportional gain..………………………….. 17 表2.4 記憶體要求及碰撞機率(I=2,M=(36,72), 2592 IP patterns).. 19 表2.5 記憶體要求及碰撞機率(I=8,M=256, 10^19 IP patterns)…… 20 表2.6 記憶體要求及碰撞機率(I=16, M=128, 10^38 IP patterns)… 20 圖目錄 圖2.1 CMAC控制系統…………………………………………………………….3 圖2.2 CMAC計算架構…………………………………………………………….5 圖2.3 Generalization法則…………………………………………………….7 圖2.4 計憶體讀取流程圖……………………………………………………11 圖2.5 計憶體寫入流程圖…………………………………………………………12 圖2.6 每一個週期中最大的誤差…………………………………………………15 圖2.7 追蹤誤差…………………………………………………………………15 圖2.8 CMAC控制輸出…………………………………………………………….16 圖2.9 PD控制輸出…………………………………………………………….16 圖2.10 G與learning points的關係圖………………………………………22 圖3.1 Xilinx FPGA之設計流程………………………………………………26 圖3.2 FPGA與Xchecker Download Cable之接線關係………………………28 圖3.3 full-custom design的設計流程………………………………………30 圖3.4 Cell-Based設計流程……………………………………………………33 圖3.5 Logic Synthesis Overview……………………………………………35 圖3.6 Compile overview………………………………………………………36 圖3.7 Gate Level Simulation…………………………………………………37 圖3.8 Physical Design的步驟及使用的軟體………………………………38 圖3.9 後段佈局驗證流程……………………………………………………….40 圖4.1 SISD計算架構.………………………………………………………43 圖4.2 SIMD計算架構.………………………………………………………44 圖4.3 MISD計算架構.………………………………………………………44 圖4.4 MIMD計算架構.………………………………………………………45 圖4.5 CMAC類神經網路硬體架構……………………………………………47 圖4.6 CMAC Chip 主要架構…………………………………………………50 圖4.7 定址電路方塊圖……………………………………………………….51 圖4.8 weighting電路方塊圖……………………………………………56 圖4.9 控制電路方塊圖……………………………………………………..57 圖4.10 Hardware Verification(HV) Model Processing Sequence…62 圖4.11 PCL Development FLOW………………………………………… 63 圖4.12 Full-functional Model Processing Sequence………………63 圖4.13 addressing schematic block…………………………………66 圖4.14 當counter為1時,因平行度為二,同時產生兩個位址,分別為 230038,230294………………………………………………….. 67 圖4.15 weighting schematic block ………………………………………… 69 圖4.16 依序從fromsram讀入1到64的值……………………………………70 圖4.17 當C7=1後,clock正緣觸發時 ,sumout分別為12到75(因記憶體 的每個值加11) ………………………………………………………71 圖4.18 control schematic block……………………………………………. 72 圖4.19 CONVERTER schematic 是經由輸入真值表,由SYNOPSYS 幫我們轉換 成電路…………………………………………………………………..73 圖4.20 CMAC module測試電路…………………………………………………..79 圖4.21 當三個輸入向量完成後,func=3,執行train的功能,開始產生64 個實際位址,並開始訓練(bus=200)……………………………………..81 圖4.2 2 累加完1到64之後,重新讀入此64個位置的值,然後做更新(updata), 每一個資料都被加上191,這個時候64個產生位址的值變成192到 255……………………………………………………………………...82 圖4.23 更新後的64個位址累加後為14304,這時候iobus enable,從外部匯 流排(bus)讀出55………………………………………………………83 圖4.24 schematic view……………………………………………………87 圖 4.25 layout view…………………………………………………………….88 圖4.26 不具平行度的CMAC CHIP gate count 大約為3580……………90 圖4.27 平行度為二的CMAC CHIP gate count 大約為3692……………91 圖4.28 第一次學習效果(到2131點達到學習目標) ……………………93 圖 4.29 第二次學習效果(到1967點達到學習目標) …………………………93 圖 4.30 第三次學習效果(到2330點達到學習目標) …………………………94
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT880591047
http://hdl.handle.net/11536/66280
Appears in Collections:Thesis