实验抽考题目 11汇总.docx

上传人:b****8 文档编号:11274815 上传时间:2023-02-26 格式:DOCX 页数:10 大小:17.77KB
下载 相关 举报
实验抽考题目 11汇总.docx_第1页
第1页 / 共10页
实验抽考题目 11汇总.docx_第2页
第2页 / 共10页
实验抽考题目 11汇总.docx_第3页
第3页 / 共10页
实验抽考题目 11汇总.docx_第4页
第4页 / 共10页
实验抽考题目 11汇总.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验抽考题目 11汇总.docx

《实验抽考题目 11汇总.docx》由会员分享,可在线阅读,更多相关《实验抽考题目 11汇总.docx(10页珍藏版)》请在冰豆网上搜索。

实验抽考题目 11汇总.docx

实验抽考题目11汇总

FPGA设计实验抽测题目

要求:

以下题目除特别说明外,均必须给出其源程序(关键语句必须解释语句含义)、功能仿真图(解释波形含义)、RTL图(主要图形说明其功能)或状态机图,通过硬件测试(即下载至开发板验证),。

其中,4~9题参考第六章教材完成。

现场操作50分,实验报告50分,总分共100分。

1、设计一个多位数据比较器(测试时以3位为例)

实验二有

2、设计一个投票表决器(测试时以5人为例)

modulevoter5(pass,vote);

outputpass;

input[4:

0]vote;

reg[2:

0]sum;

integeri;

regpass;

always@(vote)

begin

sum=0;

for(i=0;i<=6;i=i+1)//for语句

if(vote[i])sum=sum+1;

if(sum>=3b011)pass=1;//若超过3人赞成,则pass=1,注意输入一撇

elsepass=0;

end

endmodule

3、将开发板上的50MHZ时钟分频为秒脉冲时钟信号

实验有略

 

4、设计一个分频器,要求:

占空比为50%的任意奇数次5分频电路。

课本p102例4.3一模一样!

5、设计一个2.5次分频器。

占空比为25%

6、在开发板上完成LPM嵌入式PLL的设计。

要求设计一个分频系数为4/5、延时为0,占空比为25%的分频器。

(提示:

在ALTPLL参数设置界面的output标签页上,选择“usethisclock”,接着选择“Enteroutputclockparameters”,其中分子clockmultiplicationfactor设为4,分母clockdivisionfactor设为5,占空比clockdutycycle(%))

7、在开发板上完成LPM嵌入式PLL的设计。

要求设计一个倍频系数为2、延时为0,点空比为25%的倍频器。

(提示:

在ALTPLL参数设置界面的output标签页上,选择“usethisclock”,接着选择“Enteroutputclockparameters”,其中分子clockmultiplicationfactor设为2,分母clockdivisionfactor设为1,占空比clockdutycycle(%))

8、在开发板上完成LPM嵌入式PLL的设计。

要求输出3个频率分量,一个是2KHZ,一个是150MHZ,另一个是200MHZ。

(提示:

在ALTPLL参数设置界面的output标签页上,选择“usethisclock”,接着选择“Enteroutputclockfrequency”)

9、参考教材P.143,定制一个ROM,其mif文件如图6-10所示(即定制一个字长为8,容量深度为128的ROM)。

然后按教材P.146的要求,在QuartuiII9.0平台上进行功能仿真。

10、设计一个3-8译码器

moduledecoder_38(out,in);

output[7:

0]out;

input[2:

0]in;

reg[7:

0]out;

always@(in)

begin

case(in)

3'd0:

out=8'b11111110;

3'd1:

out=8'b11111101;

3'd2:

out=8'b11111011;

3'd3:

out=8'b11110111;

3'd4:

out=8'b11101111;

3'd5:

out=8'b11011111;

3'd6:

out=8'b10111111;

3'd7:

out=8'b01111111;

endcase

end

endmodule

11、设计一个8-3编码器

moduleencoder8_3(din,out);

output[2:

0]out;

reg[2:

0]out;

input[7:

0]din;

always@(din)

begin

if(din[7])out<=3'b111;

elseif(din[6])out<=3'b110;

elseif(din[5])out<=3'b101;

elseif(din[4])out<=3'b100;

elseif(din[3])out<=3'b011;

elseif(din[2])out<=3'b010;

elseif(din[1])out<=3'b001;

elseif(din[0])out<=3'b000;

elseout<=3'b000;

end

endmodule

12、设计一个时钟下降沿检测的、同步置1、异步高电平清零的D触发器

带yi步清0、同步置1的D触发器

moduleDFF2(q,qn,d,clk,set,reset);

inputd,clk,set,reset;

outputq,qn;

regq,qn;

always@(negedgeclkorposedgerst)

begin

if(reset)begin

q<=0;qn<=1;//同步清0,高电平有效

end

elseif(set)begin

q<=1;qn<=0;//同步置1,高电平有效

end

elsebegin

q<=d;n<=~d;

end

end

endmodule

13、试分别用行为描述风格和数据流描述风格各设计一个带使能端的的2选1数据选择器

行为描述风格定义的2选1多路选择器

moduleMUX21_2(out,a,b,sel);

inputa,b,sel;

outputout;

regout;

always@(aorborsel)

