【数字逻辑与EDA技术】verilog HDL语法-期末考试重点总结

一、相关术语

  1. BST(Boundary Scan Test)边界扫描测试
  2. CAD(Computer Aided Design) 计算机辅助设计
  3. CAE(Computer Aided Engineering) 计算机辅助工程
  4. CLB(Configurable Logic Block) 可配置逻辑块
  5. CPLD(Complex Programmable Logic Device) 复杂可编程逻辑器件
  6. EAB(Embedded Array Block) 嵌入式阵列块
  7. EDA(Electronic Design Automation) 电子设计自动化
  8. FPGA(Field Programmable Gate Array) 现场可编程门阵列
  9. GAL(Generic Array Logic) 通用阵列逻辑
  10. HDL(Hardware Description Language)硬件描述语言
  11. ISP(In-System Programmable) 在系统可编程
  12. IP(Intellectual Property) 知识产权
  13. JTAG(Joint Test Action Group) 联合测试行动组
  14. LAB(Logic Array Block) 逻辑阵列块
  15. LE(Logic Element) 逻辑单元
  16. LUT(Look-Up Table) 查找表
  17. PAL(Programmable Array Logic) 可编程阵列逻辑
  18. PLA(Programmable Logic Array) 可编程逻辑阵列
  19. PLD(Programmable Logic Device) 可编程逻辑器件
  20. RAM(Random Access Memory) 随机存取储存器
  21. ROM(Read Only Memory) 只读存储器
  22. SRAM(Static Random Access Memory) 静态随机存储器
  23. SoC(System on Chip) 系统芯片
  24. Verilog HDL Verilog硬件描述语言
     

二、数据类型与表达式

数据运算与表达式

  • 整数除法

截断所有小数部分 7/4=1;

  • 模操作

讲求出与第一个操作数符号相同的余数 7%4=3 -7%4=-3

  • “==”与“===”的区别:

==两个数逻辑值做比较,结果可能是x;

===按位进行比较,结果只能为1或者0;

  • ^A:若A中有偶数个1,则结果为0

三、FPGA/CPLD器件

按集成度分类

四种SPLD器件的区别

 按结构分类

(1)基于乘积项结构的PLD器件
   所有的低密度PLD器件——PROM/PLA/PAL/GAL/EPLD/绝大多数CPLD
 特点:与或阵列结构;掉电数据不丢失;    容量小

(2)基于查找表结构的PLD器件
      绝大多数FPGA器件
 特点:SRAM结构;掉电数据丢失,需外挂存储器;    容量大

FPGA的原理与结构 

查找表结构 

四、verilog语法

在always中被赋值的变量一定要定义成reg类型

任务

  1. 任务的定义与调用须在一个module模块内。
  2. 定义任务时,没有端口名列表,但需要紧接着进行输入输出端口和数据类型的说明。
  3. 当任务被调用时,任务被激活。任务的调用与模块调用一样通过任务名调用实现,调用时,需列出端口名列表,端口名的排序和类型必须与任务定义中的相一致。
  4. 一个任务可以调用别的任务和函数,可以调用的任务和函数个数不限。

函数 

  1.  函数的定义与调用须在一个module模块内。函数定义必须在调用之前。
  2.  函数只允许有输入变量且必须至少有一个输入变量,输出变量由函数名本身担任,在定义函数时,需对函数名说明其类型和位宽。
  3.  定义函数时,没有端口名列表,但调用函数时,需列出端口名列表,端口名的排序和类型必须与定义时的相一致。这一点与任务相同
  4.  函数可以出现在持续赋值assign的右端表达式中。
  5.  函数不能调用任务,而任务可以调用别的任务和函数,且调用任务和函数个数不受限制。

任务与函数的比较

顺序执行与并发执行

  1. 两个或更多个“always”过程块、“assign”持续赋值语句、实例元件调用等操作都是同时执行的。
  2. 在“always”模块内部,其语句如果是非阻塞赋值,也是并发执行的;而如果是阻塞赋值,则语句是按照指定的顺序执行的,语句的书写顺序对程序的执行结果有着直接的影响。

五、Verilog电路描述方法

Verilog的内置门元件

举个栗子

例:门级结构描述的2选1MUX

