EDA-VerilogHDL试题(2)

2019-08-30 19:37

75、 76、 77、 78、 79、 80、 81、 82、 83、 84、 85、 86、 87、 88、 89、 90、 91、 92、 93、 94、 95、 96、 97、 98、 99、 100、 101、 102、 103、 104、 105、 106、 107、 108、 109、 110、 111、 112、 113、 114、 115、 116、 117、 118、 119、 120、 121、 122、

123、 124、 125、 126、 127、 128、 129、 130、 131、 132、 133、 134、 135、 136、 137、 138、 139、 140、 141、 142、

143、 态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?FSM的三

段式描述风格中,三段分别描述什么?(本题6分)

答:Mearly型,Moore型;前者与输入与当前状态有关,而后者只和当前状态有关;Binary,Gray,

One-Hot编码;分别为状态保存,状态切换,输出;

五、程序注解(20分,每空1分)

module AAA ( a ,b ); 定义模块名为AAA,端口为a,b output a ;

定义a为输出端口 input [6:0] b ; 定义b为输出端口,b为7位二进制数 reg[2:0] sum; sum为reg型变量,用于统计赞成的人数 integer i; 定义整型变量i为循环控制变量 reg a ; 定义a为寄存器变量 always @ (b) 过程语句,敏感变量为b begin 语句块 sum = 0; sum初值为0 for(i = 0;i<=6;i = i+1) for语句,统计b为1的个数

if(b[i]) 条件语句 sum = sum+1; 只要有人投赞成票,则 sum加1 if(sum[2]) a = 1; 若超过4人赞成,则表决通过

else a = 0; 若不到4人,则不通过 end endmodule

程序的逻辑功能是: 器 。

7人投票表决六、VerilogHDL编程题(1、2小题10分,3小题20分) 要求:写清分析设计步骤和注释。

1.试用Verilog HDL描述一个带进位输入、输出的8位全加器。

端口:A、B为加数,CIN为进位输入,S为和,COUT为进位输出 module add4v(a,b,ci,s,co); input[3:0] a; input[3:0] b; input ci; output[3:0] s; output co;

wire[3:0] carry;

function fa_s(input a,input b,input ci); fa_s = a ^ b ^ ci; endfunction

function fa_c(input a,input b,input ci); fa_c = a & b | a & ci | b & ci; endfunction

assign s[0] = fa_s(a[0],b[0],ci); assign carry[0] = fa_c(a[0],b[0],ci);

assign s[1] = fa_s(a[1],b[1],carry[0]); assign carry[1] = fa_c(a[1],b[1],carry[0]);

assign s[2] = fa_s(a[2],b[2],carry[1]); assign carry[2] = fa_c(a[2],b[2],carry[1]);

assign s[3] = fa_s(a[3],b[3],carry[2]); assign co = fa_c(a[3],b[3],carry[2]); endmodule

2.编写一个带异步清零、异步置位的D触发器。

3.设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。 mdule CNT10 (CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK ; input EN ; input RST ; input LOAD ; input [3:0] DATA ; output [3:0] DOUT ; output COUT ; reg [3:0] Q1 ; reg COUT ;

assign DOUT = Q1;

always @(posedge CLK or negedge RST) begin

if (!RST) Q1 <= 0; else if (EN) begin

if (!LOAD) Q1 <= DATA;

else if (Q1<9) Q1 <= Q1+1;

else Q1 <= 4'b0000; end

end

always @(Q1)

if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0; endmodule


EDA-VerilogHDL试题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:水化学分析资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: