版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 集成電路課程設(shè)計(jì)</b></p><p> 年 級(jí): 2010級(jí) </p><p> 姓 名: </p><
2、p> 專 業(yè): 電子科學(xué)與技術(shù)(微電子技術(shù)方向) </p><p> 指導(dǎo)老師: </p><p><b> 二零一三年七月</b></p><p><b> 摘 要</b></p><p> 二十一世紀(jì)是信息時(shí)代
3、,計(jì)算機(jī)已經(jīng)應(yīng)用到人類生活的各個(gè)方面,運(yùn)算器作為計(jì)算機(jī)中一個(gè)非常重要的基礎(chǔ)器件,有著不可替代的重要作用。其中乘法器作為運(yùn)算器的一個(gè)重要組成部分,在實(shí)際應(yīng)用過程中有著不可替代的作用。</p><p> 采用串行的1位乘法方案,即多次執(zhí)行“加法—移位”操作來實(shí)現(xiàn)。這種方法并不需要很多器件。然而串行方法畢竟太慢,自從大規(guī)模集成電路問世以來,出現(xiàn)了各種形式的流水式陣列乘法器,它們屬于并行乘法器。所以本文主要探究陣列乘法
4、器。陣列乘法器是通過與門、半加器和全加器構(gòu)成的陣列來實(shí)現(xiàn)。比起傳統(tǒng)的移位乘法器來說,它的輸出延遲低,功耗小具有很好的實(shí)用價(jià)值。</p><p> 在m位乘n位不帶符號(hào)整數(shù)的陣列乘法中,“加法—移位”操作的被加數(shù)矩陣。每一個(gè)部分乘積項(xiàng)(位積)aibj叫做一個(gè)被加數(shù)。這m×n個(gè)被加數(shù){aibj|0≤i≤m-1和0≤j≤n-1}可以用m×n個(gè)“與”門并行地產(chǎn)生。顯然,設(shè)計(jì)高速并行乘法器的基本問題,
5、就在于縮短被加數(shù)矩陣中每列所包含的1的加法時(shí)間。</p><p> 本文采用cadence全定制流程和ASIC流程深入探究了4位陣列乘法器的相關(guān)性質(zhì)。包括陣列乘法器的原理圖以及版圖。同時(shí)對(duì)原理圖和版圖仿真,進(jìn)一步確定陣列乘法器的功能、面積、功耗、延時(shí)等問題。</p><p> 關(guān)鍵詞: 陣列乘法器 cadence ASIC 半加器 全加器</p><p&
6、gt; 第一章 ASIC設(shè)計(jì)流程</p><p> 1.1 DV生成網(wǎng)表</p><p> 編寫4位陣列乘法器的Verilog代碼,導(dǎo)入DV軟件中,生成網(wǎng)表文件。</p><p> 4位陣列乘法器的Verilog代碼如下:</p><p> module cc_MulX4 (Z,X,Y);</p><p>
7、 output[7:0] Z;</p><p> input [3:0] X;</p><p> input [3:0] Y;</p><p> and(Z[0],X[0],Y[0]);</p><p> wire W1,W2,W3;</p><p> and(W1,X[1],Y[0]);</p>
8、;<p> and(W2,X[2],Y[0]);</p><p> and(W3,X[3],Y[0]);</p><p> wire A0,A1,A2,A3;</p><p> and(A0,X[0],Y[1]);</p><p> and(A1,X[1],Y[1]);</p><p> an
9、d(A2,X[2],Y[1]);</p><p> and(A3,X[3],Y[1]); </p><p> wire C0,C1,C2,C3,W4,W5,W6;</p><p> halfadder ha1(W1,A0, Z[1],C0); </p><p> fulladder fa1(W4,C1,W2,A1,C0);</
10、p><p> fulladder fa2(W5,C2,W3,A2,C1);</p><p> halfadder ha2(C2,A3,W6,C3); </p><p> wire A4,A5,A6,A7;</p><p> and(A4,X[0],Y[2]);</p><p> and(A5,X[1],Y[2])
11、;</p><p> and(A6,X[2],Y[2]);</p><p> and(A7,X[3],Y[2]); </p><p> wire C4,C5,C6,C7,W7,W8,W9;</p><p> halfadder ha3(W4,A4, Z[2],C4); </p><p> fulladder
12、 fa3(W7,C5,W5,A5,C4);</p><p> fulladder fa4(W8,C6,W6,A6,C5);</p><p> fulladder fa5(W9,C7,C3,A7,C6);</p><p> wire A8,A9,A10,A11;</p><p> and(A8,X[0],Y[3]);</p>
13、<p> and(A9,X[1],Y[3]);</p><p> and(A10,X[2],Y[3]);</p><p> and(A11,X[3],Y[3]);</p><p> wire C8,C9,C10;</p><p> halfadder ha4(W7,A8, Z[3],C8); </p>
14、<p> fulladder fa6(Z[4],C9,W8,A9,C8);</p><p> fulladder fa7(Z[5],C10,W9,A10,C9);</p><p> fulladder fa8(Z[6],Z[7],C7,A11,C10);</p><p><b> endmodule</b></p>
15、<p> module halfadder(a,b,sum,cout);</p><p> input a,b;</p><p> output sum,cout;</p><p> and(cout,a,b);</p><p> xor(sum,a,b);</p><p><b>
16、 endmodule</b></p><p> module fulladder(sum,cout,x,y,cin);</p><p> output sum,cout;</p><p> input x,y,cin;</p><p> wire a,b,c;</p><p> xor(a,x,y
17、);</p><p> xor(sum,a,cin);</p><p> and(b,x,y);</p><p> and(c,a,cin);</p><p> or(cout,c,b);</p><p> endmodule </p><p> DV生成的原理圖如下:</p&
18、gt;<p> 然后利用語句write -hier -format verilog output Multiplier_nl.V將生成的網(wǎng)表文件保存起來備用。</p><p> 1.2 Silicon Ensemble進(jìn)行自動(dòng)布局布線 </p><p> 將DV中生成的網(wǎng)表文件導(dǎo)入Silicon Ensemble中,按照ASIC流程一步步將網(wǎng)表最終生成.def文件。&
19、lt;/p><p> 由于軟件的限制,中途出錯(cuò)不能修改只能重做。所以每一步都必須認(rèn)認(rèn)真真仔仔細(xì)細(xì)按照流程做。</p><p> 問題與解決方法:在導(dǎo)入網(wǎng)表文件是報(bào)錯(cuò),不能進(jìn)行一下步制作。這時(shí)應(yīng)該仔細(xì)查看軟件所報(bào)錯(cuò)誤,如果是底層元件問題,則需要換服務(wù)器。</p><p> 1.3 cadence下生成版圖</p><p> 將.def文件
20、導(dǎo)入cadence中,生成版圖并進(jìn)行DRC驗(yàn)證。</p><p> 問題與解決方案:在導(dǎo)入,def文件后,往往會(huì)出現(xiàn)不能自動(dòng)生成版圖的情況。這時(shí)候應(yīng)該仔細(xì)檢查是否有添加原件庫。如果有庫還是出錯(cuò),那應(yīng)該打開每個(gè)庫再次檢查,因?yàn)橛行旒词固砑恿擞锌赡芤彩强盏?,所以?dǎo)致不能自動(dòng)生成版圖。</p><p> 1.4 cadence下畫原理圖</p><p> 這個(gè)原
21、理圖必須按照DV生成的原理圖畫,并且一定要到門級(jí)電路的程度,否則將導(dǎo)致原理圖與版圖不能匹配。而且由于每個(gè)使用的verilog代碼有所不同,因此生成的原理圖不同,從而生成的版圖不同。更有甚者即使是同一個(gè)verilog代碼,由于使用的庫不同,生成的原理圖也會(huì)不同,所以必須認(rèn)真檢查核對(duì)自己DV原理圖后才能畫原理圖。</p><p> 以上是我生成的原理圖。這個(gè)原理圖中的全加器我已經(jīng)安裝門級(jí)電路搭好生成了symbo,并
22、且這個(gè)全加器的門級(jí)電路需要按照DV中所給的全加器的門級(jí)電路搭建。溫馨提示:有些verilog生成的全加器就是庫文件中的全加器不需要自搭,因此再次重申,這個(gè)原理必須嚴(yán)格按照DV中生成的原理圖畫,不能按自己所想任意而為。</p><p> 問題與解決方法:只要嚴(yán)格按照DV中所給的原理圖畫,基本上不會(huì)有問題。但是會(huì)出現(xiàn)這種情況,DV中顯示的是頂層電路,沒有顯示門級(jí)電路,照著這個(gè)頂層電路畫,就會(huì)出錯(cuò)。因此必須看到門級(jí)電
23、路后才能開始動(dòng)手畫原理圖,否則就是浪費(fèi)時(shí)間,必然會(huì)返工的。</p><p> 原理圖完成后就是版圖和原理圖的匹配驗(yàn)證了,</p><p> 從上圖容易看出,我的版圖與原理圖是mathc的!</p><p> 問題與解決方法:版圖與原理匹配是一個(gè)非常漫長的過程,往往一開始會(huì)有上百個(gè)錯(cuò),但是不用灰心。經(jīng)驗(yàn)告訴我們自動(dòng)生成的版圖存在VDD與GND沒加通孔的問題,因此
24、首先需要將通孔加上,這樣錯(cuò)誤會(huì)減少不少。</p><p> 接下來就是查看LVS后OUTPUT所給的又那些錯(cuò)了。一般來說會(huì)是輸入輸出引腳不匹配的問題,這個(gè)問題比較好辦??梢詫鎴D中的Display選項(xiàng)中的stat和stop的參數(shù)值調(diào)成0,0。這樣版圖上就會(huì)顯示出每個(gè)元件的名字,這樣就可以通過版圖上所給的名字去核對(duì)每個(gè)引腳的是否對(duì)應(yīng)的接在了正確的元件上。</p><p> 如果這樣做之后
25、還有錯(cuò),那可以通過error display這個(gè)選項(xiàng),查看錯(cuò)誤的具體位置在哪。當(dāng)然,點(diǎn)first之前最好將錯(cuò)位的標(biāo)記顏色改了,因?yàn)槟J(rèn)的為黑色,在版圖上完全看不清楚。白色是個(gè)不錯(cuò)的選擇,比較明顯。但是這個(gè)功能并不是特別完善,軟件所給出的錯(cuò)誤往往多于實(shí)際錯(cuò)誤,所以不要陷在那些小錯(cuò)誤中,要去找那些大錯(cuò)位。并且始終記住一點(diǎn),自動(dòng)生成的版圖,除了少了幾個(gè)通孔外,沒有其他錯(cuò)誤不要修改。只改原理圖是最好的選擇。</p><p&g
26、t;<b> 定制設(shè)計(jì)流程</b></p><p><b> 2.1電路原理</b></p><p> 不帶符號(hào)的陣列乘法器</p><p> 設(shè)有兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù):</p><p> A=am-1…a1a0</p><p> B=bn-1…b1b0<
27、;/p><p> 它們的數(shù)值分別為a和b,即</p><p> 在二進(jìn)制乘法中,被乘數(shù)A與乘數(shù)B相乘,產(chǎn)生m+n位乘積P:</p><p> P=pm+n-1…p1p0</p><p><b> 乘積P 的數(shù)值為:</b></p><p> 上述過程說明了在m位乘n位不帶符號(hào)整數(shù)的陣列乘法中
28、,“加法—移位”操作的被加數(shù)矩陣。每一個(gè)部分乘積項(xiàng)(位積)aibj叫做一個(gè)被加數(shù)。這m×n個(gè)被加數(shù){aibj|0≤i≤m-1和0≤j≤n-1}可以用m×n個(gè)“與”門并行地產(chǎn)生(如右下圖所示)。顯然,設(shè)計(jì)高速并行乘法器的基本問題,就在于縮短被加數(shù)矩陣中每列所包含的1的加法時(shí)間。</p><p> 這種乘法器要實(shí)現(xiàn)n位×n位時(shí),需要n(n-1)個(gè)全加器和n2個(gè)“與”門。該乘法器的總的乘
29、法時(shí)間可以估算如下:</p><p> 令Ta為“與門”的傳輸延遲時(shí)間,Tf為全加器(FA)的進(jìn)位傳輸延遲時(shí)間,假定用2級(jí)“與非”邏輯來實(shí)現(xiàn)FA的進(jìn)位鏈功能,那么我們就有:</p><p> Ta = Tf = 2T</p><p> 從演示中可知,最壞情況下延遲途徑,即是沿著矩陣最右邊的對(duì)角線和最下面的一行。因而得n位×n位不帶符號(hào)的陣列乘法器總的
30、乘法時(shí)間為:</p><p> tm=Ta+ (n-2)6T+5T+(n-1)]×Tf</p><p> =2T+6nT-12T+5T+(n-1)×2T=(4n-2)×2T </p><p> 4×4位陣列乘法器的邏輯電路:</p><p> 問題與解決方法:這個(gè)原理圖所有的器件都在元件庫中能夠
31、找到,只需按照陣列乘法器的排布規(guī)則連接即可。但是注意,有個(gè)元件庫中的原件在最底層的mos管是沒有具體參數(shù)的。這樣的元件是不可用的,這種情況在check的時(shí)候不會(huì)報(bào)錯(cuò),但是不能仿真。所以添加元件的時(shí)候要注意這個(gè)問題。</p><p><b> 2.2 電路仿真</b></p><p> 本電路采用NClaunch仿真,具體的verilog代碼在第一章的ASIC流程中
32、已經(jīng)給出,在這不做贅述。仿真向量的代碼如下:</p><p> module testbed();</p><p> wire[7:0] Z;</p><p> reg[3:0] Y;</p><p> reg[3:0] X;</p><p> cc_MulX4 m1(Z,X,Y);</p>&
33、lt;p><b> initial</b></p><p><b> begin</b></p><p> X = 4'b0000; Y = 4'b0000;#25 </p><p> X = 4'b0001; Y = 4'b0001;#25</p><p&
34、gt; X = 4'b0011; Y = 4'b0011;#25 </p><p> X = 4'b0111; Y = 4'b0111;#25</p><p> X = 4'b1111; Y = 4'b1111;#25</p><p> X = 4'b1000; Y = 4'b1000;#25&
35、lt;/p><p> X = 4'b1100; Y = 4'b1100;#25</p><p> X = 4'b1110; Y = 4'b1110;#25</p><p> X = 4'b0110; Y = 4'b0110;#25</p><p> X = 4'b1001; Y =
36、4'b1001;#25;</p><p><b> end</b></p><p><b> initial</b></p><p> #250 $finish;</p><p><b> Endmodule</b></p><p>
37、由于4×4的輸入數(shù)據(jù)是在太多,這里只仿真了十組數(shù)據(jù)。但是基本上能夠代表電路的正確性了。</p><p><b> 仿真結(jié)果如下:</b></p><p> 問題與解決方法:這里的verilog代碼應(yīng)該嚴(yán)格按照自己所化的原理圖,按照門級(jí)格式來寫,如果直接寫A*B那么實(shí)際上仿真的電路并不是所畫的原理圖,不其任何作用。</p><p>
38、 如果代碼報(bào)錯(cuò),直接按照?qǐng)?bào)錯(cuò)問題的位置去查找修改就行了。值得注意的是,錯(cuò)誤的語句在紅色的字上面而不是下面,以免會(huì)漏改錯(cuò)誤。</p><p><b> 2.3 版圖設(shè)計(jì)</b></p><p> 版圖設(shè)計(jì)完全是按照原理圖來。因?yàn)樵韴D中的所使用的所有元件都已經(jīng)有了自己的版圖,所以可以先將所有用到的元件版圖拷貝到自己的版圖中,然后進(jìn)行連線即可。</p>
39、<p> 值得注意的是排版問題,因?yàn)椴煌呐虐鎸?huì)導(dǎo)致連線的難易程度有很大的差距。建議按照自動(dòng)布線的排版方式,這樣可以節(jié)省較多空間并且減少許多空間浪費(fèi)。并且可以降低不少難度。</p><p> 原本打算是做8×8的陣列乘法器的,就是卡在版圖這里。8×8的陣列乘法器的版圖是在是非常復(fù)雜,整整是4×4的4倍,而且連線變得非常難繞。最終放棄做而選擇做4×4的?,F(xiàn)在
40、想起來,我之所以不能布出8×8的版圖,就是因?yàn)槲覈?yán)格按照原理的元件布局來畫版圖,活生生將布線的難度提高了。如果在畫版圖之前能夠認(rèn)真思考一下,應(yīng)該就能有更好的收獲。</p><p> 下圖為4×4陣列乘法器的版圖:</p><p> 這是個(gè)非常差強(qiáng)人意的版圖,浪費(fèi)太多空間且布線特別復(fù)雜。但是DRC驗(yàn)證沒有問題,也算是值得欣慰了。</p><p>
41、; 接下來的LVS驗(yàn)證也通過。</p><p> 問題與解決方法:版圖DRC驗(yàn)證是可能出現(xiàn)報(bào)出錯(cuò)誤而在版圖上找不到的情況,畢竟版圖這么大出現(xiàn)的錯(cuò)誤可能只是很小的地方,此時(shí)可以用軟件自帶的find功能,就會(huì)找到所在位置;</p><p> 版圖與原理圖的LVS驗(yàn)證,一般問題很多。但是只要通過觀察OUTPUT所給的錯(cuò)誤地方和ERROR DISPLAY顯示每個(gè)錯(cuò)誤所在的具體位置,一般來說
42、都能改正過來。具體方法如下圖所示:</p><p> 2.4 陣列乘法器測(cè)試</p><p> 先將原理圖都生成一個(gè)symbol,然后新建一個(gè)原理圖。將這個(gè)symbol搭建成一個(gè)新的原理圖。</p><p> 為了保證能夠測(cè)試陣列乘法器的延時(shí)等問題,最好將乘法器的一個(gè)輸入調(diào)成方波,這樣有0,1變換不僅能夠得到更多的數(shù)據(jù),保證乘法器邏輯的正確性,更能夠通過測(cè)試輸
43、出延時(shí),確定陣列乘法器的延時(shí)。</p><p> 原理圖check沒錯(cuò)后就可以建立一個(gè)config文件,將其中一個(gè)乘法器標(biāo)記為版圖,這樣才能進(jìn)行版圖和原理圖的同時(shí)仿真,否則都是原理圖的仿真。</p><p> 具體的config文件的設(shè)置如下圖所示:</p><p> 設(shè)置完成后,就進(jìn)行仿真。最后得到的邏輯結(jié)果為:</p><p>
44、上圖左邊為原理圖輸出,右邊為版圖輸出。</p><p><b> 延遲測(cè)試結(jié)果:</b></p><p><b> 原理圖延遲</b></p><p><b> 版圖延遲</b></p><p> 有上圖可知,版圖的延遲比原理圖延遲更大。這很可能的原因就是我的版圖畫得太
45、差,導(dǎo)致延遲更高!】</p><p><b> 功耗測(cè)試:</b></p><p> 問題與解決方法:容易出現(xiàn)邏輯結(jié)果不對(duì)的情況,這個(gè)時(shí)候首先應(yīng)該檢查底層原理圖是否有錯(cuò)。如果沒錯(cuò),則有可能是輸入的方波周期太小了,因?yàn)殛嚵谐朔ㄆ麟m然延遲相對(duì)較較小,但是還是有一定延遲的。輸入的方波周期太小,這樣乘法器的輸出就會(huì)出現(xiàn)混疊的情況,導(dǎo)致邏輯結(jié)果不對(duì)。建議將方波周期調(diào)到10n
46、s以上。</p><p><b> 結(jié)論</b></p><p> 通過cadence全定制流程和AISC流程制作出來的乘法器,在存在一定程度上的差異性。</p><p> 首先是原理圖;即使是用描述原理圖流程的門級(jí)電路的verilog代碼,DV生成的原理圖也與自己畫的原理圖存在差異。ASIC流程更加細(xì)致一些,因?yàn)樗话銜?huì)使用更加底層的門
47、級(jí)電路來生成原理圖,當(dāng)然這并不能說明它的原理圖就比自己畫的好,因?yàn)閷?shí)際上來說不同門級(jí)電路做出來的電路的好壞并不能輕易判定。</p><p> 接下來就是版圖;不可否認(rèn)ASIC流程說話的版圖比自己畫的版圖要好。這主要原因?yàn)樽约旱慕?jīng)驗(yàn)不足,所以畫出的版圖延遲高,而且浪費(fèi)較多空間。所以版圖的繪制,最好參照ASIC版圖畫。</p><p> 最后時(shí)間;ASIC流程用時(shí)較短,不出意外情況兩天可以
48、輕松完成了。而全定制比較麻煩,因?yàn)樗袞|西都是自己一步步畫出來的。但是正因?yàn)槿绱?,全定制能夠更好的體現(xiàn)設(shè)計(jì)者想要的東西,而ASIC更多的是利用庫文件,很多時(shí)候不能達(dá)到預(yù)期效果。</p><p> 通過這十多天的課程設(shè)計(jì)實(shí)習(xí),讓我對(duì)ASIC流程和cadence流程有了更深的體會(huì)。同時(shí)將集成電路設(shè)計(jì)的理論知識(shí)用于實(shí)踐,讓我對(duì)以前學(xué)過的知識(shí)又有了更深的體悟。</p><p> 在畫原理圖前的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 集成電路課程設(shè)計(jì)
- 集成電路課程設(shè)計(jì)報(bào)告
- 集成電路課程設(shè)計(jì)報(bào)告
- 集成電路綜合課程設(shè)計(jì)
- 集成電路課程設(shè)計(jì)_new
- 數(shù)字集成電路課程設(shè)計(jì)報(bào)告——通訊集成電路
- 集成電路課程設(shè)計(jì)報(bào)告 (2)
- 集成電路課程設(shè)計(jì)74h
- 集成電路課程設(shè)計(jì)74h
- 集成電路課程設(shè)計(jì)74h
- 集成電路設(shè)計(jì)課程設(shè)計(jì)課程教學(xué)大綱
- 集成電路設(shè)計(jì)課程設(shè)計(jì)課程教學(xué)大綱
- 集成電路課程設(shè)計(jì)(cmos二輸入與門)
- 集成電路課程總結(jié)
- 集成電路課程設(shè)計(jì)74h138芯片設(shè)計(jì)
- 集成電路課程設(shè)計(jì)--基于cmos的二輸入與門電路
- 集成電路eda的課程設(shè)計(jì)-- 自動(dòng)售郵票機(jī)的設(shè)計(jì)
- 超大規(guī)模集成電路課程設(shè)計(jì)
- 集成電路課程設(shè)計(jì) --溫濕度光照采集傳輸控制
- 集成電路課程設(shè)計(jì)--cmos反相器的電路設(shè)計(jì)及版圖設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論