EDA技术课程作业与实验.docx

上传人:李司机 文档编号:6798002 上传时间:2024-02-22 格式:DOCX 页数:36 大小:802.72KB
返回 下载 相关 举报
EDA技术课程作业与实验.docx_第1页
第1页 / 共36页
EDA技术课程作业与实验.docx_第2页
第2页 / 共36页
EDA技术课程作业与实验.docx_第3页
第3页 / 共36页
EDA技术课程作业与实验.docx_第4页
第4页 / 共36页
EDA技术课程作业与实验.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《EDA技术课程作业与实验.docx》由会员分享,可在线阅读,更多相关《EDA技术课程作业与实验.docx(36页珍藏版)》请在三一办公上搜索。

1、EDA技术课程作业与实验姓名:学号:作业与实验操作符运算的设计、仿真与验证1 .算术运算符实验描述:通过编写算术运算符的V文件,了解VeriOlg语言的基本语法,熟悉QUatusIl仿真Veriolg源程序:modulesuanshu(AiBiSO1CO1EO1FO1GO);inputA,B;outputSOiCO1EO1FOiGO;assignSO=A+B;assignCO=A-B;assignEO=A*B;assignFO=AB;assignGO=A%B;endmodule仿真图:分析说明:通过算术运算符操作设计熟悉VeriOlg语言,加减乘除、求耨的操作数可以是实数也可以是整数,求余运算

2、的操作数只能是整数。求余运算结果取第一个操作数的符号2 .逻辑运算符实验描述通过编写逻辑运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSll仿真Veriolg源程序moduleIuoji(input3:0S,input3:0C,output7:0D1output7:0E,output7:0F);assignD=!S;assignE=S&C;assignF=SC;endmodule仿真图MasterTimeBar:Cps2jPointer1.38nsInterval:1.38nsStart:AJps20.0nsI40.0ns60.0Insf美Name0IJP三1育0SHj:I

3、y0是5CHI:0XjR0010田DHC:701190EHC:OQX01X00028田FHC:oiR00分析说明逻辑型运算的结果是逻辑值,1(逻辑真)、0(逻辑假)、X(不确定);逻辑运算的操作数可以是任意表达式,表达式的结果被当做逻辑值处理,只有1、0、X三种情况,非0、X即1;表达式最好加括号。3 .关系运算符实验描述通过编写关系运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSII仿真Veriolg源程序moduleguanxi(input1:0A,input1:0B1output3:0C1output3:0D1output3:0E1output3:0F);assign

4、C=AB;assignD=A=B;assignF=A=B;endmodule仿真图:如所示。)ps20.0ns40.0ns609ns809nsNameOl0P三J0AH:2)C1X0BH:i)2X006cHLLJ00110DHI:oXlX0160EH(IXQX1210FHIoX1分析说明关系运算的结果是逻辑值,1(逻辑真)、0(逻辑假)、X(不确定);4 .等价运算符实验描述通过编写等价运算符的v文件,了解VeriOIg语言的基本语法,熟悉QUartUSlI仿真Veriolg源程序moduledengjia(input3:0A,input3:0B1output7:0C1output7:0D1o

5、utput7:0E,output7:0F);assignC=(A=B);assignD=(A!=B);assignE=(A=B);assignF=(A!=B);endmodule仿真图:如所示。)ps20.0ns40.0ns609ns80.0ns100.I0ns120.IName0ps)PSrJ育O0AA0j:QXEHX0050BA0QoXXo)(15X010国CH01XQQXOI)Coo)CoQ00X0119DH00:00X01XOOXtHXoOXOlY00台280EH01XooXOI)G)CDCoj(01论37aFH00:00XtHXoO)QDC):oiX00分析说明等于和不等于运算的结果

6、是逻辑值,1(逻辑真)、O(逻辑假)、X(不确定)。只比较1和。,若操作数含有X或z,则认为是不确定的数,比较结果也为不确定X;全等和不全等的结果只能是1或0,没有X。因为其不仅比较1、O1也比较x、Z,如果完全相等则认为是全等,否则为不全等,没有不确定X。5 .按位逻辑运算符实验描述通过编写等价运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSlI仿真Veriolg源程序moduleweiluoji(input3:0A,output4:0C1output4:0D1output4:0E,output4:0F,output4:0Gtoutput4:0H);assignC=&A;

