總結(jié)是指對(duì)某一階段的工作、學(xué)習(xí)或思想中的經(jīng)驗(yàn)或情況加以總結(jié)和概括的書(shū)面材料,,它可以明確下一步的工作方向,少走彎路,,少犯錯(cuò)誤,,提高工作效益,因此,,讓我們寫(xiě)一份總結(jié)吧。什么樣的總結(jié)才是有效的呢,?以下我給大家整理了一些優(yōu)質(zhì)的總結(jié)范文,希望對(duì)大家能夠有所幫助,。
eda技術(shù)知識(shí)總結(jié)篇一
綜述部分
的中文全稱(chēng)為電子設(shè)計(jì)自動(dòng)化,英文全名為electronic design automation,。平臺(tái)常用的兩種輸入電路的方法是:電路原理圖輸入法、hdl輸入法,。平臺(tái)工作流程:電路輸入,、綜合優(yōu)化,、功能仿真、布局布線,、門(mén)級(jí)仿真。
數(shù)字電路部分
中常用的仿真語(yǔ)言為verilog和vhdl,。
其英文全名為vhsic hardware description language,而vhsic則是very high speed intergeraterd circuit的縮寫(xiě)詞,,意為甚高速集成電路,故vhdl其準(zhǔn)確的中文譯名為甚高速集成電路的硬件描述語(yǔ)言,。
g hdl其英文全名為verilog hardware decription language,,hdl中文譯名為硬件描述語(yǔ)言,。
g和vhdl的比較
共同點(diǎn):能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計(jì)中層次與范圍的描述,;可借用高級(jí)語(yǔ)言的精巧結(jié)構(gòu)來(lái)簡(jiǎn)化電路行為的描述,;具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,;支持電路描述由高層到低層的綜合轉(zhuǎn)換,;硬件描述與實(shí)現(xiàn)工藝無(wú)關(guān),;便于文檔管理;易于理解和設(shè)計(jì)重用,。
不同點(diǎn):verilog在系統(tǒng)級(jí)抽象方面略差,vhdl在門(mén)級(jí)開(kāi)關(guān)電路方面略差,。
5.軟核,、固核和硬核
軟核:功能經(jīng)過(guò)驗(yàn)證的,、可綜合的、實(shí)現(xiàn)后電路結(jié)構(gòu)總門(mén)數(shù)在5000門(mén)以上的verilog模型,。
固核:在某一種現(xiàn)場(chǎng)可編程門(mén)列器件上實(shí)現(xiàn)的經(jīng)驗(yàn)證是正確的,且總門(mén)數(shù)在5000門(mén)以上的電路結(jié)構(gòu)編碼文件,。
在某一種專(zhuān)用集成電路工藝的器件上實(shí)現(xiàn)的,經(jīng)驗(yàn)證是正確的,,且總門(mén)數(shù)在5000門(mén)以上的電路結(jié)構(gòu)版圖掩膜。6.自頂向下(top down)設(shè)計(jì)
7.自底向上(down top)設(shè)計(jì)
8.名詞解釋?zhuān)?/p>
asic:application specific integrated circuit,,專(zhuān)用集成電路。
fpga:field programmable gate array,,現(xiàn)場(chǎng)可編程門(mén)陣列,。pld:programmable logic device,,可編程邏輯器件。
verilog編程題: 數(shù)據(jù)比較器(2位)//數(shù)據(jù)比較器
module compare(equal, a, b);input a,b;output equal;reg equal;always @(a or b)if(a == b)equal = 1;else equal = 0;endmodule
//數(shù)據(jù)比較器測(cè)試代碼 `timescale 1ns/1ns `include “./1-1.v” module t;reg a,b;wire equal;initial begin a=0;b=0;#100 a=0;b=1;#100 a=1;b=1;#100 a=1;b=0;#100 a=0;b=0;#100 $stop;end
compare m(.equal(equal),.a(a),.b(b));endmodule
數(shù)據(jù)比較器(8位)
module compare8(equal, a, b);input [7:0]a, b;output equal;reg equal;always @(a or b)if(a > b)begin equal = 1;end else begin equal = 0;end endmodule 分頻器
module half_clk(reset, clk_in, clk_out);input clk_in, reset;output clk_out;reg clk_out;
always @(posedge clk_in)begin if(!reset)clk_out = 0;else clk_out = ~clk_out;end endmodule
10m時(shí)鐘分頻為500k module fspanision(reset, mb, kb);input mb, reset;output kb;reg kb;reg [7:0] j;
always @(posedge mb)if(!reset)begin kb <= 0;j <= 0;end else begin if(j == 19)begin j <= 0;kb <= ~kb;end else j <= j+1;end endmodule
譯碼電路
`define plus 3'd0 `define minus 3'd1 `define band 3'd2 `define bor 3'd3 `define unegate 3'd4
module alu(out, opcode, a, b);output[7:0] out;reg[7:0] out;input[2:0] opcode;input[7:0] a,b;
always @(opcode or a or b)begin case(opcode)`plus: out = a + b;`minus: out = a-b;`band: out = a & b;`bor: out = a | b;`unegate: out = ~a;default: out = 8'hx;endcase end endmodule
八路數(shù)據(jù)選擇器
module selecting8(addr, in1, in2, in3, in4, in5, in6, in7, in8, dataout, reset);input [2:0] addr;input [3:0] in1,in2,in3,in4,in5,in6,in7,in8;input reset;output [3:0] dataout;reg [3:0] dataout;
always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or reset)begin if(!reset)case(addr)3'b000: dataout = in1;3'b001: dataout = in2;3'b010: dataout = in3;3'b011: dataout = in4;3'b100: dataout = in5;3'b101: dataout = in6;3'b110: dataout = in7;3'b111: dataout = in8;endcase else dataout = 0;end endmodule
邏輯運(yùn)算電路
module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;
always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end
function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule
module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;
always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end
function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule
高速排序組合邏輯
module sort4(ra, rb, rc, rd, a, b, c, d);output[3:0] ra, rb, rc, rd;input[3:0] a, b, c, d;reg[3:0] ra, rb, rc, rd;reg[3:0] va, vb, vc, vd;
always @(a or b or c or d)begin {va, vb, vc, vd} = {a, b, c, d};sort2(va, vc);sort2(vb, vd);sort2(va, vb);sort2(vc, vd);sort2(vb, vc);{ra, rb, rc, rd} = {va, vb, vc, vd};end
task sort2;input[3:0]x, y;reg[3:0] tmp;if(x > y)begin tmp = x;x = y;y = tmp;end endtask endmodule
檢測(cè)5位二進(jìn)制序列10010 module seqdet(x, z, clk, rst, state);input x, clk, rst;output z;output[2:0] state;reg[2:0] state;wire z;
parameter idle = 'd0, a = 'd1, b = 'd2, c = 'd3, d = 'd4, e = 'd5, f = 'd6, g = 'd7;
assign z =(state == e && x == 0)? 1:0;
always @(posedge clk)if(!rst)begin state <= idle;end else case(state)idle: if(x == 1)begin state <= a;end a: if(x == 0)begin state <= b;end b: if(x == 0)begin state <= c;end else begin state <= f;end c: if(x == 1)begin state <= d;end else begin state <= g;end d: if(x == 0)begin state <= e;end else begin state <= a;end e: if(x == 0)begin state <= c;end else begin state = a;end f: if(x == 1)begin state <= a;end else begin state <= b;end g: if(x == 1)begin state <= f;end default: state = idle;endcase endmodule
模擬電路部分
1.目前,,集成電路最常用的材料是單晶硅。
2.集成電路的生產(chǎn)由設(shè)計(jì),、制造、封裝三部分組成,。
3.集成電路中基片主要制作工藝為:光刻、擴(kuò)散,、注入,、刻蝕,、鍵合。
4.集成電路中基片的制造步驟為:光刻,、擴(kuò)散、注入,、刻蝕。
5.衡量集成電路產(chǎn)業(yè)水平的兩個(gè)主要參數(shù)為:硅晶圓片直徑和光刻精度(特征尺寸),。這兩個(gè)參數(shù)在業(yè)界達(dá)到的水平為:硅晶圓片直徑12英寸(300mm),光刻精度0.13um,。主流水平為:硅晶圓片直徑200mm,,光刻精度0.18um,。
6.模擬電路中常用的仿真算法是spice,英文全名為simulation program with integrated circuit emphasis,。
7.世界上設(shè)計(jì)eda軟件實(shí)力最強(qiáng)的兩個(gè)公司為cadence和synopsys。其中,,cadence的優(yōu)勢(shì)為電路布局布線,synopsys的優(yōu)勢(shì)為邏輯綜合仿真,。
nch是加拿大iit公司退出的電子線路仿真軟件,。它可以對(duì)模擬、數(shù)字和模擬/數(shù)字混合電路進(jìn)行仿真,,克服了傳統(tǒng)電子產(chǎn)品的設(shè)計(jì)受實(shí)驗(yàn)室客觀條件限制的局限性,用虛擬的元件搭接各種電路,,用虛擬的儀表進(jìn)行各種參數(shù)和性能指標(biāo)的測(cè)試。特點(diǎn)如下:(1)系統(tǒng)集成度高,界面直觀,,操作方便。(2)具備模擬,、數(shù)字及模擬/數(shù)字混合電路仿真。(3)提供較為豐富的元器件庫(kù),。(4)電路分析手段完備。(5)輸出方式靈活,。(6)兼容性好,。語(yǔ)言舉例: example
vcc 8 0 12
**** 文件名 任意名都可以 但必須要有****
**** 電源正極接于節(jié)點(diǎn)8 負(fù)極接于0 電壓為12v **** vee 0 9 12
**** 電源正極接于節(jié)點(diǎn)0,負(fù)接接于節(jié)點(diǎn)9,電壓為12v;**** vin 1 0 ac 1 sin(0 0.1 5meg)
**** 信號(hào)源vin 接于1 和接點(diǎn)0;交流1v 進(jìn)行交流分析 同時(shí)加一個(gè)正弦信號(hào) 直流偏置為0,振幅為0.1v頻率為5m的交流信號(hào)源,進(jìn)行瞬態(tài)分析;**** rc1 8 4 10k
rc2 8 5 10k
rs 2 1 1k
rs1 8 7 20k
rs2 3 0 1k
**** 電阻rc1 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)4;阻值為10k;**** **** 電阻rc2 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)5;阻值為10k;**** **** 電阻rs 分別接于節(jié)點(diǎn)1 節(jié)點(diǎn)0;阻值為1k;**** **** 電阻rs1 分別接于節(jié)點(diǎn)8 節(jié)點(diǎn)7 阻值為20k;**** **** 電阻rs2 分別接于節(jié)點(diǎn)3 節(jié)點(diǎn)0 阻值為1k;**** q1 4 2 6 mod1
**** 三極管q1 cbe 分別接于節(jié)點(diǎn) 4 2 6 模型為mod1**** q2 5 3 6 mod1
**** 三極管q2 cbe 分別接于節(jié)點(diǎn) 5 3 6 模型為mod1**** q3 6 7 9 mod1
**** 三極管q3 cbe 分別接于節(jié)點(diǎn) 6 7 9 模型為mod1**** q4 7 7 9 mod1
**** 三極管q4 cbe 分別接于節(jié)點(diǎn) 7 7 9 模型為mod1****.op
**** 求出直流工作點(diǎn).本電路共有9個(gè)節(jié)點(diǎn);溫度值為27度;****.dc vin-.15.15.01
**** dc為直流分析語(yǔ)句,分析輸入電壓從-0.15v到0.15v掃描特性,每0.1v作一次分析;****.print dc v(4)v(5)
****.print 為打印語(yǔ)句,其中dc是打印直流內(nèi)容,這里規(guī)定打印節(jié)點(diǎn)4和5上的電位,既相對(duì)地參考點(diǎn)的電壓隨輸入的變化關(guān)系;****.plot dc v(4)v(5)
****.plot為繪圖語(yǔ)句,其中dc表示繪制直流分析的傳輸特性,說(shuō)明是繪制v(4)v(5)的輸出電壓和vin關(guān)系曲線;****.tf v(5)vin
****.tf是轉(zhuǎn)移函數(shù)分析語(yǔ)句,該句表示計(jì)算直流分析時(shí),小信號(hào)輸出電壓v(5)和輸入電壓vin的轉(zhuǎn)移函數(shù)值,輸入電阻和輸出電阻;****.ac dec 10 25k 250meg
****.ac是交流分析語(yǔ)句,是在規(guī)定的頻率范圍內(nèi)從25k到250m進(jìn)行頻域分析dec表示按數(shù)量級(jí)變化,10表示每一數(shù)量級(jí)中取的分析點(diǎn)數(shù)目;****.print ac vm(5)vp(5)
**** 打印ac分析vm(5)vp(5)的取點(diǎn)數(shù);****.plot ac vm(5)vp(5)
**** 繪制ac分析vm(5)vp(5)的取點(diǎn)數(shù);****.tran 4n 100n 1n
****.tran是瞬態(tài)分析語(yǔ)句,并規(guī)定了打印或繪圖時(shí)間增量為4n秒,計(jì)算終止時(shí)間為100n秒,打印或繪圖開(kāi)始時(shí)間1ns*;****.print tran v(5)v(4)
****.打印出4.5點(diǎn)的電壓隨時(shí)間變化;****.plot tran v(5)v(4)
****.繪圖出節(jié)點(diǎn)4.5的電壓隨時(shí)間變化;****.end
**** 結(jié)束語(yǔ)句...一定要有;****
eda技術(shù)知識(shí)總結(jié)篇二
vhdl有如下特點(diǎn):①支持從系統(tǒng)級(jí)到邏輯門(mén)級(jí)電路的描述,;②具有很強(qiáng)的硬件描述能力,;③設(shè)計(jì)技術(shù)齊全、方法靈活,、支持廣泛;④對(duì)設(shè)計(jì)描述具有相對(duì)的獨(dú)立性,;⑤具有很強(qiáng)的移植能力;⑥易于共享和復(fù)用,;⑦具有豐富的仿真語(yǔ)句和庫(kù)函數(shù),;⑧設(shè)計(jì)結(jié)構(gòu)清晰、易讀易懂,;⑨易實(shí)現(xiàn)系統(tǒng)的更新和升級(jí);⑩數(shù)據(jù)類(lèi)型豐富,、安全性好。
vhdl語(yǔ)言中常用的五種庫(kù):1)ieee庫(kù):vhdl語(yǔ)言設(shè)計(jì)中最常見(jiàn)的庫(kù),。2)std庫(kù):vhdl語(yǔ)言的標(biāo)準(zhǔn)庫(kù)3)work庫(kù):用戶的vhdl語(yǔ)言工作庫(kù),。4)vital庫(kù): vhdl語(yǔ)言的時(shí)序仿真庫(kù)5)用戶自定義的庫(kù):用戶自定義的資源庫(kù)
變量的使用規(guī)則:① 變量不能用于硬件連線和存儲(chǔ)元件,;② 變量賦值和初始化賦值都用“:=”表示;③ 變量的初值不是預(yù)設(shè)的,某一時(shí)刻只能有一個(gè)值,;④ 變量不能用于在進(jìn)程間傳遞數(shù)據(jù);⑤ 仿真時(shí),,變量用于建模;⑥ 綜合時(shí),,變量充當(dāng)數(shù)據(jù)的暫存,。
信號(hào)與變量的區(qū)別:①使用場(chǎng)合不同:變量在進(jìn)程、函數(shù)和過(guò)程中說(shuō)明,;信號(hào)在結(jié)構(gòu)體中說(shuō)明。②賦值符號(hào)不同:變量用“:=”號(hào)賦值, 其值被立即使用(無(wú)時(shí)間延時(shí)),;信號(hào)用“<=”賦值,,其值可以附加延時(shí),。
vhdl語(yǔ)言預(yù)定義了五種運(yùn)算符:邏輯運(yùn)算符、算術(shù)運(yùn)算符,、關(guān)系運(yùn)算符、符號(hào)運(yùn)算符,、移位運(yùn)算符
主要的三家公司:xilinx、altera,、lattice eda軟件系統(tǒng)包括子模塊:設(shè)計(jì)輸入子模塊、設(shè)計(jì)數(shù)據(jù)庫(kù)子模塊,、分析驗(yàn)證子模塊,、綜合仿真子模塊,、布局布線子模塊。
電子系統(tǒng)設(shè)計(jì)的仿真過(guò)程分為兩個(gè)階段:設(shè)計(jì)前期的系統(tǒng)級(jí)仿真和設(shè)計(jì)過(guò)程的電路級(jí)仿真,。(系統(tǒng)仿真主要驗(yàn)證系統(tǒng)的功能;電路級(jí)仿真主要驗(yàn)證系統(tǒng)的性能,決定怎樣實(shí)現(xiàn)設(shè)計(jì)所需的精度,。)
設(shè)計(jì)過(guò)程中的仿真有三種:行為仿真、功能仿真,、時(shí)序仿真 數(shù)字系統(tǒng)的兩個(gè)模塊(子系統(tǒng)):數(shù)據(jù)處理子系統(tǒng)、控制子系統(tǒng)
數(shù)據(jù)處理子系統(tǒng)主要完成數(shù)據(jù)的采集,、存儲(chǔ),、運(yùn)算,、傳輸,主要由存儲(chǔ)器,、運(yùn)算器、數(shù)據(jù)選擇器等功能電路組成,。數(shù)字系統(tǒng)設(shè)計(jì)方法:模塊設(shè)計(jì)方法、自頂向下設(shè)計(jì)法,、自底向上設(shè)計(jì)法,。一般采用自頂向下,、由粗到細(xì)、逐步求精的方法,。
數(shù)字系統(tǒng)的設(shè)計(jì)準(zhǔn)則:1)分割準(zhǔn)則2)系統(tǒng)的可觀測(cè)性3)同步和異步電路4)最優(yōu)化設(shè)計(jì)5)系統(tǒng)設(shè)計(jì)的藝術(shù)
數(shù)字系統(tǒng)的設(shè)計(jì)步驟:1)系統(tǒng)任務(wù)分析2)確定邏輯算法3)建立系統(tǒng)及子系統(tǒng)模型4)系統(tǒng)(或模塊)邏輯描述5)邏輯電路級(jí)設(shè)計(jì)及系統(tǒng)仿真6)系統(tǒng)的物理實(shí)現(xiàn) vhdl語(yǔ)言要素:數(shù)據(jù)對(duì)象、數(shù)據(jù)類(lèi)型,、各類(lèi)操作數(shù)及運(yùn)算操作符 標(biāo)識(shí)符規(guī)則:以英文字母開(kāi)頭,不連續(xù)使用下劃線“_”,,不以下劃線結(jié)尾的,由26個(gè)大小寫(xiě)英文字母,、數(shù)字0~9及下劃線“_”組成的字符串,,英文字母不區(qū)分大小寫(xiě),,vhdl的保留字不能用于作為標(biāo)識(shí)符使用,。
在進(jìn)程中,,只能將信號(hào)列到敏感表,而不能將變量列入敏感表,。可見(jiàn)進(jìn)程對(duì)信號(hào)敏感,。vhdl中的數(shù)據(jù)類(lèi)型:標(biāo)量型(包括:實(shí)數(shù)型,、整數(shù)型,、枚舉型、時(shí)間類(lèi)型),、復(fù)合類(lèi)型(數(shù)組型,、記錄型)、存取型,、文件類(lèi)型
vhdl四大類(lèi)數(shù)據(jù)類(lèi)型又可分為兩類(lèi):預(yù)定義數(shù)據(jù)類(lèi)型,、用戶自定義數(shù)據(jù)類(lèi)型(基于預(yù)定義數(shù)據(jù)類(lèi)型)預(yù)定義數(shù)據(jù)類(lèi)型:1)布爾型2)位數(shù)據(jù)類(lèi)型(bit)3)位矢量(bit_vector)4)字符型5)整數(shù)型6)自然數(shù)和正整數(shù)型7)實(shí)數(shù)型8)字符串型9)時(shí)間型10)錯(cuò)誤等級(jí) 數(shù)據(jù)類(lèi)型:標(biāo)準(zhǔn)邏輯位std_logic,、標(biāo)準(zhǔn)邏輯矢量std_logic_vector vhdl中六類(lèi)基本順序語(yǔ)句:賦值語(yǔ)句、轉(zhuǎn)向控制語(yǔ)句,、等待語(yǔ)句、子程序調(diào)用語(yǔ)句,、返回語(yǔ)句,、空操作語(yǔ)句,。
在信號(hào)賦值時(shí),當(dāng)統(tǒng)一進(jìn)程中,,同一信號(hào)賦值目標(biāo)有多個(gè)賦值源時(shí),信號(hào)賦值目標(biāo)獲得的是最后一個(gè)賦值,,其前面相同的賦值目標(biāo)則不作任何變化,。
轉(zhuǎn)向控制語(yǔ)句五種:if語(yǔ)句、case語(yǔ)句,、loop語(yǔ)句、next語(yǔ)句,、exit語(yǔ)句
當(dāng)執(zhí)行wait等待語(yǔ)句,程序?qū)⒈粧炱?,知道滿足結(jié)束條件后,,程序重新開(kāi)始執(zhí)行,。已列出敏感量的進(jìn)程不能使用任何形式的wait語(yǔ)句 過(guò)程調(diào)用:執(zhí)行一個(gè)給定名字和參數(shù)的過(guò)程
過(guò)程名[([形參名=>] 實(shí)參表達(dá)式 {,[形參名=>]實(shí)參表達(dá)式})];過(guò)程調(diào)用步驟:1)將in和inout的形參值賦給調(diào)用過(guò)程中與之對(duì)應(yīng)的形參,;2)執(zhí)行這個(gè)過(guò)程;3)將過(guò)程中in和inout的形參值賦給對(duì)應(yīng)的實(shí)參
函數(shù)調(diào)用:返還一個(gè)指定數(shù)據(jù)類(lèi)型的值,,函數(shù)的參量只能是輸入值 任何時(shí)刻,一個(gè)對(duì)象(信號(hào),、常量、變量)只有一個(gè)值,,但可有多個(gè)屬性 預(yù)定義屬性描述:屬性測(cè)試項(xiàng)目名’屬性標(biāo)識(shí)符 clock’event and clock=’1’對(duì)上升沿的測(cè)試(或者not(clock’stable and clock=’1’))clock’event and clock=’0’對(duì)下降沿的測(cè)試(或者clock’stable and clock=’0’)并行語(yǔ)句在結(jié)構(gòu)體中的執(zhí)行是同步的,。每一并行語(yǔ)句內(nèi)部的語(yǔ)句運(yùn)行方式:并行執(zhí)行,、順序執(zhí)行。結(jié)構(gòu)體中并行語(yǔ)句有七種:1)并行信號(hào)賦值語(yǔ)句2)進(jìn)程語(yǔ)句3)塊語(yǔ)句4)條件信號(hào)賦值語(yǔ)句5)元件例化語(yǔ)句6)生成語(yǔ)句7)并行過(guò)程調(diào)用語(yǔ)句
process中規(guī)定了每個(gè)進(jìn)程語(yǔ)句在它的摸個(gè)敏感信號(hào)的值改變時(shí)都必須立即完成某個(gè)功能行為,。進(jìn)程的激活必須由敏感信號(hào)表中定義的敏感信號(hào)的變化來(lái)啟動(dòng),否則必須有一個(gè)顯示的wait語(yǔ)句激活
并行信號(hào)賦值語(yǔ)句包括:簡(jiǎn)單信號(hào)賦值語(yǔ)句,、條件信號(hào)賦值語(yǔ)句、選擇信號(hào)賦值語(yǔ)句 簡(jiǎn)單信號(hào)賦值語(yǔ)句:信號(hào)賦值語(yǔ)句<=表達(dá)式,;
條件信號(hào)賦值語(yǔ)句:賦值目標(biāo)<=表達(dá)式 when 賦值條件 else(類(lèi)似于if語(yǔ)句)表達(dá)式 when 賦值條件 else ?? 表達(dá)式,;
選擇信號(hào)賦值語(yǔ)句:with 選擇表達(dá)式 select(類(lèi)似于case語(yǔ)句)賦值目標(biāo)<=表達(dá)式 when 選擇值,,表達(dá)式 when 選擇值,,??
表達(dá)式 when 選擇值,;
元件例化是使vhdl設(shè)計(jì)實(shí)體構(gòu)成自上而下層次化設(shè)計(jì)的一個(gè)重要途徑。組成部分:1)將一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件的語(yǔ)句,;2)此元件與當(dāng)前設(shè)計(jì)實(shí)體中的連接說(shuō)明
元件例化語(yǔ)句中定義的例化元件的端口名與當(dāng)前系統(tǒng)的連接實(shí)體端口名的接口表達(dá)式表達(dá)有兩種方式:1)名字關(guān)聯(lián)方式:通過(guò)“=>”一一對(duì)應(yīng)2)位置關(guān)聯(lián)方式:按例化元件端口的定義順序?qū)⒗膶?duì)應(yīng)的連接實(shí)體端口名一一列出
生成語(yǔ)句有一種復(fù)制功能,。生成語(yǔ)句的四個(gè)組成部分:生成方式,、說(shuō)明部分、并行語(yǔ)句,、標(biāo)號(hào)。
子程序是利用順序語(yǔ)句來(lái)定義和完成算法的,。只能通過(guò)子程序調(diào)用及與子程序的界面端口進(jìn)行通信,。包括過(guò)程(可單獨(dú)存在,,多個(gè)返回值,有輸入/出雙向參數(shù))和函數(shù)(作為語(yǔ)句的一部分調(diào)用,,一個(gè)返回值,,所有參數(shù)都是輸入?yún)?shù)),,可在vhdl的結(jié)構(gòu)體或程序包中任何位置調(diào)用子程序。
子程序特性:可重載性,,即允許有許多重名的子程序,但這些子程序的參數(shù)類(lèi)型及返回值數(shù)據(jù)類(lèi)型不同
函數(shù)組成:函數(shù)首(作用:作為程序包的有關(guān)此函數(shù)的一個(gè)接口界面),、函數(shù)體
重載函數(shù):vhdl允許相同的函數(shù)名定義函數(shù),,但要求函數(shù)中定義的操作數(shù)具有不同的數(shù)據(jù)類(lèi)型。
過(guò)程組成部分:過(guò)程首,、過(guò)程體。過(guò)程首不是必須的,,過(guò)程體可以獨(dú)立存在和使用
過(guò)程首參數(shù)表用于對(duì)常數(shù),、變量,、信號(hào)三類(lèi)數(shù)據(jù)對(duì)象目標(biāo)作出說(shuō)明,,并用in,、out、inout定義參數(shù)工作模式(信息流向)
一般把eda技術(shù)的發(fā)展分為cad,、cae、eda三個(gè)階段,。
eda設(shè)計(jì)流程包括設(shè)計(jì)準(zhǔn)備,、設(shè)計(jì)輸入,、設(shè)計(jì)處理、的設(shè)計(jì)驗(yàn)證包括功能仿真,、時(shí)序仿真、器件測(cè)試三個(gè)過(guò)程
eda的設(shè)計(jì)輸入包括文本輸入方式,、圖形輸入方式,、波形輸入方式三個(gè)過(guò)程
當(dāng)前最流行的并成為ieee標(biāo)準(zhǔn)的硬件描述語(yǔ)言包括vhdl 語(yǔ)言,、verilog 和 hdl 語(yǔ)言
將硬件描述語(yǔ)言轉(zhuǎn)化為硬件電路的重要工具軟件稱(chēng)為hdl 綜合器
基于eprom、e2prom和快閃存儲(chǔ)器件的可編程器件,,在系統(tǒng)斷電后編程信息不丟失 基于sram結(jié)構(gòu)的可編程器件,在系統(tǒng)斷電后編程信息 會(huì)丟失
cpld器件中至少包括可編程邏輯宏單元,、可編程 i/o 單元、可編程內(nèi)部連線三種結(jié)構(gòu) fpga的三種可編程電路分別是可編程邏輯塊 clb,、輸入/輸出模塊 iob,、互連資源三種結(jié)構(gòu) 根據(jù)邏輯功能塊的大小不同,,可將fpga(可編程邏輯器件)分為細(xì)密度、粗密度兩類(lèi),;據(jù)fpga內(nèi)部連線結(jié)構(gòu)的不同,可將fpga分為分段互連型,、連續(xù)互連型兩類(lèi),;據(jù)fpga采用的開(kāi)關(guān)元件不同,可將fpga分一次編程型(otp),、可重復(fù)編程型(mtp)兩類(lèi)
目前常見(jiàn)的可編程邏輯器件的編程和配置工藝包括電可擦存儲(chǔ)單元的 e2prom 或 flash 技術(shù),、sram 查找表的編程單元,、反熔絲編程單元三種編程工藝。
vhdl設(shè)計(jì)實(shí)體的基本結(jié)構(gòu)由庫(kù),、程序包使用說(shuō)明,、設(shè)計(jì)實(shí)體的說(shuō)明,、結(jié)構(gòu)體說(shuō)明、配置 等部分組成
實(shí)體,、結(jié)構(gòu)體是設(shè)計(jì)實(shí)體的基本組成部分,他們可以構(gòu)成最基本的vhdl程序 在vhdl的端口聲明語(yǔ)句中,,端口方向包括in out buffer inout vhdl的數(shù)據(jù)對(duì)象包括常數(shù) constant、變量 variable,、信號(hào) signal它們是用來(lái)存放各種類(lèi)型數(shù)據(jù)的容器
vhdl的操作符包括邏輯操作符,、關(guān)系操作符,、算術(shù)操作符、符號(hào)操作符
vhdl的順序語(yǔ)句只能出現(xiàn)在進(jìn)程 process,、函數(shù) function,、過(guò)程 procedure中,按照書(shū)寫(xiě)順序自上而下,,一條一條執(zhí)行。
vhdl的進(jìn)程(process)語(yǔ)句是由 順序語(yǔ)句 組成的,,但其本身卻是 并行語(yǔ)句 maxplus ⅱ支持圖形,、符號(hào),、文本,、波形等不同編輯方式
指定設(shè)計(jì)電路的輸入/輸出端口與目標(biāo)芯片引腳的連接關(guān)系的過(guò)程稱(chēng)為引腳鎖定
在完成設(shè)計(jì)電路的輸入/輸出端口與目標(biāo)芯片引腳的鎖定后,,再次對(duì)設(shè)計(jì)電路的仿真稱(chēng)時(shí)序仿真或后仿真
圖形文件設(shè)計(jì)結(jié)束后一定要通過(guò) 仿真,,檢查設(shè)計(jì)文件是否正確
以eda方式設(shè)計(jì)實(shí)現(xiàn)的電路設(shè)計(jì)文件,,最終偶可以編程下載到 fpga 和 cpld 芯片中,,完成硬件設(shè)計(jì)和驗(yàn)證
max+plus的文本文件類(lèi)型是(后綴名).vhd 在pc上利用vhdl進(jìn)行項(xiàng)目設(shè)計(jì),,不允許在 根目錄 下進(jìn)行,,不惜在根目錄為設(shè)計(jì)建立一個(gè)工程目錄(文件夾)vhdl源程序的文件名應(yīng)與 實(shí)體名 相同,,否則無(wú)法通過(guò)編譯 eda 名詞解釋
: 復(fù)雜可編程邏輯器件 : 硬件描述語(yǔ)言 :查找表(look-up-table):專(zhuān)用集成電路 :單芯片系統(tǒng)
:超高速硬件描述語(yǔ)言 :現(xiàn)場(chǎng)可編程門(mén)陣列 :寄存器傳輸級(jí) :可編程片上系統(tǒng)
:嵌入式陣列塊 :邏輯陣列塊
:知識(shí)產(chǎn)權(quán)核
:電子設(shè)計(jì)自動(dòng)化
:美國(guó)電氣電子工程師協(xié)會(huì) :在系統(tǒng)編程
:參數(shù)可定制紅模塊庫(kù) :串口(通用異步觸發(fā)器)
18.元件例化:將預(yù)先設(shè)計(jì)好的設(shè)計(jì)實(shí)體定義為一個(gè)元件,,然后利用特定的語(yǔ)句將此元件與當(dāng)前的設(shè)計(jì)實(shí)體中的指定端口相連接,從而為當(dāng)前設(shè)計(jì)實(shí)體引入一個(gè)新的低一級(jí)的設(shè)計(jì)層次,。19.簡(jiǎn)要解釋 jtag,指出 jtag 的用途:jtag:聯(lián)合測(cè)試行動(dòng)小組的簡(jiǎn)稱(chēng),,又意指其提出的一種硬件測(cè)試標(biāo)準(zhǔn),常用于器件測(cè)試,、編程下載和配置等操作,。
eda技術(shù)知識(shí)總結(jié)篇三
一,、有關(guān)概念
全稱(chēng):專(zhuān)用集成電路; :現(xiàn)場(chǎng)可編程門(mén)陣列 :復(fù)雜可編程邏輯器件,; 全稱(chēng):硬件描述語(yǔ)言; 5.全定制,; 6.半定制,;
核,;ip就是知識(shí)產(chǎn)權(quán)核或知識(shí)產(chǎn)權(quán)模塊的意思
8.綜合(器);綜合就是將電路的高級(jí)語(yǔ)言(如行為描述)轉(zhuǎn)換為低級(jí)的,,可與fpga/cpld的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序,。
9.適配(器);適配器也稱(chēng)結(jié)構(gòu)綜合器,,它的功能是將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件,。
10.功能仿真;是直接對(duì)vhdl,、原理圖描述或其他描述形式的邏輯功能進(jìn)行測(cè)試模擬,,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)的要求
11.時(shí)序仿真,;就是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),,因而,仿真精度高,。
12.編程下載,;把適配后生成的下載或配置文件,,通過(guò)編程器或編程電纜向fpga或cpld下載,以便進(jìn)行硬件測(cè)試和驗(yàn)證 ,;可編程只讀存儲(chǔ)器 ;可編程邏輯陣列 ,;可編程陣列邏輯 16.查找表,; 17.乘積項(xiàng),;
18.實(shí)體;vhdl實(shí)體作為一個(gè)設(shè)計(jì)實(shí)體(獨(dú)立的電路功能結(jié)構(gòu))的組成部分,,其功能是對(duì)這個(gè)設(shè)計(jì)實(shí)體與外部電路進(jìn)行接口描述。
19.結(jié)構(gòu)體,;結(jié)構(gòu)體是實(shí)體所定義實(shí)體中的一個(gè)組成部分,。結(jié)構(gòu)體描述設(shè)計(jì)實(shí)體的內(nèi)部結(jié)構(gòu)和外部設(shè)計(jì)實(shí)體端口間的邏輯關(guān)系。
20.元件例化;元件例化意味著在當(dāng)前結(jié)構(gòu)體內(nèi)定義了一個(gè)新的設(shè)計(jì)層次,,這個(gè)設(shè)計(jì)層次的總稱(chēng)叫元件,但它可以以不同的形式出現(xiàn),。,?,? 21.時(shí)鐘進(jìn)程; 22.三態(tài),; 23.線與; 24.數(shù)據(jù)對(duì)象,;
25.變量,;變量是一個(gè)局部量,,只能在進(jìn)程和子程序中使用,變量的賦值是立即發(fā)生的,,不存在任何延時(shí)行為。
26.信號(hào),;信號(hào)是硬件系統(tǒng)的基本數(shù)據(jù)對(duì)象,它的性質(zhì)類(lèi)似于連接線,。信號(hào)可以作為設(shè)計(jì)實(shí)體中并行語(yǔ)句模塊間的信息交流通道
型狀態(tài)機(jī),;異步輸出狀態(tài)機(jī),,輸出僅為當(dāng)前狀態(tài)的函數(shù),在輸入發(fā)生變化時(shí)還必須等待時(shí)鐘的到來(lái),。
型狀態(tài)機(jī),;同步輸出狀態(tài)機(jī),,輸出是當(dāng)前狀態(tài)和所有輸入信號(hào)的函數(shù),它的輸出是在輸入變化后立即發(fā)生的,。不依賴(lài)于時(shí)鐘的同步。
注意:
1.<= 對(duì)信號(hào)signal的賦值 := 是對(duì)變量variable的賦值
2.程序的實(shí)體名必須和文件名一致,例1中二輸入與門(mén)的文件名必須為yumen
一,、有關(guān)概念
asic全稱(chēng),;fpga和cpld全稱(chēng),;vhdl全稱(chēng);全定制,;半定制,; ip核,;綜合(器);適配(器),;功能仿真;時(shí)序仿真,;編程下載;prom,;pla,;pal,;查找表;乘積項(xiàng),;實(shí)體;結(jié)構(gòu)體,;元件例化,;時(shí)鐘進(jìn)程,;三態(tài);線與,; 數(shù)據(jù)對(duì)象;變量,;信號(hào),; moore型狀態(tài)機(jī);mealy型狀態(tài)機(jī),。
二、程序分析及設(shè)計(jì)
1,、二輸入與門(mén)的vhdl語(yǔ)言設(shè)計(jì),。library ieee;use ;entity yumen is
port(a, b : in bit;
y : out bit);end entity yumen;architecture one of yumen is begin y <= a and b;end architecture one;
2,、帶有異步復(fù)位和同步時(shí)鐘使能的6進(jìn)制計(jì)數(shù)器vhdl語(yǔ)言設(shè)計(jì)。
library ieee;use ;use ;entity jinzhi is port(clk,rst,en : in std_logic;cq : out std_logic_vector(2 downto 0);cout : out std_logic);end jinzhi;architecture behav of jinzhi is begin process(clk, rst, en)variable cqi : std_logic_vector(2 downto 0);begin if rst = '1' then cqi :=(others =>'0');--計(jì)數(shù)器復(fù)位 elsif clk'event and clk='1' then--檢測(cè)時(shí)鐘上升沿 if en = '1' then--檢測(cè)是否允許計(jì)數(shù) if cqi < 5 then cqi := cqi + 1;--允許計(jì)數(shù)
else cqi :=(others =>'0');--大于5,,計(jì)數(shù)值清零 end if;end if;end if;if cqi = 5 then cout <= '1';--計(jì)數(shù)大于5,輸出進(jìn)位信號(hào) else cout <= '0';end if;cq <= cqi;--將計(jì)數(shù)值向端口輸出 end process;end behav;
3,、用vhdl語(yǔ)言設(shè)計(jì)2選1數(shù)據(jù)選擇器,。
library ieee;use ;entity erxuanyi is port(a, b, s: in bit;y : out bit);end erxuanyi;architecture one of erxuanyi is begin process(a,b,s)begin if s = '0' then y <= a;else y <= b;end if;end process;end;
4,、邊沿型t、d觸發(fā)器vhdl語(yǔ)言設(shè)計(jì),。--d觸發(fā)器
library ieee;use ;entity dff is port(clk : in std_logic;d : in std_logic;q : out std_logic);end;architecture bhv of dff is signal q1 : std_logic;begin process(clk)begin if clk'event and clk = '1' then q1 <= d;end if;end process;q <= q1;end bhv;
--t觸發(fā)器
有clk且為1的時(shí)候,t與當(dāng)前狀態(tài)異或
library ieee;use ;entity tff is port(clk : in std_logic;t : in std_logic;q : out std_logic);end;architecture bhv of tff is signal q1 : std_logic;begin process(clk)begin if clk'event and clk = '1' then q1 <= q1 xor t;end if;end process;q <= q1;end bhv;
5,、帶并行置數(shù)的8位右移移位寄存器vhdl語(yǔ)言設(shè)計(jì)。
library ieee;use ;entity shfrt is port(clk,load: in std_logic;
din: in std_logic_vector(7 downto 0);
qb:out std_logic);end shfrt;
architecture behav of shfrt is begin process(clk,load)
variable reg8: std_logic_vector(7 to 0);begin
if clk'event and clk='1' then
if load='1' then reg8:=din;
else reg8(6 downto 0):=reg8(7 downto 1);
end if;
end if;
qb<=reg8(0);end process;end behav;--說(shuō)明:當(dāng)clk有上升沿,,而且load為1的時(shí)候把din的值賦給reg8,,如果clk有上升沿,,而且load為0的時(shí)候把reg8的高7為賦給低7位(注意此時(shí)最高位不變)6、1位半加器vhdl語(yǔ)言設(shè)計(jì),。(布爾邏輯描述)library ieee;use ;entity banjia is port(a,b : in std_logic;co,so : out std_logic);end entity banjia;architecture fh1 of banjia is begin so <= not(a xor(not b));co <= a and b;end architecture fh1;
7、用vhdl語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)四選一數(shù)據(jù)選擇器,。
library ieee;use ;entity sixuan is port(a, b, c , d: in bit;
s: in std_logic_vector(1 downto 0);y : out bit);end sixuan;architecture one of sixuan is begin process(a,b,c,d,s)begin case s(1 downto 0)is when “00” => y <= a;when “01” => y <= b;when “10” => y <= c;when “11” => y <= d;when others => null;end case;end process;end;
8、用vhdl語(yǔ)言實(shí)現(xiàn)三態(tài)門(mén)設(shè)計(jì),。
library ieee;use ;entity santai is port(enable : in std_logic;datain : in std_logic_vector(7 downto 0);dataout : out std_logic_vector(7 downto 0));end santai;architecture bhv of santai is begin process(enable,datain)begin if enable = '1' then dataout <= datain;else dataout <=“zzzzzzzz”;end if;end process;end bhv;
9,、設(shè)有vhdl描述的半加器h_adder和或門(mén)or2,試通過(guò)層次化設(shè)計(jì)思想設(shè)計(jì)由半加器和或門(mén)構(gòu)成的一位二進(jìn)制全加器的vhdl程序,。全加器f_adder電路結(jié)構(gòu)組成圖如下所示,。
半加器h_adder library ieee;use ;entity h_adder is port(a,b : in std_logic;co,so : out std_logic);end entity h_adder;architecture fh1 of h_adder is begin so <=(a or b)and(a nand b);co <= not(a nand b);end architecture fh1;
或門(mén) or2a library ieee;use ;entity or2a is port(a, b :in std_logic;c : out std_logic);end entity or2a;architecture one of or2a is begin c <= a or b;end architecture one;
元件例化adder library ieee;use ;entity adder is port(ain,bin,cin:in std_logic;
cout,sum :out std_logic);end entity adder;architecture fd1 of adder is component h_adder
port(a,b:in std_logic;
co,so:out std_logic);end component;component or2a
port(a,b:in std_logic;
c:out std_logic);end component;signal d,e,f:std_logic;begin u1 : h_adder port map(a=>ain,b=>bin,co=>d,so=>e);u2 : h_adder port map(a=>e,b=>cin,co=>f,so=>sum);u3 : or2a port map(a=>d,b=>f,c=>cout);end architecture fd1;
eda技術(shù)知識(shí)總結(jié)篇四
名詞解釋?zhuān)?/p>
eda:electronic design auto mation 電子設(shè)計(jì)自動(dòng)化 pld:programmable logic device 可編程邏輯器件 ldpld:低密度可編程邏輯器件 hdpld:高密度可編程邏輯器件
prom:programmable read only memory 可編程只讀存儲(chǔ)器 pla:programmable logic array 可編程邏輯陣列 pal:programmable array logic 可編程陣列邏輯 gal:generic attay logic 通用陣列邏輯
epld:erasable programmable logic device 可擦除可編程邏輯器件 cpld:complex programmable logic device 復(fù)雜可編程邏輯器件 fpga:現(xiàn)場(chǎng)可編程門(mén)陣列
otp:one time programmable 一次性編程器件 mtp:many time programmable 多次編程器件 isp:在系統(tǒng)可編程 簡(jiǎn)答:
1,、eda設(shè)計(jì)流程:設(shè)計(jì)準(zhǔn)備,;設(shè)計(jì)輸入←→功能仿真(圖形輸入方式,,文本輸入方式,波形輸入方式),;設(shè)計(jì)處理←→時(shí)序仿真(設(shè)計(jì)編譯和檢查,,設(shè)計(jì)優(yōu)化和綜合,,適配和分割,布局和布線,,生成編程數(shù)據(jù)文件);設(shè)計(jì)效驗(yàn),;器件編程,;器件測(cè)試和設(shè)計(jì)驗(yàn)證,;設(shè)計(jì)完成。
2,、硬件描述語(yǔ)言:vhdl:
1,、具有強(qiáng)大的功能,,覆蓋面廣,描述功能強(qiáng)
2,、有良好的可讀性
3,、有良好的可移植性
4,、可以延長(zhǎng)設(shè)計(jì)的生命周期
5,、支持對(duì)大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用
6、有利于保護(hù)知識(shí)產(chǎn)權(quán)
verivog hdl:適合算法級(jí),,寄存器傳輸級(jí),邏輯級(jí),,門(mén)級(jí)和版圖級(jí)等各個(gè)層次和電路設(shè)計(jì)和描述,。最大的優(yōu)點(diǎn)是設(shè)計(jì)與工藝無(wú)關(guān)性。
vhdl設(shè)計(jì)實(shí)體的基本機(jī)構(gòu)圖,。
1,、庫(kù),程序包:libtaty ieee;
use ;
2,、實(shí)體entity 實(shí)名體
is
generic(類(lèi)屬表);--類(lèi)屬參數(shù)聲明,。
port(端口表);--端口聲明
end實(shí)名體
端口方向:in-輸入
out-輸出
inout-雙向
buffer-具有讀功能的輸出
3,、結(jié)構(gòu)體:architecture結(jié)構(gòu)體名of實(shí)體名is [信號(hào)聲明語(yǔ)句]:--為內(nèi)部信號(hào)名稱(chēng)及類(lèi)型聲明 begin [功能描述語(yǔ)句] end architectvre 結(jié)構(gòu)實(shí)體名;
4,、vhdl文字規(guī)則:
1、數(shù)制#數(shù)值#
例:10#170#--十進(jìn)制數(shù)值文字
2,、數(shù)制基數(shù)符號(hào)“數(shù)值字符串” 例:b“111011110”,;--二進(jìn)制數(shù)數(shù)組
3,、標(biāo)識(shí)符:以字母開(kāi)頭,后面跟若干字母,,數(shù)字或單個(gè)下劃線,,但最后不能為下劃線,。
5、vhdl對(duì)據(jù)對(duì)象:
1,、變量:是一個(gè)局部量,,只能在進(jìn)程函數(shù)和進(jìn)程中聲明和使用。
variable變量名:數(shù)據(jù)類(lèi)型【:=初始值】,; 2.信號(hào)描述硬件系統(tǒng)的基本數(shù)據(jù)對(duì)象。
signal信號(hào)名:數(shù)據(jù)類(lèi)型【:=初值】
標(biāo)準(zhǔn)邏輯位:
1,、未初始化的u;
2,、強(qiáng)未知的x;
3,、強(qiáng)0的0;
4、強(qiáng)1的1;
5,、高阻態(tài)z
6、弱未知的w,;
7,、弱0的l,;
8、弱1的h,;
9,、忽略-verilog hdl具有行為描述和結(jié)構(gòu)描述功能,。
行為描述包括:系統(tǒng)級(jí)、算法級(jí),、寄存器傳輸級(jí)。jk觸發(fā)器
library ieee;use ;entity myjkff is port(j,k,clr:in std_logic;clk:in std_logic;q,qn:buffer std_logic);end myjkff;architecture one of myjkff is begin process(j,k,clr,clk)variable jk:std_logic_vector(1 dowmto 0)begin jk:=(j & k);if clr=’0’then q<=’0’;qn<=’1’;
elseif clk’event and clk=’0’then case jk is when “00”=>q<=q;qn<=qn;when “01”=>q<=’0’;qn<=’1’;when “10”=>q<=’1’;qn<=’0’;when “11”=>q<=not q;qn<=not qn;when others=>null;end case;end if;end process;end one;
8選一數(shù)據(jù)選擇器
library ieee;use ;entity vhdl1 is port(s1,s2,s3: in std_logic;a,b,c,d,e,f,j,h: in std_logic;z: out std_logic);end vhdl1;architecture example7 of vhdl1 is signal s: std_logic_vector(2 downto 0);begin s<=s1&s2&s3process(s1,s2,s3,a,b,c,d,e,f,j,h)begin case s is when “000”=>z<=a;when “001”=>z<=b;when “010”=>z<=c;when “011”=>z<=d;when “100”=>z<=e;when “101”=>z<=f;when “110”=>z<=j;when “111”=>z<=h;when others=>z<='x';end case;end process;end example7;
十五進(jìn)止加法計(jì)數(shù)器
library ieee;use ;
use ;
entity vhdl1 is port(clk,rst,ena:in std_logic;
q:buffer std_logic_vector(3 downto 0);
cout:out std_logic);end vhdl1;
architecture one of vhdl1 is begin process(clk,rst,ena)begin if rst='1' then q<=“0000”;elsif clk'event and clk='1' then if ena='1' then q<=q+1;if q=“1110” then q<=“0000”;end if;end if;cout<=q(0)and q(1)and q(2)and q(3);end if;end process;end one;
eda技術(shù)知識(shí)總結(jié)篇五
一.名詞解釋
eda
電子自動(dòng)化設(shè)計(jì)
electronic design automation fpga
現(xiàn)場(chǎng)可編程門(mén)陣列
field programmable gate array cpld
復(fù)雜可編程邏輯器件 complex programmable logic device asic
特定用途集成電路
application specific integrated circuit ip
知識(shí)產(chǎn)權(quán)
intellectual property soc
片上系統(tǒng)
system on a chip fsm
有限狀態(tài)機(jī)
finite state machine mpw
多用途晶圓
multi project wafer
dsp
數(shù)字信號(hào)處理器
digital signal processor mcu
微程序控制器
micro control unit hdl
硬件表述語(yǔ)言
hardware description language vhdl 超高速集成電路硬件描述語(yǔ)言
very high speed integrated circuit hardware description language
二.簡(jiǎn)答題
-down方法:從系統(tǒng)硬件的高層次抽象描述向低層次物理描述的一系列轉(zhuǎn)化過(guò)程,。從頂向下設(shè)計(jì)由功能級(jí),行為級(jí)描述開(kāi)始,;寄存器傳輸(rtl)級(jí)描述為第一個(gè)中間結(jié)果,,再將rtl級(jí)描述由邏輯綜合網(wǎng)表或電路圖,;利用eda工具將網(wǎng)表自動(dòng)轉(zhuǎn)換換成目標(biāo)文件下載到現(xiàn)場(chǎng)可編程門(mén)陣列|復(fù)雜可編程邏輯器件或通過(guò)自動(dòng)布局布線設(shè)計(jì)成專(zhuān)用集成電路,從而得到電路與系統(tǒng)的物理實(shí)現(xiàn),。
2.邏輯綜合主要通過(guò)綜合工具,,依據(jù)設(shè)計(jì)人員設(shè)定的時(shí)序,面積等約束條件,,將與工藝無(wú)關(guān)的rtl級(jí)的電路邏輯描述程序,轉(zhuǎn)化為與工藝相關(guān)的電路,,是將程序設(shè)計(jì)轉(zhuǎn)化為硬件實(shí)現(xiàn)的重要環(huán)節(jié),。
3.簡(jiǎn)述可編程器件與asic在設(shè)計(jì)應(yīng)用成本等方面的優(yōu)缺點(diǎn)
面向可編程邏輯器件的設(shè)計(jì)其設(shè)計(jì)投入資金小,,風(fēng)險(xiǎn)小,開(kāi)發(fā)周期短,,調(diào)試靈活,,易學(xué)易用,而asic設(shè)計(jì)的設(shè)計(jì)資金投入大,,流片費(fèi)用都很昂貴,,研發(fā)投片制作其有一定的失敗風(fēng)險(xiǎn),且其開(kāi)發(fā)周期較長(zhǎng),,調(diào)試改動(dòng)設(shè)計(jì)都比較困難,,不過(guò),,產(chǎn)品進(jìn)入大批量生產(chǎn)后,asic成品的成本往往低于可編程器件成本,。
-down過(guò)程分為:行為級(jí)描述,,寄存器傳輸(rtl)級(jí)描述,邏輯綜合,,物理實(shí)現(xiàn)。
描述方式:行為級(jí)描述,,rtl級(jí)描述方式,結(jié)構(gòu)級(jí)描述方式,。
6.仿真過(guò)程:行為級(jí)仿真,,rtl仿真,門(mén)級(jí)仿真,,后仿真,。
-down設(shè)計(jì)方法特點(diǎn):
1)在系統(tǒng)設(shè)計(jì)早期就能發(fā)現(xiàn)設(shè)計(jì)中存在的問(wèn)題,并盡可能在早期設(shè)計(jì)階段就能解決問(wèn)題,。
2)自動(dòng)化
-down優(yōu)勢(shì)
1)在系統(tǒng)設(shè)計(jì)早期發(fā)現(xiàn)設(shè)計(jì)中存在的問(wèn)題,,提高設(shè)計(jì)的一次成功率,。
2)大大縮短了系統(tǒng)設(shè)計(jì)的周期,減少系統(tǒng)開(kāi)發(fā)所耗用的時(shí)間,。
3)易于系統(tǒng)劃分和項(xiàng)目管理,使幾十萬(wàn)乃至幾百萬(wàn)的大規(guī)模復(fù)雜數(shù)字電路的設(shè)計(jì)成為可能,。
4)設(shè)計(jì)效率提高,,可減少設(shè)計(jì)人員,。
5)通過(guò)設(shè)計(jì)共享,避免重復(fù)設(shè)計(jì),。
:指電子技術(shù)高層設(shè)計(jì)階段中所采用的硬件描述語(yǔ)言,。
特點(diǎn):
1,、hdl以行為級(jí)描述見(jiàn)長(zhǎng),它能從比較抽象的角度描述電子實(shí)體的行為,,能夠進(jìn)行早期仿真。
2,、hdl能夠進(jìn)行結(jié)構(gòu)化描述,,它能從具體的角度描述電子實(shí)體結(jié)構(gòu),,便于存檔,便于共享,。
3,、hdl具備了從比較抽象到比較具體的多個(gè)層面上進(jìn)行混合描述能力,,降低了硬件電路設(shè)計(jì)難度。
4、既能被仿真又能被綜合,。
特點(diǎn):
1)通用型好,適用面廣
2)重用性好
3)可靠性好
4)以行為級(jí)描述見(jiàn)長(zhǎng),。
分為軟核,,硬核,固核
軟核:第二階段,,寄存器級(jí)設(shè)計(jì)結(jié)果,且經(jīng)過(guò)rtl級(jí)仿真驗(yàn)證,。通常以hdl語(yǔ)言形式提交,。
固核:第四階段,,經(jīng)過(guò)fpga實(shí)物驗(yàn)證的設(shè)計(jì)結(jié)果。通常以門(mén)級(jí)網(wǎng)表的形式提交,。
硬核:第四階段,,經(jīng)過(guò)asic工藝驗(yàn)證的設(shè)計(jì)結(jié)果,。通常以版圖的形式提交。
三者的價(jià)值:
從fpga角度看固核最有價(jià)值
從asic角度看硬核最有價(jià)值
軟核則由于它與工藝和器件均無(wú)關(guān),,具有高度靈活性,從而具有獨(dú)特價(jià)值,。
固核硬化:將固核轉(zhuǎn)化為硬核。
硬核軟化:因?yàn)橛埠吮仨氂眠^(guò)交換或出售才能實(shí)現(xiàn)價(jià)值最大化,。而在硬核交換過(guò)程中,為了保護(hù)硬核知識(shí)產(chǎn)權(quán),,ip提供者往往將硬核以黑匣子形式提供給用戶,,同時(shí)能將硬化軟化,,即采用硬件描述語(yǔ)言對(duì)硬核的功能進(jìn)行行為級(jí)描述,通過(guò)使用該行為級(jí)描述,,在保護(hù)匣子具體內(nèi)容的同時(shí),,仍可進(jìn)行ip仿真,。
/cpld在eda中具有重要作用
1)vhdl程序用過(guò)fpga/cpld可以得到eda設(shè)計(jì)的最終產(chǎn)品,在產(chǎn)品數(shù)據(jù)較小時(shí)快速占領(lǐng)市場(chǎng),。
2)vhdl程序通過(guò)fpga/cpld驗(yàn)證可以形成固核具有一定商品價(jià)值。
3)vhdl程序的fpga/cpld驗(yàn)證試驗(yàn)是一種asic設(shè)計(jì)的硬件仿真工具,。
13.并行語(yǔ)句和順序語(yǔ)句在使用上有哪些差異:
1)并發(fā)語(yǔ)句只能夠出現(xiàn)在并發(fā)語(yǔ)句結(jié)構(gòu)中,,如結(jié)構(gòu)體,block等,,并發(fā)語(yǔ)句的執(zhí)行與其在程序中的書(shū)寫(xiě)順序無(wú)關(guān);
2)順序語(yǔ)句只能夠出現(xiàn)在順序語(yǔ)句結(jié)構(gòu)中,,如process,,過(guò)程,,函數(shù)等結(jié)構(gòu)中,其執(zhí)行與書(shū)寫(xiě)順序相關(guān),,寫(xiě)在前面的語(yǔ)句先執(zhí)行,寫(xiě)在后面的依據(jù)后執(zhí)行,。14.數(shù)據(jù)類(lèi)型是用標(biāo)示符表征某個(gè)或某個(gè)數(shù)值的集合,,數(shù)據(jù)類(lèi)型按照定義可分為標(biāo)準(zhǔn)預(yù)定義數(shù)據(jù)類(lèi)型和用戶自定義數(shù)據(jù)類(lèi)型,,還有用戶自定義數(shù)據(jù)類(lèi)型。在vhdl中若某個(gè)對(duì)象被聲明為某種類(lèi)型,,其值必須在該數(shù)據(jù)類(lèi)型所限定的取值范圍之中,,且只有相同的數(shù)據(jù)類(lèi)型才能做賦值或運(yùn)算,,不同數(shù)據(jù)類(lèi)型的數(shù)據(jù)必須通過(guò)類(lèi)型轉(zhuǎn)換一致后,才能運(yùn)算,。故說(shuō)vhdl語(yǔ)言是強(qiáng)數(shù)據(jù)類(lèi)型的描述語(yǔ)言,。
15.描述行為語(yǔ)言:信號(hào)賦值語(yǔ)言,,進(jìn)程語(yǔ)句,,子程序,塊語(yǔ)句,,斷言語(yǔ)句,。
描述結(jié)構(gòu)語(yǔ)句:元件語(yǔ)句(component),,生成語(yǔ)句(generate),參數(shù)說(shuō)明語(yǔ)句(generic)
16.并行信號(hào)賦值語(yǔ)句:一般信號(hào)賦值,,條件信號(hào)賦值,,選擇信號(hào)賦值,。
17.什么是eda?
eda技術(shù)是一種以計(jì)算機(jī)為基本工作平臺(tái),,利用計(jì)算機(jī)圖形學(xué),,拓?fù)溥壿媽W(xué),,計(jì)算數(shù)學(xué)以及人工智能學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科的最新成果而開(kāi)發(fā)出來(lái)的一整套軟件工具,是一種幫助電子設(shè)計(jì)工程師從事電子元件產(chǎn)品和系統(tǒng)設(shè)計(jì)的綜合設(shè)計(jì),,電子設(shè)計(jì)自動(dòng)化技術(shù),方法一般采用自頂向下的設(shè)計(jì)方法,,也叫正向設(shè)計(jì),,它是針對(duì)傳統(tǒng)的自底向上的設(shè)計(jì)方法而提出的,。
18.什么是ip核?學(xué)習(xí)vhdl與掌握ip核技術(shù)的關(guān)系四什么,?
ip核是具有知識(shí)產(chǎn)權(quán)的集成電路芯核的簡(jiǎn)稱(chēng),,其作用是把一組擁有知識(shí)產(chǎn)權(quán)的電路設(shè)計(jì)集合在一起,,構(gòu)成芯片的基本單位,以供設(shè)計(jì)時(shí)“搭積木”之用,。
19.信號(hào)賦值語(yǔ)句在進(jìn)程做并行語(yǔ)句,并發(fā)執(zhí)行,,與語(yǔ)句所處位置無(wú)關(guān),。
信號(hào)賦值語(yǔ)句在進(jìn)程內(nèi)或子程序內(nèi)做順序語(yǔ)句,,按順序執(zhí)行,與語(yǔ)句所處位置無(wú)關(guān),。
信號(hào)賦值語(yǔ)句符號(hào)為“<=” 變量賦值符號(hào)位”:=”
用于信號(hào)賦值動(dòng)作,,不立即生效
用于變量賦值動(dòng)作,,會(huì)立即生效
—hdl軟件工具對(duì)vhdl程序進(jìn)行仿真方法有哪些? 利用active—hdl軟件工具對(duì)vhdl程序進(jìn)行仿真時(shí),常用的三種仿真方法:
1)用圖形化界面加激勵(lì)(或手動(dòng)測(cè)試加激勵(lì))方法簡(jiǎn)單,,常用于初學(xué)者或簡(jiǎn)單的小程序仿真,。
2)編寫(xiě)測(cè)試平臺(tái)文件(或編寫(xiě)testbench)的仿真方法可以方便地使用vhdl編寫(xiě)做激勵(lì)文件,。常用于工程設(shè)計(jì)實(shí)踐,尤其適用于需要反復(fù)多次仿真或測(cè)試激勵(lì)的跨平臺(tái)移植,。
3)編寫(xiě)宏文件的仿真方法用命令行,,批處理文件方式編寫(xiě)激勵(lì),,常用于需要多次仿真時(shí),一次性編寫(xiě)激勵(lì),,多次仿真時(shí)反復(fù)使用,。
21.進(jìn)程的“敏感信號(hào)”,也稱(chēng)敏感表,,是進(jìn)程的激活條件,可由一個(gè)信號(hào)或多個(gè)信號(hào)組成之間用“,,”隔開(kāi),。
當(dāng)敏感信號(hào)表中的任意一個(gè)信號(hào)有事件發(fā)生,即發(fā)生任意變化,,此時(shí),進(jìn)程被激活,,進(jìn)程中的語(yǔ)句將從上到下逐句執(zhí)行一遍,當(dāng)最后一條語(yǔ)句執(zhí)行完畢后,,進(jìn)程即進(jìn)入等待掛起狀態(tài),,直到下一次敏感表中的信號(hào)有時(shí)間發(fā)生,進(jìn)程再次被激活,,如此循環(huán)往復(fù),。
程序的組成部分包括哪些,?
實(shí)體:描述設(shè)計(jì)單元的外圍接口信號(hào)和內(nèi)部參數(shù)。
構(gòu)造體:描述設(shè)計(jì)單元的內(nèi)部結(jié)構(gòu)和邏輯行為,。
配置:為設(shè)計(jì)單元從多個(gè)構(gòu)造體中選擇合適的構(gòu)造體或從庫(kù)中選取合適的元件以便于進(jìn)行設(shè)計(jì)單元的仿真或綜合,。
程序包:存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類(lèi)型,,常熟和子程序。
庫(kù):存放已經(jīng)編譯了的元件和程序包,,以便在設(shè)計(jì)單元中使用,,庫(kù)可由系統(tǒng)工程師的自信設(shè)計(jì)或由asic芯片制造商提供,。
23.端口方向有哪幾種? 端口:
in:輸入端口,,在設(shè)計(jì)單元內(nèi)部只可讀,在設(shè)計(jì)單元內(nèi)不可對(duì)其賦值,。
out:輸出端口,,在設(shè)計(jì)單元內(nèi)部只可寫(xiě),,不可反饋至設(shè)計(jì)單元內(nèi)部作邏輯電路的輸入型號(hào)。
inout:輸入通道和輸出通道共享引腳的雙向端口,,在設(shè)計(jì)單元內(nèi)部分時(shí)可讀可寫(xiě),,需要控制信號(hào)控制何時(shí)讀,,何時(shí)寫(xiě),輸入和輸出通道不能同時(shí)有效,。
buffer:緩沖輸出端口,,可反饋至設(shè)計(jì)單元內(nèi)部作為邏輯電路的輸入信號(hào),,故可在設(shè)計(jì)單元內(nèi)部可讀可寫(xiě),。
linkage:鏈接端口,無(wú)指定方向,,可以與任意方向信號(hào)鏈接。
有哪幾種描述方式,?分別用于什么場(chǎng)合?
邏輯綜合:在top-down流程中,,eda軟件可以將源程序自動(dòng)轉(zhuǎn)換為描述底層邏輯門(mén)互聯(lián)關(guān)系的門(mén)級(jí)網(wǎng)表,,從而與最終的可編程器件或asic硬件實(shí)現(xiàn)相對(duì)應(yīng),。
行為級(jí)描述方式是抽象程度最高的電路建模方式,源程序主要描述電路的輸出端口隨輸入變化而變化規(guī)律,,程序描述貼近人類(lèi)高級(jí)語(yǔ)言,,不可被綜合,。
寄存器級(jí)通過(guò)描述數(shù)據(jù)從輸入到輸出的運(yùn)算處理按時(shí)了電路結(jié)構(gòu)綜合。結(jié)構(gòu)描述方式是層次化設(shè)計(jì)思想的體現(xiàn),,是描述電路硬件連接的建模方式,,源程序可否被綜合,,依賴(lài)被調(diào)用元件可綜合否。
25.什么是數(shù)據(jù)對(duì)象,?常用的數(shù)據(jù)對(duì)象有哪些幾種? 常用數(shù)據(jù)對(duì)象:信號(hào),,變量,,常量
在vhdl程序中凡是可以被賦值的對(duì)象稱(chēng)為數(shù)據(jù)對(duì)象,。
26.信號(hào)延時(shí)有哪幾種?它們有何異同,? 信號(hào)延時(shí):
傳播延時(shí):直接模擬導(dǎo)線上信號(hào)的延時(shí)。任何信號(hào)傳入導(dǎo)線的一段,,經(jīng)過(guò)一段延時(shí)信號(hào)必須從導(dǎo)線另一段輸出,。
慣性延時(shí):模擬某類(lèi)元件的延時(shí)特征,,信號(hào)傳入軟件后,,在指定時(shí)間內(nèi)輸入信號(hào)必須保持不變,元件的輸出端才會(huì)有響應(yīng),。
27.什么是數(shù)據(jù)類(lèi)型?它可以分為哪幾大種,?每一種類(lèi)型中包括哪些具體類(lèi)型,? 數(shù)據(jù)類(lèi)型:標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型,,用戶自定義數(shù)據(jù)類(lèi)型,用戶自定義子類(lèi)型,。
標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)是在vhdl預(yù)定義庫(kù)中定義的數(shù)據(jù)類(lèi)型,在使用時(shí)不需要作參考庫(kù)和程序包申明,。
位,、矢量位,、整數(shù)、自然數(shù),。正整數(shù),、實(shí)數(shù),、布爾量、字符,、字符串,、時(shí)間、錯(cuò)誤等級(jí),。用戶自定義數(shù)據(jù)類(lèi)型: 在vhdl中用戶還可以自己定義所需數(shù)據(jù)類(lèi)型。語(yǔ)法格式:type <數(shù)據(jù)類(lèi)型> is 數(shù)據(jù)類(lèi)型定義,;
枚舉類(lèi)型,、數(shù)組類(lèi)型、存取類(lèi)型、文件類(lèi)型,、記錄類(lèi)型、時(shí)間類(lèi)型,。用戶自定義子類(lèi)型:
用戶自定義的子類(lèi)型,是對(duì)已定義數(shù)據(jù)類(lèi)型取值范圍加以限制得到的子集,。語(yǔ)法格式:subtype <子類(lèi)型名> is 原數(shù)據(jù)類(lèi)型名 [范圍]
中操作符主要有哪幾類(lèi)?它們都分為哪些主要元素,?
邏輯運(yùn)算符: not(非)and(與)or(或)nand(或與)
nor(或非)xor(異或)算數(shù)運(yùn)算符:+ *能夠真正被綜合,,mod rem 分母的操作數(shù)為2乘方的書(shū),,邏輯電路綜合是可能的。
29.什么是層次化,?
層次化設(shè)計(jì)基于電子系統(tǒng)的結(jié)構(gòu)化建模方式,,對(duì)系統(tǒng)的功能和結(jié)構(gòu)進(jìn)行描述,,層次化設(shè)計(jì)獎(jiǎng)系統(tǒng)逐級(jí)劃分,將較獨(dú)立的功能或邏輯電路單獨(dú)建模,,與參考庫(kù)中的底層元件一起調(diào)用,。作為可調(diào)用元件,,在確保正確的情況下,調(diào)入高層次的設(shè)計(jì)中作為實(shí)例使用,,在系統(tǒng)設(shè)計(jì)中,采用層次化設(shè)計(jì)方法,,可以有效地簡(jiǎn)化設(shè)計(jì)難度,,明確系統(tǒng)架構(gòu),促進(jìn)團(tuán)隊(duì)合作和共享,。
30.什么是組合邏輯?其vhdl程序設(shè)計(jì)有何特點(diǎn),?
組合邏輯就是指數(shù)字電路在任何時(shí)刻僅僅取決于該時(shí)刻數(shù)字電路的輸入,與歷史輸入無(wú)關(guān),。
用vhdl描述組合邏輯電路,,使用并行語(yǔ)句或使用進(jìn)程。
31.什么是時(shí)序邏輯,?其vhdl程序設(shè)計(jì)與組合邏輯的有何不同?
時(shí)序邏輯電路指數(shù)字電路在任何時(shí)刻的輸出不僅取決于該時(shí)刻數(shù)字電路輸入,,而且取決于電路原來(lái)狀態(tài),,或者說(shuō)還與歷史輸入有關(guān)。
用vhdl描述時(shí)序電路:必須使用到進(jìn)程,。
32.常用eda工具:active-hdl,fpga-express,ise,cadence,verilog-xl,nc-verilog,maxplus-ii.33.‘u’初始狀態(tài)
‘x’不定態(tài)
‘0’強(qiáng)0態(tài)
‘1’強(qiáng)1態(tài)
‘z’高阻態(tài)
‘l’弱0態(tài) ‘h’弱1態(tài)
‘w’ 弱補(bǔ)丁太 ‘-’無(wú)關(guān)態(tài)
:輸出由狀態(tài)機(jī)的輸入和狀態(tài)機(jī)的狀態(tài)共同決定。
moore:輸出僅與狀態(tài)機(jī)的狀態(tài)有關(guān),,與狀態(tài)機(jī)的輸入無(wú)關(guān),。