FPGA技术课程作业_第1页
FPGA技术课程作业_第2页
FPGA技术课程作业_第3页
FPGA技术课程作业_第4页
FPGA技术课程作业_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FPGA技术课程作业FPGA技术课程作业/NUMPAGES12FPGA技术课程作业FPGA技术课程作业1.分析test2.v程序,完成下列各题:1)完成程序填空。2)画出该代码综合后的电路图。moduletest2(clk,reset,in1,in2,in3,out1,out2);inputclk,reset;inputin1,in2,in3;outputout1,out2;regout1,out2;integertemp1,temp2;always@(posedgeclkorposedgereset)if(reset) begin temp1<=0; temp2<=0; end elsebegin temp1<=in1&in2; temp2<=in2|in3; end always@(posedgeclk) begin out1<=temp1&temp2; out2<=temp1^in3; endendmodule2、分析test1.v程序,完成下列题目:1)完成程序填空。2)根据图一所画出的输入激励波形,编写测试文件,仿真截图在0到900ns时间区间里输出端口的输出波形。moduletest1(data_1,data_2,data_3,data_out1,data_out2);inputdata_1,data_2,data_3;outputdata_out1,data_out2;taskwriteburst;inputa,b;integerc;c=a+b;endtaskregdata_out1,data_out2;always@(data_1ordata_2or3)beginwrite(data_1,data_2,data_out1);write(data_2,data_3,data_out2); endendmodule图一3.根据下面的VerilogHDL代码,画出综合后的电路图。moduletest12(out,clk,in1,in2,in3,in4);inputclk;inputin1,in2,in3,in4;outputout;regout;regtemp1,temp2;always@(posedgeclk)begintemp1<=in1&in2;temp2<=temp1|in3;out<=temp2|in4;endendmodule4.根据图1所示的原理图写出相应的VerilogHDL程序,其中DFF模块是上升沿触发的触发器,编写相应的测试程序,在ISE软件中完成仿真,对仿真波形图进行截图。图二程序:

modulemy_moduke(clk,xin,out);inputclk,xin;outputout;regout;regtemp;always@(posedgeclk)begintemp<=xin|out;endalways@(posedgeclk)beginout=temp;endendmodule激励文件:initial begin clk=0; forever#30clk=~clk; endinitialbegin //InitializeInputs xin=0; forever#300xin=~xin;end仿真:5.用VerilogHDL设计一个四分频电路,在ISE软件中完成仿真,对仿真波形图进行截图。1)输入信号:clk输入时钟reset同步复位信号,当reset=1’b1时,系统输出置零,当reset=1’b0时,系统正常工作。2)输出信号:clk_out输出信号,其频率是输入时钟的四分之一moduleD_4div(clkin,reset_n,clkout);inputclkin,reset_n;outputclkout;wirein1,in2,clkin_2;regout;regclkout_1;assignin1=~clkout_1;assignclkin_2=clkout_1;assignin2=~out;assignclkout=out;always@(posedgeclkin)//由第一个D触发器构成的2分频程序;begin if(!reset_n) begin out<=0; clkout_1<=0; endelse clkout_1<=in1;endalways@(posedgeclkin_2)//由第二个D触发器构成的2分频程序时钟输入为上面的输出;begin if(!reset_n) out<=0;else out<=in2;endendmodule6.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。module

Counter(clk,clk_key,clr,ena,cout,sel,seg);input

clk,clk_key,clr,ena;output

cout;output

[7:0]sel,seg;assign

sel=8'hf0;wire

clk_k;debounce_module

U0

(.CLK(clk),.RSTn(clr),.Pin_In(clk_key),.Pin_Out(clk_k));wire

[3:0]sum;count

U1(.clk(clk),.clk_k(clk_k),.clr(clr),.ena(ena),.cout(cout),.sum(sum));tube

U2(.clk(clk),.sum(sum),.seg(seg));endmodule计数模块module

count(clk,clk_k,clr,ena,cout,sum);input

clk,clk_k,clr,ena;output

cout;output

[3:0]sum;reg

cout;reg

[3:0]sum;reg

a,b;always@(posedge

clk)begina<=clk_k;b<=a;endwire

key_posedge=(~b&a)

?

1'b1

:1'b0;always@(posedge

clk)beginif(clr)begincout

<=0;sum

<=0;endelse

if(key_posedge

&

ena) beginif(sum<4'd9) beginsum<=sum+1'b1;cout<=0;endelse

begincout<=1; sum<=0;endendelsebegincout<=cout;sum<=sum;endendendmodule数码管moduletube(clk,sum,seg);inputclk;input[3:0]sum;output[7:0]seg;reg[7:0]seg;always@(posedgeclk)begincase(sum) 4'd0:seg<=8'hc0;4'd1:seg<=8'hf9;4'd2:seg<=8'ha4;4'd3:seg<=8'hb0; 4'd4:seg<=8'h99;4'd5:se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论