欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《基于FPGA的现代数字系统设计》作业参考答案.ppt

    • 资源ID:6077003       资源大小:332.49KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《基于FPGA的现代数字系统设计》作业参考答案.ppt

    ,3.3 设A=4b1010,B=4b0011,C=1b1,则下式运算结果是什么?(1)A 0101(2)A1 0101(3)A,B0,C 101011(4)A&B 0010(5)A B 1001(6)AB 0,3.5 有一个模块名为my_module,其输入/输出端口情况如题图3.1所示,试写出模块Verilog HDL的描述框架,即模块的定义、端口罗列和端口定义等。module my_modudle(AIN,BIN,CIN,CLK,ENABLE,RESET DATA_OUT)Input3:0 AIN;Input2:0 BIN;Input1:0 CIN;Input CLK,ENABLE,RESET;Output4:0 DATA_OUT;.,3.6 在下面的initial块中,根据每条语句的执行时刻,写出每个变量在仿真过程中和仿真结束时的值。initialbeginA=1b0;B=1b1;C=2b10;D=4b1100;#10 begin A=1b1;B=1b0;end#15 beginC=#5 2b01;end#10 beginD=#7 A,B,C;endend,3.6#0 A=1b0,B=1b 1,C=2b10,D=4b1100,#10 A=1b 1,B=1b 0,C=2b10,D=4b1100,#30 A=1b 1,B=1b 0,C=2b01,D=4b1100,#42 A=1b 1,B=1b 0,C=2b01,D=4b1001.,3.7 定义一个深度为256,位宽为8比特的寄存器型数组,用for语句对该数组进行初始化,要求把所有的偶元素初始化为0,所有的奇元素初始化为1。3.7.reg 7:0 stage 255:0initialbegin for(i=0;i256;i=i+2)stagei=0;for(i=1;i256;i=i+2)statei=1;end,3.8 设计一个移位函数,输入一个位宽是32比特的数data,和一个左移、右移的控制信号shift_contr1:0,shift_contr1=1,data左移一位,shift_contr0=1,data右移一位,函数返回移位后的数值。3.8 function 31:0 shift input31:0 data_in;input1:0 shift_contr;begin if(shift_contr1)shift=data_in 1;end endfunction,3.10 定义一个任务,该任务能计算出一个八位变量的偶校验位作为该任务的输出,计算结束后,经过三个时钟周期将该校验位赋给任务的输出。3.10 task parity(even_bit,odd_bit,input_bus);output even_bit,odd_bit;input7:0 input_bus;reg even_bit,odd_bit,a;beginodd_bit=input_bus;/产生奇校验位 a=odd_bit;end;/产生偶校验位(posedgeclk)(posedgeclk)(posedgeclk)even_bit=a;endendtask,3.12 module mux4(A,B,C,D,sel,data_sel);parameter width=8;inputwidth-1:0 A,B,C,D;input1:0 sel;outputwidth-1:0 data_sel;reg width-1:0 data_sel;always(A or B or C or D or sel)begin case(sel)2b00:data_sel=A;2b01:data_sel=B;2b10:data_sel=C;2b11:data_sel=D;default:$display(signal is invalid);endcase endendmodule,3.12 module mux4(clk,rst,A,B,C,D,sel,data_sel);parameter width=8;inputwidth-1:0 A,B,C,D;input1:0 sel;input clk,rst;outputwidth-1:0 data_sel;wire width-1:0 data_sel;assign data_sel=sel1?(sel0?D:C):(sel0?B:A);endmodule,设计一个序列检测器,用于检测串行输入的二进制序列,每当连续输入三个或三个以上的1时,序列检测器的输出为1,其它情况下输出为0。(1)画出状态转移图。(2)写出Verilog HDL程序(要求在程序中使用2个always 语句),状态图:s0:初始状态,电路还未收到一个有效1 s1:收到一个1后的状态S2:连续收到两个1后的状态 s3:连续收到三个1个后的状态,modulefsm(clk,reset,ina,out);inputclk,ina;outputout;regout;parameters0=2b00,s1=2b01,s2=2b10,s3=2b11;reg0:1 state,next_state;always(posedgeclk)begin if(!reset)state=s0;else state=next_state;endalways(stateorina)begin,case(state)s0:beginnext_state=(ina)?s1:s0;out=0;ends1:beginnext_state=(ina)?s2:s0;out=0;ends2:beginnext_state=(ina)?s3:s0;out=0;ends3:beginnext_state=(ina)?s3:s0;out=1;endendcaseendendmodule,作业:下图是一个A/D采集系统,要求设计其中的FPGA采集控制模块,该模块由三个部分构成:控制器(Control)、地址计数器(addrcnt)、内嵌双口RAM(adram)。控制器(control)是一个有限状态机,完成对AD574的控制,和adram的写入操作。adram是一个双口RAM IP核,在wren为1时允许写入数据。,A/D采集系统,AD574逻辑控制真值表(X表示任意),AD574工作时序,下面表列出了AD574的控制方式(X表示任意信号)和控制时序图(STATUS为高电平,FPGA等待A/D转换,STATUS为低电平,A/D转换完成,数据输出有效):,回答问题:1)试画出控制器Control模块的状态机的状态图。2)地址计数器每当ClkInc时钟上升沿到达,输出地址加1,请对地址计数器模块(addrcnt)进行Verilog HDL描述。3)根据问题1)的状态图,试对控制器Control模块进行Verilog HDL描述。4)已知adram的端口描述如下,试用例化语句,对整个FPGA采集控制模块进行顶层模块的Verilog HDL描述(顶层名设为ADC574)。,1)试画出控制器Control模块的状态机的状态图。,2)地址计数器每当ClkInc时钟上升沿到达,输出地址加1,请对该模块进行verilog描述。module cnt64(ClkInc,Cntclr,Wraddr);input ClkInc,Cntclr;output5:0 Wraddr;reg5:0 Wraddr;always(posedge ClkInc or posedge Cntclr)beginif(Cntclr)Wraddr=6d0;else Wraddr=Wraddr+1;endendmodule,3)根据状态图,试对control进行Verilog描述.module control(CLK,STATUS,ADData,CS,CE,A0,RC,K12_8,ClkInc,rddata);input CLK,STATUS;/时钟信号和AD转换状态信号输入 input7:0 ADData;/转换数据输入 output CS,CE,A0,RC,K12_8;/AD574控制信号 output ClkInc;/地址计数器时钟信号 output7:0 rddata;/转换数据输出 parameter s0=0,s1=1,s2=2,s3=3,s4=4;reg2:0 st;reg lock;reg CS,CE,RC;,assign K12_8=1b0;assign A0=1b1;assign ClkInc=(lock=1b1)?1:0;assign rddata=(lock=1b1)?ADData:rddata;always(posedge CLK)begin case(st)s0:begin st=s1;RC=1b1;CE=1b0;CS=1b1;lock=1b0;end s1:begin st=s2;RC=1b0;CE=1b1;CS=1b0;lock=1b0;end,s2:if(!STATUS)st=s3;else begin st=s2;RC=1b1;CE=1b1;CS=1b0;lock=1b0;ends3:begin st=s4;RC=1b1;CE=1b1;CS=1b0;lock=1b1;ends4:begin st=s0;RC=1b1;CE=1b1;CS=1b0;lock=1b0;enddefault:st=s0;endcaseendendmodule,5)已知adram的端口描述如下,试用例化语句,对整个FPGA采集控制模块进行Verilog顶层描述。顶层名为ADC574.module ADC574(CLK,STATUS,ADDATA,Cntclr,Rdaddr,CS,CE,A0,RC,K12_8,rddata);input CLK,STATUS;/时钟信号和AD转换状态信号输入 input7:0 ADDATA;/转换数据输入 input Cntclr;/计数器清零信号 input5:0 Rdaddr;/adram读数地址output CS,CE,A0,RC,K12_8;/AD574控制信号output7:0 rddata;/adram读数据输出wire ClkInc;wire5:0 Wraddr;wire7:0 r_data;wire wren;,5)已知adram的端口描述如下,试用例化语句,对整个FPGA采集控制模块进行Verilog顶层描述。顶层名为ADC574.module ADC574(CLK,STATUS,ADDATA,Cntclr,Rdaddr,CS,CE,A0,RC,K12_8,rddata);input CLK,STATUS;/时钟信号和AD转换状态信号输入 input7:0 ADDATA;/转换数据输入 input Cntclr;/计数器清零信号 input5:0 Rdaddr;/adram读数地址output CS,CE,A0,RC,K12_8;/AD574控制信号output7:0 rddata;/adram读数据输出wire ClkInc;wire5:0 Wraddr;wire7:0 r_data;wire wren;,assign wren=1b1;control u1(.CLK(CLK),.STATUS(STATUS),.ADDATA(ADDATA),.CS(CS),.CE(CE),.A0(A0),.RC(RC),.K12_8(K12_8),.ClkInc(ClkInc),.rddata(r_data);cnt64 u2(.ClkInc(ClkInc),.Cntclr(Cntclr),.Wraddr(Wraddr);adram u3(.data(r_data),.wraddress(Wraddr),.rdaddress(Rdaddr),.wren(wren),.q(rddata);endmodule,

    注意事项

    本文(《基于FPGA的现代数字系统设计》作业参考答案.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开