7、assignD=&A;assignE=A;assignF=-A;assignG=A;assignH=A;endmodule仿真图:如所示。4 Master Time Bar:0 PS Pointer:23.61 ns Interval:23.61 ns Start:0 ps Er美)PS40. 0 ns I809 ns120 P -NameOlD ps J是O0 AA 121)C4 XQX5XOX6XOX11Xtol5田CH C:ooU田DH C01a eH C:00)01 oo Xol XOOXoI XOO Xoi X00 FH C00 XOl XoOYOIXoOXol XOOX0129 G

8、H C01 XQQXOlX0035a HH (S1XQQ XQi)(ooJC_01O - z*分析说明按位运算的操作数是1位或多位二进制数,按位非的操作数只有一个,将该数的每一位求非运算。其它按位运算的操作数有2个或多个,将两个操作数对应的位两两运算;如果操作数位宽不同,位宽小的会自动左添0补齐;结果与操作数位宽相同;6 .缩减逻辑运算符实验描述通过编写等价运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSII仿真Veriolg源程序modulesuojian(outputA,outputB,outputC,outputD1outputE,outputF);assignA=&

9、4,bl001;assignB=&4,bl001;assignC=4,bl001;assignD=4,bl001;assignE=4bl001;assignF=4,bl001;endmodule仿真图:如所示。缩减运算的操作数是1位或多位二进制数;缩减运算的操作数只有一个,将该数的各位自左至右进行逻辑运算,结果只有一位。7 .移位运算符实验描述通过编写等价运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSlI仿真Veriolg源程序moduleyiwei(input3:0A,output4:0B,output4:0C1output4:0D1output4:0E);assign

10、B=A1;assignC=A1;assignE=A Pointer33.32 ns - Interval:分析说明移位运算的操作数是1位或多位二进制数; 向左或向右移n位;只有对有符号数的算术右移自动补符号位; 其他移位均自动补0。9 .条件运算符实验描述通过编写等价运算符的V文件,了解VerioIg语言的基本语法,熟悉QUartUSlI仿真Veriolg源程序moduletiaojian(input3:0A,input3:0B1output7:0C1output11:0D1output4:0E,output4:0F,output4:0G);assignC=(AB)?l:0;endmodule

11、仿真图:如所示。0 ps I “ Pointer:88.25 ns Interval:88.25 ns StMaster Time Bar:PS 40.pns 80pns 120. p ns 160. p ns 2分析说明格式:表达式1?表达式2:表达式3根据表达式1的值,决定运算结果;如果表达式1值为1,则结果等于表达式2;如果表达式1值为0,则结果等于表达式3;可以嵌套使用。一、加法器的设计、仿真与验证1.半加器实验描述半加器的功能:完成两个1位二进制数的加法,不考虑进位输入a.真值表C.逻辑图b.逻辑式ABsocoAsoSO=AB;coCO=AB;OOOOBThO11O1O1OLJ11O

12、1d.例3-1moduleh_adder(AzB,SO,CO)input A,B;output SOzCO;assign SO=A B;assign CO=A & B;endmodule半加器的VeriIOg描述啊哈A:功能描述今BzC:建模算法今D:程序实现Veriolg源程序modulebanjia(A,B,so,co);inputA,B;outputso,co;assignso=AB;assignco=A&B;endmodule2.全加器实验描述全加器的功能:完成两个1位二进制数的加法,并考虑进位输入oa真值表b.逻辑式abcicoSS=bcfco=abcl+abci+abet+abcl

13、()c+ab0000000101010010111010001101101101011111Veriolg源程序moduleLadder(ain,bin,cin1sum,cot);inputain,bin,Cinioutputsum,cot;assignSUm=ainbin八Cin;assigncot=(ainAbin)&cin|(ain&bin);endmodule二、数据选择器的设计、仿真与验证实验描述数据选择器的功能:在选择信号控制下,从多个揄入中选择工个输出。a.四选一选择器符号E真值表abedsisya00ab01bC10Cd11dVeriolg源程序moduleMUX41A(a,b

14、,c,d,sl,s,y);inputa,b,c,d,sl,s;outputy;wire1:0SEL;wireAT1BT1CT1DT;assignSEL=sl,sO;assignAT=(SEL=2bOO);assignBT=(SEL=2,b01);assignCT=(SEL=21blO);assignDT=(SEL=2bll);assigny=(a&AT)|(b&BT)|(c&CT)|(d&DT);endmodule仿真图说明按位逻辑运算操作等式操作Mdre型变量声明三.乘法器的设计、仿真与验证实验描述组合逻辑乘法器的功能:完成两个N位二进制数的算术乘法采用循环算法(区别于直接采用乘法运算实现的

15、乘法器)通过乘法器设计,学习以下语法现象:1 .参数Parameter2 .整数数据类型3 .移位运算符Veriolg源程序modulechengfa(R,A,B);parameterS=4;/4位乘法器output2*S:1R;/R为乘积inputS:lA,B;人被乘数、B为乘数integeri;i为循环变量reg2*S:R;always(AorB)beginR=O;for(i=.;i=S;i=i+)/循环4次if(Bi)R=R+(AOOOOOGXoocccD00000000 KOOMW胧X OoooK(U Y OXD :(000Woo * oo Y OOOOKKooo T oo表1角度输入

16、与COS、sin、Error t箭出表CosSinErrorCos () 216Sin()216Error30o=0xlEo0xDDB60x80000x400.86610.500045=0x2D0xB5040xB5050.70710.707160o=0x3Co0x80000xDDB60.50000.8661计算结果正确。在仿真波形图图1中,当输入角度改变时,需要启动初始化信号,否则误差信号出错。OMfig w Xo;当角度输入与cos、sin、ErrOr输出表,如表1所示。CORDIC算法的应用领域:一般而论,只要是坐标变换、求解角度、求解三角函数都可以使用CC)RDIC算法。五.时序电路的V

17、erilog设计1.基本D触发器实验描述1.C功饶:寄存Q=D、保持Q=Q使能ENA=1、时钟CLl;复位Q=O(CLR=1);置数Q=I(PRE=1).不全月Q等于上升沿之前D的状态o特性方程:Qk=DVeriolg源程序moduleDFFl(CLK1D1Q);inputCLK,D;outputregQ;always(posedgeCLK)/CLK上升沿到来时激活Q=D;/always,赋值给Qendmodule仿真图MastciTimcBai:14.875ns|Pomter25.58mIrtwvat10.7InSStart:!kA氢/MwTHs0CLK,f.20.0nsValueat-!1

18、488ns14.875n三分析说明2.用UDP表述边沿D触发器实验描述primitive元件名(输出,输入1,谕入2,);input输入1,输入2,;outputreg输出;table/输入1输入2.逻辑值逻辑值逻辑值逻辑值endtableendprimitive:原态:次态:原态值:次态值;:原态值:次态值;Veriolg源程序moduleDFF_UDP(Q1D1CLK1RST);inputD1CLK,RST;outputQ;EDGE_UDPUl(Q1D1CLK1RST);endmoduleprimitiveEDGE.DP(Q1D1CLK1RST);inputD,CLK,RST;复位高电平有

19、效outputregQ;tableDCLKRST:Q:Q+0(Ol)O:?:0;置11(Ol)O置0?(1?)0保持?(?0)O保持1O1:?:0;复位111:?:0;复位OO1:?:0;复位O11:?:0;复位endtableendprimitive仿真图输出必须是reg型的;table和endtable之间是该元件的状态表;输入可以是电平或者跳变沿;其他与组合电路门原语相同。3、含异步复位/时钟使能型触发器及其VeriIog表述实验描述DZ-CLKf-PRE 0ENA 寸Q电路功能:回当RST为。时,Q=O,异步清零;否则,若EN=T时,且CLK上升沿到来时,Q=D5否则,Q保持原值不变。

20、Veriolg源程序moduleDFF2(CLK1D1Q1RST1EN);inputD1CLK1RST1EN;outputregQ;always(posedgeCLKornegedgeRST)if(!RST)Q=l,bO;elseif(EN)Q=D;endmodule说明:异步清零:用if语句描述清零条件,且清零信号作边沿敏感条件;同步使能:用if语句描述使能条件,但使能信号不作敏感条件。当时钟信号上升沿或复位信号下降沿到来时,启动always语句块;如果是复位信号下降沿则直接清零;如果是CLK上升沿而不是复位下降沿的话,若复位信号为0,则复位;若复位信号不为0,则看使能。若使能有效则更新否则

21、保持;4、含同步复位控制的D触发器及其VeriIog表述实验描述电路功能:当RST=1,且CLK上开沿到来时,清零;若RST=1,但CLK上开沿未到,不会清零。Veriolg源程序moduleDFF3(CLK1D1Q1RST);inputDtCLK1RST;outputregQ;always(posedgeCLK)if(RST=bl)Q=bO;elseif(RST=IW)Q=D;上行可改为elseQ=D;endmodule仿真图说明:同步清零:用if语句描述清零条件,但清零信号不作敏感条件5、基本锁存器(电平触发D锁存器)及其Venlog表述 实验描述功能,当CLK=I时,Q=D 否则,Q保持

22、原值不变。Veriolg源程序module LATCHl (CLKtD1Q);input D,CLK;output reg Q;always (CLK or D) if (CLK) Q=D;endmodulePRED QENA ClR说明:时钟电平触发用电平敏感描述;不加else,利用条件不完整性实现保持功能。6、含清零控制的锁存器及其VeriIOg表述实验描述功能:当RST=O时,清零 否则当CLK=I时,Q = DVeriolg源程序module LATCH3 (CLKtD1Q1RST);input CLK,D1RST;output reg Q;always (CLK,D,RST)if(!

23、RSBQ=l,bO;else if (CLK) Q=D;endmodule 仿真图利用条件优先级实现异步复位。复位优先,锁存落后。7、异步时序电路的VerilOg表述实验描述异步时序电路特点:不是同一个时钟,例如noduleAMOD(DzAzCLKfQ);Veriolg源程序moduleAMOD(D1A1CLK1Q);inputD,A.CLK;outputregQ;regQl;always(posedgeCLK)Q1=(AQ);always(posedgeQl)Q=D;Endmodule仿真图MMterTrneBv16J5ntPcWcrh-,N1S89mSteitErXk三、重点演示实例的设计

24、、仿真与验证(写作模板)1.关系运算符(1) 实验概述实验内容:关系运算符主要包括大于、小于、二大于等于、二小于等于、二二等于、!二不等于、=全等、!=不全等,其运算规则与C语言有较大不同,特别是二二二全等、!;二不全等是新引进的运算符。本实验需要对各个运算符进行Verilog程序设计,通过仿真验证与分析其运算过程,深入理解其运算规则。实验目的:实现等价运算符的功能验证与特性分析。包括编程设计,波形仿真。(2) Verilog源程序moculeoperator(运算inputwire(BW2-l):0Rail,inputwire(BW2-l):0Rai2,outputwire(BW4-l):0

25、Raol1outputwire(BW4-l):0Rao2,运算inputwire(BW2-l):0Rbil1inputwire(BW2-l):0Rbi2,outputwire(BW4-l):0Rbol1outputwire(BW4-l):0Rbo2,/=运算inputwire(BW2-l):0Rcil1inputwire(BW2-l):0Rci2,outputwire(BW4-l):0Rcol1outputwire(BW4-l):0Rco2,/=运算inputwire(BW2-l):0Rdlil1inputwire(BW2-l):0Rdli2,outputwire(BW4-l):0Rdlol,

26、outputwire(BW4-l):0Rdlo2,/!=运算inputwire(BW2-0):0Rd2il,/3ibtinputwire(BW2-l):0Rd2i2,outputwire(BW4-l):0Rd2ol,outputwire(BW4-l):0Rd2o2);/Relationoperation:R二关系运算/relationgreat:运算实现assignRaol=RailRai2;/relationequal:二二运算实现assignRcol=(2bzx=2,bzx);/ConstantassignRco2=(Rcil=Rci2);/relationcongruence:=运算实现

27、assignRdlol=(2,bz=2bzx);/ConstantassignRdlo2=(Rdlil=Rdli2);/relationcongruence:!=运算实现assignRd2ol=(Rd2il!=Rd2i2);endmoudle(3) 仿真验证波形图:如图8所示。bMasierTimeBar21.35nsPorter95.12nsInterval73.77nsStart:End)ps20.(M40”,60.fns80.fns100,0t120.0nsANane21.35taJ32BRcilZZX1135Rci2ZZX1138SRcol0000小3BRco2OOOU48QRdlil

28、ZZXXX351国Rdli2ZZX1154QRdlolOOOIt59BMlO2/OOOUV,.:图8关系运算仿真波形图RTL图:图9所不。EquaHRd1121.0/_.一.RdliI1CLjRd1o23.0嬲0_A(1.0/XRci21.,QP/_V_T3ho-l_Rcil1.0Plllll-J-Rco23.0EQUAL图9关系运算仿真RTL图(4) 分析说明assignRdlol=(2bzx=2,bzx);是真,等于1assignRdlo2=(Rdlil=Rdli2);是假,等于0(应该是真,等于LqUartusll不能仿真,ModeISim可以仿真成功)2.缩位运算(1) 实验概述实验内

29、容:缩位运算主要包括缩减与&、缩减与非&、缩减或I、缩减或非I、缩减异或八、缩减同或八和八这些运算方式是我们以前的学习中没有学习过的,需要编程设计与仿真,达到深入理解和掌握其运算规则。实验目的:实现缩位运算符的功能验证与特性分析。包括编程设计,波形仿真。(2) Verilog源程序moculeoperator(/Cutoperation:C=缩减运算input3:0Cbil6,/4b让S输入:OOOO-moutputCbol1&缩位输出outputCbo2,&缩位输出outputCbo3,缩位输出outputCbo4,I缩位输出outputCbo5,八缩位输出outputCbo6,八缩位输出o

30、utputCbo7八缩位输出);/Cutoperation:C=缩减运算assignCbol=(&Cbil6);assignCbo2=(-&Cbil6);assignCbo3=(Cbil6);assignCbo4=(Cbil6);assignCbo5=(Cbil6);assignCbo6=(Cbil6);assignCbo7=(Cbil6);endmoudle(3) 仿真验证波形图:如图10所示。MerTmBarZ 35m |Parttef 1893m Irterval16758nsSltA英R XT匿外End图10缩位运算仿真波形图1:RTL图:如图11所示。(4) 分析说明&缩位运算:当C

31、bil6=4bllll时,Cbol=1;其它都为O0&缩位运算:当Cbil6=4bllll时,Cbo2=0;其它都为1;对于:Cbil6=4bl001:Cbo2=1&0&0&1=1-&1=0Cbo2=(1&0&0&1)=1因此Cbo2=Cbol0I缩位运算:当Cbil6=4b0000时,Cbo3=O;其它都为I0缩位运算:当Cbil6=4b0000时,Cbo4=1;其它都为O;因此Cbo2=Cbol0八缩位运算:当Cbil6=4bxxx中有奇数个1时,Cbo5=1;当Cbil6=4bxxxx中有偶数个1时,Cbo5=Oo八缩位运算:当Cbil6=4bxxx中有奇数个1时,Cbo6二O;当Cbi

32、l6=4bxxxx中有偶数个1时,Cbo6=Io因此Cbo6=Cbo5c八缩位运算:当Cbil6=4bxxx中有奇数个1时,Cbo7二O;当Cbil6=4bxxxx中有偶数个1时,Cbo7=Io对于:Cbil6=4bl010:Cbo7=l-O-l-O=0l-0=0-0=1Cbo7=(lOlO)=(llO)=(00)=1对于:Cbil6=4bl011:Cbo7=l-O-l-l=O-l-l=O八1=OCbo7=(lOll)=(111)=-(0l)=O因此Cbo6=Cbo5;Cbo7=Cbo5c八可以看作一个运算符同或。四、自选研究性设计项目:Al常用算法1 .CORDIC算法的设计、仿真与分析2

33、.256点FFT算法的设计、仿真与分析3 .卷积运算的设计、仿真与分析4 .神经网络单元的设计、仿真与分析5 .卷积神经网络单元的设计、仿真与分析6 .循环神经网络单元的设计、仿真与分析7 .递归神经网络单元的设计、仿真与分析8 .模拟退火算法的设计、仿真与分析9 .粒子群算法的设计、仿真与分析10 .遗传算法的设计、仿真与分析11 .蚁群算法的设计、仿真与分析12 .随机森林算法的设计、仿真与分析13 .支持向量机算法的设计、仿真与分析14 .决策树算法的设计、仿真与分析15 .最小二乘法算法的设计、仿真与分析16 .逻辑回归算法的设计、仿真与分析17 .朴素贝叶斯分类器算法的设计、仿真与分

34、析18 .SVD矩阵分解算法的设计、仿真与分析19 .稀疏编码算法的设计、仿真与分析20 .算法的设计、仿真与分析21 .说明(1) 同一题目全班重复人数不能超过3人(2) 时间:到第14周完成,第15-16周报告验收(3) 要求:研究算法原理与实现方法,需要用Matlab.C、Verilog同步实现,相互验证,性能比较,复杂度分析。有能力的同学还可以用PythOn设计实现(4) 成绩:设计优秀者,确保本学期EDA技术课程成绩在90分以上(5) 优选部分作品全班宣讲(6) 完成的优秀的,可以作为自己的毕业论文(7) 硬件实现的难易程度可能不同(8) 2018年高新招聘清单,如图12所示。2018届互联网校招高薪清单图122018年高新招聘清单五、参考文献

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号