begin

if(sel==0)out=a;//阻塞赋值

elseout=b;

end

endmodule

数据流风格定义的2选1多路选择器

moduleMUX21_1(out,a,b,sel);

inputa,b,sel;

outputout;

assignout=(sel==0)?

a:

b;

//持续赋值,如果sel为0,则out=a;否则out=b

endmodule

14、试分别用行为描述风格和数据流描述风格各设计一个带使能端的4选1数据选择器

用case语句描述的4选1数据选择器

modulemux4_1(out,in0,in1,in2,in3,sel);

outputout;

inputin0,in1,in2,in3;

input[1:

0]sel;

regout;

always@(in0orin1orin2orin3orsel)//敏感信号列表

case(sel)

2'b00:

out=in0;

2'b01:

out=in1;

2'b10:

out=in2;

2'b11:

out=in3;

default:

out=2'bx;

endcase

endmodule

用if-else语句描述的4选1MUX

modulemux_if(out,in0,in1,in2,in3,sel);

outputout;

inputin0,in1,in2,in3;

input[1:

0]sel;

regout;

always@(in0orin1orin2orin3orsel)

begin

if(sel==2'b00)out=in0;

elseif(sel==2'b01)out=in1;

elseif(sel==2'b10)out=in2;

elseout=in3;

end

endmodule

15、设计一个双向门电路,当方向控制信号wr为高电平时,信号Y作为输出,值为输入信号a的值;当方向控制信号wr为低电平时,信号Y作为输入,输出信号b为信号Y的值,其它情况下,输出信号均为高阻态。

16、设计一个通用二进制计数器,其功能有加/减计数、同步置位和异步低电平复位(测试时可以4位为例)。

moduleupdown_count(d,clk,clear,load,up_down,qd);

input[3:

0]d;

inputclk,clear,load;

inputup_down;

output[3:

0]qd;

reg[3:

0]cnt;

assignqd=cnt;

always@(posedgeclkornegedgeclear)

begin

if(!

clear)cnt=4'h00;//同步清0,低电平有效

elseif(load)cnt=d;//同步预置

elseif(up_down)cnt=cnt+1;//加法计数

elsecnt=cnt-1;//减法计数

end

endmodule

17、设计一个二进制码和格雷码相互转换的verilog程序(测试时可以4位为例)。

18、设计一个同步可预置的、加法和减法计数器(测试时可以4位为例)。

moduleupdown_count(d,clk,clear,load,up_down,qd);

input[3:

0]d;

inputclk,clear,load;

inputup_down;

output[3:

0]qd;

reg[3:

0]cnt;

assignqd=cnt;

always@(posedgeclk)

begin

if(!

clear)cnt=4'h00;//同步清0,低电平有效

elseif(load)cnt=d;//同步预置

elseif(up_down)cnt=cnt+1;//加法计数

elsecnt=cnt-1;//减法计数

end

endmodule

19、利用LPM定制一个4位十二进制加法和减法计数器。

课本p139例6.1!

20、设计一个Johnson计数器。

Johnson计数器工作原理如下:

(1)如果当前计数值的最高位为1,则执行最低位补0的左移操作;

(2)如果当前计数值的最高位为0,则执行最低位补1的左移操作。

以3位的Johnson计数器为例,其计数顺序依次为:

000----001----011----111----110----100----000----

3位Johnson计数器(异步复位)

modulejohnson(clk,clr,out);

inputclk,clr;

output[2:

0]out;

reg[2:

0]out;

always@(posedgeclkorposedgeclr)

begin

if(clr)out<=3'h0;

else

beginout<=out<<1;

out[0]<=~out[2];

end

end

endmodule

21、设计一个位宽为3位的通用移位寄存器。

要求该寄存器能够实现如下功能:

(1)异步低电平清零;

(2)储存任意预置数;(3)左移或(右移)操作。

8位移位寄存器

moduleshifter(din,clk,clr,load,data,dout);

inputdin,clk,clr,load;

input[2:

0]data;

output[2:

0]dout;

reg[2:

0]dout;

always@(posedgeclkornegedgeclr)

begin

if(!

clr)dout<=4'b0;//异步清0,低电平有效

elseif(!

load)

begin

dout<=data;

end

elsebegin

dout<=dout<<1;//输出信号左移一位

dout[0]<=din;//输入信号补充到输出信号的最低位

end

end

endmodule

同步预置功能的移位寄存器p62

22、设计一个位宽为4位的环形移位寄存器。

要求该寄存器能够实现如下功能:

(1)异步低电平清零;

(2)储存任意预置数;(3)左移或(右移)操作。

23、用循环语句设计一个4位乘法器

课本p66例3.22和3.23原题

 

24、用例化语句设计一个1位全加器,要求首先设计1位半加器。

课本p113和p114例5.9和5.10

25、设计一个具有三态功能的4位位宽的D锁存器,要求该锁存器具有同步高电平复位、同步使能和三态控制(三态输出控制端为高电平时,输出为高阻态)功能。

26、设计一个比较电路,当输入的8421BCD码大于5时输出1,否则输出0

27、设计一个时钟上升沿触发的JK触发器

输入J和K,输出q,qd,

28、设计一个1001序列检测器

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

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1