两个输入端a和b,一个选择端sel,一个输出端out;
当sel=0时,out=a;
当sel=1时,out=b;

该选择器的布尔表达式为?
            out=a·sel +b·sel
该选择器的电路结构图为?


该选择器的VerilogHDL描述为?

module MUX1(out, a, b, sel);
output out;
input a, b, sel;
not  	(sel_, sel);
and 	(a1, a, sel_),(a2, b, sel);
or  	(out, a1, a2);
endmodule

boss、题库

1章习题

1.1 名词解释

PROM  CPLD  FPGA  ASIC

JTAG边界扫描  FPGA/CPLD编程与配置   逻辑综合

PAL   EDA   GAL  IP-CORE  ISP  ASIC  RTL FPGA  SOPC CPLD

IP-CORE  SOC和SOPC   EDA/CAD

1.2 现代EDA技术的特点有哪些?

采用HDL描述、自顶向下、开放标准、具有完备设计库

1.3 什么是Top-down设计方式?P4

自上而下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各个子系统关系合理,并便于逻辑电路级的设计和实现为止。
自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。

1.4  数字系统的实现方式有哪些?各有什么优缺点?

74LS系列/4000系列常规逻辑门设计:设计难度大、调试复杂;

采用CPLD/FPGA等可编程器件来设计:用HDL描述、设计难度小、调试仿真方便,开发费用低,但单位成本较高,适合小批量应用;

专用集成电路设计:设计掩模成本高,适合大批量应用。

1.5什么是IP复用技术?IP核对EDA技术的应用和发展有什么意义?

P5

IP可重复使用的一种功能设计,可节省设计时间、缩短开发周期,避免重复劳动为大规模SOC设计提供开发基础、和开发平台。

1.6  用硬件描述语言设计数字电路有什么优势?

优势:可进行行为级、RTL级、门级多层面对电路进行描述、

可功能仿真时序分析,与工艺无关。

语言标准化。便于设计的复用、交流和修改;

设计与工艺的无关性,宽范围的描述能力。便于组织大规模、模块化的设计。

1.8  基于FPGA/CPLD的数字系统设计流程包括哪些步骤?

设计输入(原理图输入或者HDL文本输入);

综合;

前仿真(功能仿真);

布局布线;

后仿真(时序仿真);

编程配置;

1.9  什么是综合?常用的综合工具有哪些?

综合,指的是将较高级抽象层次的设计描述自动转化为较低层次描述的过程;

适配,指的是将综合生成的电路逻辑网表映射到具体的目标器件中实现,并产生最终的可下载文件。

1.10  功能仿真与时序仿真有什么区别?

功能仿真仅仅关心输出和输入的逻辑关系是否正确,不考虑时间延时信息;

时序仿真不仅反应出输出和输入的逻辑关系,同时还计算了时间的延时信息,是与实际系统更接近的一种仿真结果。

1.11 数字逻辑设计描述分哪几个层级,各有什么特点。

1.12、为何任意组合逻辑电路可用通用的与阵列、或阵列组合来实现。

     可表示为布尔代数方程,由乘积项的和表示

1.13 FPGA与CPLD在实现方式或内部结构上的主要区别

     查表、与或阵列

1.14 VerilogHDL与计算机程序设计语言主要区别

(描述并行电路行为或结构、描述的串行指令流)

1.15 简述“逻辑综合”功能作用。

1.16 数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势?

2章习题

2.1  从器件的或阵列编程结构角度看,PROM、PLA、PAL、GAL在结构上有什么区别?

2.2  说明PAL、GAL的输出单元有何特点,它怎样实现可编程组合电路和时序电路?

PALGAL输出单元都有一个触发器,

实现组合逻辑时触发器被旁路掉,

实现时序单路是则从触发器输出信号。

2.3  简述基于乘积项的可编程逻辑器件的结构特点?

      PALGAL是乘积项可编程,或阵列固定的PLD器件,

送到或门的乘积项是固定的,大大简化了器件设计算法

2.4  基于查找表的可编程逻辑结构的原理是什么?

P31

文字解释

2.5  基于乘积项和基于查找表的结构各有什么优缺点?

基于乘积项的适合用于设计一些逻辑型电路、电路规模较小

