Verilog HDL数字设计与综合 夏宇闻译(第二版)课后题答案

第二章

/*1----------------------------------------------*/ module IS; //... SC sc1; MEM mem1; Xbar xbar1; endmodule;

module SC; //...

endmodule;

moduleXbar; //...

endmodule;

module MEM; //...

endmodule;

module Top; IS is1;

endmodule

/*2----------------------------------------------*/ module FA;

endmodule

moduleRipple_Add; FA fa0; FA fa1; FA fa2; FA fa3; Endmodule

第三章

/*1---------------------------------------------------------------*/ a:8b0111_1011 b:16hxxxx c: -2(1010)--取反(1101)----再加一(1110)

d: 'h1234

/*2---------------------------------------------------------------*/ a:正确 b:正确 c:正确 d:正确

/*3---------------------------------------------------------------*/ a :合法 b :合法

c :不合法,含有$ 为延时含义

d :标识符组成:字母数字下划线。

/*4---------------------------------------------------------------*/ a: wire [7:0] a_in; b: reg [31:0] c: integer count; d: time snap_shot; e: integer delays[20]; f: reg [63:0] mem[256]; g: parameter cach_size=256;

/*5---------------------------------------------------------------*/ a : 1010 b: 10 c : 400

第四章

/*1-----------------------------------------------------------------------*/ //模块的基本组成部分有哪些?哪几个部分必须出现?

模块定义已关键字module开始,模块名,端口列表,端口声明和可选的参数声明出现在其他部分的前面 ,endmodule必须为最后一条语句 1)wire。reg和其他类型的变量的声明 2)数据流语句(assign,连续赋值语句) 3)低层模块实例 4)always和initial块,所有的行为语句都在这些块中 5) 任务和函数。 其中module和模块名和endmodule是必不可少的。

/*2-----------------------------------------------------------------------*/ //一个不与外界环境交互的模块是否有端口?模块定义中是否有端口列表? 不与外界交互即没有端口列表,在没有端口的情况下端口列表也是不存在的。

/*3-----------------------------------------------------------------------*/ moduleshift_reg(reg_in[3:0] , clock , reg_out[3:0] ); input [3:0] reg_in; input clock; output [3:0] reg_out; //...... endmodule;

/*4-----------------------------------------------------------------------*/ //connect in order module stimulus(); reg [3:0] REG_IN; wire [3:0] REG_OUT; reg CLK; shift_regsr1(REG_IN,CLK,REG_OUT); endmodule

/*5-----------------------------------------------------------------------*/ //connect by name module stimulus(); reg [3:0] REG_IN; wire [3:0] REG_OUT; reg CLK; shift_regsr1(.clock(CLK) ,.reg_in(REG_IN) , .reg_out(REG_OUT) ); endmodule

/*6-----------------------------------------------------------------------*/ stimulus.REG_IN stimulus.CLK; stimulus.REG_OUT;

/*7-----------------------------------------------------------------------*/ stimulus.sr1; stimulus.sr1.clock; stimulus.sr1.reg_in; stimulus.sr1.reg_out;

第五章

/*1--------------------------------------------------------------------*/ //利用双输入的nand门设计自己的与或非门。 //my_and modulemy_and(out , in1,in2); input in1,in2; output out; endmodule

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4