而基于查找表结构适合设计数据型电路,电路规模较大,

用于逻辑型电路设计会有延时不确定等问题。

2.6  CPLD和FPGA在结构上有什么明显的区别,各有什么特点?

  CPLD是基于乘积项可编程的,适合用于设计一些逻辑型电路、电路规模较小

FPGA是基于查表的,适合设计数据型大规模系统

2.7  FPGA器件中的存储器块有何作用?

     FPGA存储器用于存储每种逻辑输入对应的需要输出逻辑真值表。

2.8简要说明JTAG边界扫描概念及作用。

2.9 简述FPGA配置、CPLD编程概念及其异同点。

3章习题

3-1  基于Quartus II软件,用D触发器设计一个2分频电路,并做波形仿真,在此基础上,设计一个4分频和8分频电路,做波形仿真。

3-2  基于Quartus II软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简单数字钟电路。设计过程如下:

(1)先用Quartus II的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;

(2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其生成一个部件;

(3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开始计时。

(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。

3-3  基于Quartus II软件,用74161设计一个模99的计数器,个位和十位都采用8421BCD码的编码方式设计,分别用置0和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。

3-4  基于Quartus II软件,用7490设计一个模71计数器,个位和十位都采用8421BCD码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。

3-5  基于Quartus II,用74283(4位二进制全加器)设计实现一个8位全加器,并进行综合和仿真,查看综合结果和仿真结果

3-6  基于Quartus II,用74194(4位双向移位寄存器)设计一个“00011101”序列产生器电路,进行编译和仿真,查看仿真结果。

3-7  基于Quartus II软件,用D触发器和适当的门电路实现一个输出长度为15的m序列产生器,进行编译和仿真,查看仿真结果。

4章习题

4.1  用Verilog设计一个8位加法器,并进行综合和仿真,查看综合结果和仿真结果。

4.2  用Verilog设计一个8位计数器,并进行综合和仿真,查看综合结果和仿真结果。

5章习题

5.1 下列标识符哪些是合法的,哪些是错误的?

Cout, 8sum, \a*b, _data, \wait, initial, $latch

5.2 下列数字的表示是否正确?

6’d18, ‘Bx0, 5’b0x110, ‘da30, 10’d2, ‘hzF

5.3 reg型与wire型变量有什么本质区别

5.4 wire型变量没有驱动其值为多少

5.5 reg型初始值一般为多少

5.6  定义如下的变量和常量:

(1)定义一个名为count的整数;            integer count;

(2)定义一个名为ABUS的8位wire总线;   wire[7:0] ABUS;

(3)定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128;

     reg[15:0] address;    address<=16’d128;

(4)定义参数Delay_time, 参数值为8;

parameter Delay_time =8;

(5)定义一个名为DELAY的时间变量;

     integer DELAY;

(6)定义一个32位的寄存器MYREG;

     reg[31:0] MYREG;

(7)定义一个容量为128,字长为32位的存储器MYMEM;

     reg[32-1:0] MYREG[128];

5.8 .举例列出Verilog整数(Integer)2进制、8进制、16进制常量。

     P123

5.9  net型数据类型有哪些?

     wire  tri

5.10 给出reg型、和integer型变量Variable定义示例程序

(p126)

5.11 Verilog向量与标量的定义

    wire a; wire[3:0] b;

第6章习题

6.1  试编写求补码的Verilog程序,输入是带符号的8位二进制数。

module  negCode(out,in);

output reg[7:0]  out;

reg[7:0] a;

input wire[7:0]  in;

integer i;

always @(in[0]or in[1] or in[2]or in[3] or in[4]or in[5] or in[6]or in[7])

begin

if(in[7]) begin 

for(i=0;i<7;i++) a[i]=~in[i];

a[7]=in[7];

out=a+1;

end

    else  out=in;

end 

endmodule

6.2  试编写两个四位二进制数相减的Verilog程序。(参考P175,例7.18

6.3  有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写出Verilog程序。(参考P147,例6.13

6.4  用CASE语句试编写一个表决电路,同意为输入1,不同意输入0,同意过半数(>=5)表决通过亮绿灯,不通过亮红灯。(P149,6.16)

6.5简述wire变量基本语法定义及用途(第6章)

6.6 简述阻塞性赋值与非阻塞型赋值的区别P1636.8节)

6.7 解释说明下列代码中的always、case语句的语法及所描述行为P1386.1

module  mux4_1(out,in0,in1,in2,in3,sel);

output  out;

input  in0,in1,in2,in3;

input[1:0]  sel;

reg  out;

always @(in0 or in1 or in2 or in3 or sel)   //敏感信号列表

case(sel)

  2’b00:        out=in0;

  2’b01:        out=in1;

  2’b10:        out=in2;

  2’b11: out=in3;

  default: out=2’bx;

endcase

endmodule

6.8 解释说明下列代码中的posedgenegedge关键字的作用和基本功能。

module count(out,data,load,reset,clk); //8位同步置数、同步清零的计数器模块

output[7:0] out;

input[7:0] data;

input load,clk,reset;

reg[7:0] out;

always @(posedge clk)      //clk上升沿触发

   begin

   if(!reset) out=8’h00; //同步清0,低电平有效

   else  if(load) out=data; //同步预置

   else         out=out+1;       //计数

   end

endmodule

6.9用波形图和文字解释说明下列两段代码中的赋值语句行为的细微差别

(参考P163,例6.336.34

非阻塞赋值

module  non_block(c,b,a,clk);

output  c,b;

input  clk,a;

reg  c,b;

always @(posedge clk)

      begin

           b<=a;

           c<=b;

      end

endmodule

阻塞赋值

module  block(c,b,a,clk);

output  c,b;

input  clk,a;

reg  c,b;

always @(posedge clk)

      begin

           b=a;

           c=b;

      end

endmodule

6.10 解释说明下列代码所描述的7人表决器详细功能及实现方法(参考P153循环语句)

module  voter7(pass,vote);

output  pass;

input[6:0]  vote;

reg[2:0]  sum;integer  i;reg  pass;

always @(vote)

  begin   sum=0;

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

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

if(sum[2])  pass=1;    

else           pass=0;

   end

endmodule

6.11 名词解释

敏感信号 VerilogDHL语言中的标量与向量

数字电路状态机 并发块 串行块

第六章补充

6.12 注解下列每行代码,并给出其逻辑功能描述

module  AAA  ( a ,b );                                        

    output  a ;                                                

    input [6:0] b ;                                           

    reg[2:0] sum;                                           

    integer i;                                               

    reg  a ;                                                

    always @ (b)                                            

          begin                                              

             sum = 0;                                        

             for(i = 0;i<=6;i = i+1)                         

                   if(b[i])                                        

sum = sum+1;                                

               if(sum[2])  a = 1;                               

else  a = 0;                                  

          end                                                 

endmodule

6.13简要说明仿真时阻塞赋值与非阻塞赋值的区别。

6.14 举例说明VerilogDHL语言中的标量与向量定义及作用。

6.15 数字系统描述有哪些层级,各有什么特点,用硬件描述语言设计数字电路有什么优势?

6.16 在VerilogHDL中哪些类型语句是并发执行的?

6.17 VerilogHDL与计算机程序设计语言主要区别。

6.18 在VerilogHDL中的哪些类型语句是顺序执行的?

6.19注解说明下列每行代码的功能作用,并分析整个模块基本功能

module count(out,data,load,reset,clk);                            

output[7:0] out;                                             

input[7:0] data;                                             

input load,clk,reset;                                         

reg[7:0] out;                                                

always @(posedge clk)                                      

   begin                                                 

   if(!reset) out=8’h00;                                     

   else  if(load) out=data;                                  

   else            out=out+1;                                      

   end                                                   

endmodule                                               

第7章习题

7.1  Verilog支持哪几种描述方式,各有什么特点?(结构、数据流、行为)

7.2  分别用结构描述和行为描述方式设计一个基本的D触发器,并进行综合。

7.3  分别用结构描述和行为描述方式设计一个JK触发器,并进行综合。

7.4  试编写同步模5计数器程序,有进位输出和异步复位端。(参考最后一次实验四)

7.5  编写4位串/并转换程序。(参考P183页)

7.6  编写4位并/串转换程序。(参考P183页)

7.7  编写4位除法电路程序。

7.8 举例说明门级描述代码设计方法(参考第7章例子)

7.9 举例说明行为描述代码设计方法(参考第7章例子)

7.10 举例说明数据流描述代码设计方法(参考第7章例子)

7.11 用VerilogHDL描述下图所示的组合逻辑电路

7.12 给出描述D触发器代码和逻辑图描述

7.13给出2输入多路选择器的码描述逻辑符号。

module MUX2(outf, ina, inb, sel);

output outf;

input ina, inb, sel;

assign outf = sel ? inb : ina;

endmodule

7.14 给出出下列代码所描述的电路功能,并画出其逻辑框。

module  voter7(pass,vote);

output  pass;

input[6:0]  vote;

reg[2:0]  sum;

integer  i;reg  pass;

always @(vote)

     begin  

sum=0;

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

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

if(sum[2])  pass=1;       

else        pass=0;

     end

endmodule

endmodule

第8章习题

8.1 用状态机设计一个带同步复位的十进制计数器,并写出测试程序。(参考最后一次实验四)

8.2 设计实现一个功能类似74LS160的电路。

8.3 设计一个可预置的16进制计数器,并仿真。

8.4 设计一个“1101”序列检测器。

8.5 用Verilog编写一个用7段数码管交替显示26个英文字母的程序,自己定义字符的形状。

8.6 设计一个乐曲演奏电路,实现乐曲“铃儿响叮当”的循环演奏,可将音符数据存于ROM模块中。

8.7 在实现第6题的基础上增加曲目,在同一个ROM模块中装上多首歌曲,可手动或自动选择歌曲。

8.8 设计实现一个简易电子琴,敲击不同的按键可发出相应的音调,同时将音符显示在数码管上。

8.8 画出下列代码所描述的电路图(参考P1355.2

module MUX3(out, a, b, sel);

output out;

input a, b, sel;

assign out = sel ? b : a;

endmodule

8.9 用VerilogHDL描述下图所示的全加器电路功能P1737.12

8.10 写出用全加器模块级联实现多位加法器功能的代码。P1757.17

8.11 用VerilogHDL描述下图所示的组合逻辑电路(参考P1717.6

8.12 用Verilog描述D触发器代码

module  block(d,q,clk);

output  q;

input  clk,a;

reg  q;

always @(posedge clk)

      begin

           q=>d;

      end

endmodule

8.13 用always行为语句和if-else语句描述下图所示数据选择器(参考P146条件语句)

8.14 用CASE语句试编写一个表决电路,同意为输入1,不同意输入0,同意过半数(>=5)表决通过亮绿灯,不通过亮红灯。(参考P148CASE语句)

8.15 设计实现一个8位串行移位寄存器的电路,含并行输出端。(参考D触发器代码,多触发器级联)

8.16 设计下图所示多位加法器的功能代码。(参考习题8.228.23

8.17 设计一个8位带同步置位和清0的同步计数器。(参考P1486.15

8.18 always、case语句设计一个4选1多路选择器(参考实验)

8.19 设计一个3-8译码器(参考7段码)

8.20 设计一个4-16译码器(参考7段码)

8.22 设计一个4位BCD码输入的7段数码管显示的译码电路(参考实验)

8.23  设计一个带同步清0的8位同步计数器。

8.24 .用CASE语句试编写3-8译码器,即3位地址输入,8条地址译码选通线输出。

8.25 用VerlogHDL设计一个带同步清0输入控制端的8位同步计数器,并画出仿真波形图。

8.26 .用HDL语言设计一个8比特寄存器,含8位数据输入、8位锁存输出、一个输出允许端,一个数据写入锁存端。

8.27 用CASE语句设计一个4位BCD码输入的7段数码管显示的译码电路,真值表所描述BCD码转换为七段数码的电路。

其他补充练习题

填空

1.写出数值为11011011b的二进制Verilog整数常量表达式:                 

2.用Verilog定义一标量a:                 

3.定义一个容量为128,字长为32位的存储器MYMEM:                 

4.写出数值为110011b的二进制Verilog整数常量表达式:                 

5.可编程器件分为                                   

6.可编程器件分为                                  

7.把变量a值菲阻塞性赋值给变量b语句为:                 

8.把变量a值阻塞性赋值给变量b语句为:                 

9.若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @(            )。

10.可编程器件分为                                  

11.定义参数Delay_time, 参数值为8:                 

12.定义一个32位的寄存器MYREG:                 

13.定义一个容量为128,字长为32位的存储器MYMEM:                  

14.用EDA技术进行电子系统设计的目标是最终完成                 的设计与实现。

15.早期电子系统设计多基于通用的中小规模集成电路元件库,设计方法多采用自底向上的设计方法,而随着EDA技术的不断完善与成熟,

                              的设计方法更多的被应用。

16.若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @(            )。

17.定义一个名为address的16位reg型变量,并将该变量的值赋为十进制数128:                      

18.定义一个名为DELAY的时间变量:                 

19.用Verilog定义一位宽为4的向量b:                 

20.早期电子系统设计多基于通用的中小规模集成电路元件库,设计方法多采用自底向上的设计方法,而随着EDA技术的不断完善与成熟,

                              的设计方法更多的被应用。

选择

1.下列标识符中,___   ____是合法,____   ___是错误的?

A  Cout   B  8sum     C  \a*b    D _data

E  \wait, F  initial  G  $latch

2.下列数字的表达式中,______   _是正确的,___   ____是错误的?

A 6’d18    B ‘Bx0    C  5’b0x110, D ‘da30, E  10’d2, F ‘hzF

3.下列标识符中,__________是不合法的标识符。

A.9moon         B.State0          C. Not_Ack_0             D. signall

4. reg[7:0] mema[255:0]正确的赋值是(A )

A、mema[5]=3’ d0,  B、8’ d0;  C、1’ b1;   D、mema[5][3:0]=4’ d1

5. “a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )

A、a&b=0   B、a&&b=1   C、b&a=x   D、b&&a=x

6. aways  begin  #5  clk=0;#10 clk=~clk;end产生的波形( A )

A、占空比1/3    B、clk=1     C、clk=0     D、周期为10

7. 下列标示符哪些是合法的(B  )

A、$time    B、_date     C、8sum      D、mux#

8. 现网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是( A

A、4’b1101   B、4’b0011   C、4’bxx11   D、4’bzz11

9. 若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B  )

A、current value=1001,a=09        B、current vale=1001,a=9

C、1001,9                       D、current vale=00…001001,a=9

10. reg[7:0] mema[255:0]正确的赋值是(A

A、mema[5]=3’ d0,  B、8’ d0;  C、1’ b1;   D、mema[5][3:0]=4’ d1

11.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→  综合→(___     __)→(         )→适配→编程下载→硬件测试。

A功能仿真      B 时序仿真         C逻辑综合 D配置   E分配管脚

12.下列语句中,不属于并行语句的是:_______

A.过程语句    B.assign语句      C.元件例化语句       D.case语句

13. 在Verilog中定义了宏名 `define sum a+b+c 下面宏名引用正确的是(C)

A、out=’sum+d;    B、out=sum+d;    C、out=`sum+d;    D、都正确

14. 如果线网类型变量说明后未赋值,起缺省值是(D  )

A、x     B、1     C、0     D、z

15. 如果线网类型变量说明后未赋值,起缺省值是(D  )

A、x     B、1     C、0     D、z

16.大规模可编程器件主要有 FPGACPLD两类,下列对FPGA结构与工作原理的描述中,正确的是(        )

AFPGA全称为复杂可编程逻辑器件

BFPGA是基于乘积项结构的可编程逻辑器件

C.基于SRAMFPGA器件,在每次上电后必须进行一次配置

D.在Altera公司生产的器件中,MAX7000系列属FPGA结构    

17.下列语句中,不属于并行语句的是:_______

A.过程语句    B.assign语句      C.元件例化语句       D.case语句

18.下列标识符中,__________是不合法的标识符。

A9moon         BState0          C Not_Ack_0             D signall

19.下列标识符中,___   ____是合法,____   ___是错误的?

A  Cout   B  8sum     C  \a*b    D _data

E  \wait, F  initial  G  $latch

20.下列数字的表达式中,______   _是正确的,___   ____是错误的?

A 6’d18    B ‘Bx0    C  5’b0x110, D ‘da30, E  10’d2, F ‘hzF

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月6日
下一篇 2023年12月6日

相关推荐