文档库 最新最全的文档下载
当前位置:文档库 › Verilog复习。题

Verilog复习。题

Verilog复习。题
Verilog复习。题

Verilog复习题

一、填空题

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

2. 可编程器件分为 ________和_________。

3. 随着EDA技术的不断完善与成熟,__________的设计方法更多的被应用于Verilog HDL 设计当中。

4. 目前国际上较大的PLD器件制造公司有________和_________公司。

5. 完整的条件语句将产生_______电路,不完整的条件语句将产生________电路。

6. 阻塞性赋值符号为___<=______ ,非阻塞性赋值符号为_____=______ 。

7.有限状态机分为________和_________两种类型。

8、EDA缩写的含义为___电子设计自动化____

9.状态机常用状态编码有________、_________和____________。

10.V erilog HDL中任务可以调用_______和________。

11.系统函数和任务函数的首字符标志为________,预编译指令首字符标志为________。12.可编程逻辑器件的优化过程主要是对__________和_______的处理过程。

13、大型数字逻辑电路设计采用的IP核有________、________和_________。

二、选择题

1、已知“a =1b’1; b=3b'001;”那么{a,b}=(C )

(A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101

2、在verilog中,下列语句哪个不是分支语句?(D)

(A) if-else (B) case (C) casez (D) repeat

3、Verilog HDL语言进行电路设计方法有哪几种(8分)

①自上而下的设计方法(Top-Down)

②自下而上的设计方法(Bottom-Up)

③综合设计的方法

4、在verilog语言中,a=4b'1011,那么 &a=(D )

(A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0

5、在verilog语言中整型数据与( C )位寄存器数据在实际意义上是相同的。

(A) 8 (B) 16 (C) 32 (D) 64

6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是_______ 。

A.FPGA全称为复杂可编程逻辑器件;

B.FPGA是基于乘积项结构的可编程逻辑器件;

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

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

7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化_________。

①流水线设计

②资源共享

③逻辑优化

④串行化

⑤寄存器配平

⑥关键路径法

A.①③⑤ B.②③④ C.②⑤⑥ D.①④⑥

8、下列标识符中,____A______是不合法的标识符。

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

9、下列语句中,不属于并行语句的是:___D____

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

6、10、P,Q,R都是4bit的输入矢量,下面哪一种表达形式是正确的

1)input P[3:0],Q,R;

2)input P,Q,R[3:0];

3)input P[3:0],Q[3:0],R[3:0];

4)input [3:0] P,[3:0]Q,[0:3]R;

5)input [3:0] P,Q,R;

11、请根据以下两条语句的执行,最后变量A中的值是_______。

reg [7:0] A;

A=2'hFF;

① 8'b0000_0011 ② 8'h03 ③ 8'b1111_1111 ④ 8'b11111111

三、简答题

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

答:(1)非阻塞(non_blocking)赋值方式

赋值符号为“<=”,如:b<= a;

非阻塞赋值在整个过程块结束时才完成赋值操作,即b的值并不是立刻就改变的。

(2)阻塞(blocking)赋值方式

赋值符号为“=”,如:b= a;

阻塞赋值在该语句结束时就立即完成赋值操作,即b的值在该条语句结束后立刻改变。

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

根据内部结构不同可分为摩尔型状态机和米里型状态机两种。摩尔型状态机的输出只由当前状态决定,而次态由输入和现态共同决定;米里型状态机的输出由输入和现态共同决定,而次态也由输入和现态决定。

状态编码主要有三种:连续二进制编码、格雷码和独热码。

3、简述基于数字系统设计流程包括哪些步骤?

包括五个步骤:

⑴、设计输入:将设计的结构和功能通过原理图或硬件描述语言进行设计或编程,进行语法或逻辑检查,通过表示输入完成,否则反复检查直到无任何错误。

⑵、逻辑综合:将较高层的设计描述自动转化为较低层次描述的过程,包括行为综合,逻辑综合和版图综合或结构综合,最后生成电路逻辑网表的过程。

⑶、布局布线:将综合生成的电路网表映射到具体的目标器件中,并产生最终可下载文件的过程。

⑷、仿真:就是按照逻辑功能的算法和仿真库对设计进行模拟,以验证设计并排除错误的过程,包括功能仿真和时序仿真。

⑸、编程配置:将适配后生成的编程文件装入到PLD器件的过程,根据不同器件实现编

程或配置。

4、简述Verilog HDL编程语言中函数与任务运用有什么特点?

函数和任务都能独立完成相应电路功能,通过在同一模块中的调用实现相应逻辑电路功能。但它们又有以下不同:

⑴、函数中不能包含时序控制语句,对函数的调用,必须在同一仿真时刻返回。而任务可以包含时序控制语句,任务的返回时间和调用时间可以不同。

⑵、在函数中不能调用任务,而任务中可以调用其它任务和函数。但在函数中可以调用其它函数或函数自身。

⑶、函数必须包含至少一个端口,且在函数中只能定义input端口。任务可以包含0个或任何多个端口,且可以定义input、output和inout端口。

⑷、函数必须返回一个值,而任务不能返回值,只能通过output 或inout端口来传递执行结果。

5、简述FPGA与CPLD两种器件应用特点。

CPLD与FPGA都是通用可编程逻辑器件,均可在EDA仿真平台上进行数字逻辑电路设计,它们不同体现在以下几方面:

⑴FPGA集成度和复杂度高于CPLD,所以FPGA可实现复杂逻辑电路设计,而CPLD 适合简单和低成本的逻辑电路设计。

⑵、FPGA内主要由LUT和寄存器组成,倾向实现复杂时序逻辑电路设计,而CPLD 内主要由乘积项逻辑组成,倾向实现组合逻辑电路设计。

⑶、FPGA工艺多为SRAM、flash等工艺,掉电后内信息消失,所以该类型需外配存储器,而CPLD工艺多为EEPROM等工艺,掉电后信息不消失,所以不用外配存储器。

⑷、FPGA相对CPLD成本高,但都可以在内都镶嵌硬核和软核,实现片上系统功能。

四、计算题

1、利用有限状态机,以格雷码编译方式设计一个从输出信号序列中检测出101信号的电路图,其方块图、状态图和状态表如图表示。

2、程序注解,并说明整个程序完成的功能。

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

3、设计一个带有异步复位控制端和时钟使能控制端的10进制计数器。端口设定如下:输入端口:CLK:时钟,RST:复位端,EN:时钟使能端,LOAD:置位控制端, DIN:置位数据端;输出端口:COUT:进位输出端,DOUT:计数输出端。

4、下面是通过case语句实现四选一电路部分程序,将横线上的语句补上,使程序形成完整功能。

3、标注各语句功能,指出整个程序完成的电路功能。

module FF(clk,clr,in,out);

input clk,clr,in;

output [7:0]out; reg [7:0] out;

always @(posedge clk) begin

if(clr==0) out<=8’h0000;

else out<=out<<1;

out<={out[7:1],in};

end

endmodule

4、根据图3给定的两个2位全加器信号关系及实现的4位全加器功能部分程序,在下列部分程序中的横线上填入必要语句,实现4位全加器的完整功能。

5、根据下列给定的仿真输入输出波形图2,说明完成此功能的电路是什么功能电路?并写出对应的Verilog HDL 描述程序(图中clk,clr 为输入,q,c 为输出)。

6、采用结构描述方法设计一个二进制数字半加器,输入数据ai 与bi ,并将和输出到so ,进

由输入输出逻辑表达式,采用与门and 和异或门xor 进行结构描述的程序如下:(6分) module hadd (ai,bi,so,co); input ai,bi; output so,co; xor(so,si,ci); and(co,ai,bi); endmodule

6、采用结构描述方法设计一个二进制数字比较器,比较输入数据a 与b 的大小,并分别输出到x ,y 和z ,给出详细设计过程。

7、采用结构描述方法设计一个3人竞选数字电路,输入数据[2:0]x ,要求2人以上为1表示通过,且输出为y 为1,否则输出相反,给出详细设计过程。

aibi co bi ai bi ai bi ai so =⊕=+=,

Verilog期末复习

Verilog期末总复习 考试时间: ?2010年12月15日星期三上午8:00—9:35随堂考 考试内容: ?凡是课堂讲过的内容都有可能考 ?重点是对基本语法的掌握能力和实际应用能力 ?本课件不规划考试大纲,切勿仅仅据此复习 试题类型: ?填空40% ?简答读代码画波形等40% ?综合写代码题20% 复习内容(一) 第一章 ? 1.1绪论,硬件描述语言VerilogHDL的发展和特点 ? 1.2 超大规模集成电路设计流程 第二章简单的Verilog HDL模块和测试 第三章 ? 3.1数据类型及变量常量 ? 3.2运算符和表达式 ? 3.3数据流建模 ? 3.4 门级结构描述 ? 3.5行为建模和块语句 ? 3.6过程性赋值语句 ? 3.7条件语句和循环语句 ? 3.8系统任务和函数 ? 3.9结构建模、编译预处理及用户定义原语 第四章有限状态机和可综合风格的VerilogHDL ? 4.1 有限状态机建模(一) ? 4.2 采用有限状态机高级建模(二) ? 4.3编码规范和可综合代码 第五章可重用设计、可综合设计

Verilog HDL的应用 ?系统级(system): 用高级语言结构实现设计模块的外部性能的模 ?算法级(algorithmic): 用高级语言结构实现设计算法的模型。 ?RTL级(Register Transfer Level): 描述数据在寄存器之间流动和如何处理这些数据的模型。 ?门级(gate-level): 描述逻辑门以及逻辑门之间的连接的模型。 ?开关级(switch-level): 描述器件中三极管和储存节点以及它们之间连接的模型。 合法和非法标识符 合法的:非法的: shift_reg_a 34net bus263 2_m_pmos //不能用数字开头 \32100 a*b_net //不能含有非字母符号* _a_bus n@263 //不能含有非字母符号@ \initial Verilog 是大小写敏感的。所谓标识别符就是用户为程序描述中的Verilog 对象所起的名字。 标识符必须以英语字母(a-z, A-Z)起头,或者用下横线符(_ )起头。其中可以包含数字、$符和下横线符。 特别标识符是用“\”符开始,以空格符结束的标识符。它可以包含任何可打印的ASCII字符。 例如 以下不正确的标识符名称是 ?Sad_66 ?\32100 ?_a_bus ?\initial ?/data_out ?Module ?2_m_pmos 存储器memory型变量 存储器memory型 用一个寄存器数组来对存储器建模。 格式: reg [msb:lsb] 存储器名[upper1:lower1]; 如: reg [3:0] MyMem [63:0]; // 64个四位寄存器组 如果要声明一个存储器变量,存储单元大小为8位,一共2048个存储单元,存储单元名称为mem,代码描述为: ?reg [7:0] mem[2047:0] 举例说明数据类型的选择

Verilog期末复习题

Verilog 复习题 一、填空题 1.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。 2.可编程器件分为CPLD和FPGA。 3 . 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于VerilogHDL 设计当中。 4 . 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。 5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。 6.阻塞性赋值符号为=,非阻塞性赋值符号为<=。 7.有限状态机分为Moore和Mealy两种类型。 8、EDA缩写的含义为电子设计自动化(ElectronicDesignAutomation) 9.状态机常用状态编码有二进制、格雷码和独热码。 10.VerilogHDL 中任务可以调用其他任务和函数。 11.系统函数和任务函数的首字符标志为$ ,预编译指令首字符标志 为 12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。 # 。 二、选择题 1、已知“a=1b’1;b=3b'001;”那么{a,b}=( C ) (A)4b'0011(B)3b'001(C)4b'1001(D)3b'101 2、在verilog 中,下列语句哪个不是分支语句? ( D ) (A)if-else(B)case(C)casez(D)repeat 3、VerilogHDL 语言进行电路设计方法有哪几种 ( ①自上而下的设计方法( Top-Down) ②自下而上的设计方法( Bottom-Up) 8分) ③综合设计的方法 4、在verilog语言中,a=4b'1011,那 么 &a=(D ) (A)4b'1011(B)4b'1111(C)1b'1(D)1b'0 5、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。 (A)8(B)16(C)32(D)64 6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化___B______。 ①流水线设计 ②资源共享 ③逻辑优化

Verilog试题 A答案

北京航空航天大学 2011 ~2012 学年第二学期 数字EDA 期末考试试卷 ( 2012 年 5 月 23 日) 班级:__________;学号:______________;姓名:__________________;成绩:___________ 注意事项:1、填空题与选择题直接在试题上作答 2、设计题在答题纸上作答 正题: 一、填空题(共30分,每道题3分) 1. 写出表达式以实现对应电路的逻辑功能。 F 2. 根据图中输入输出关系将Verilog 模块定义补充完整,其中信号A 为5比特宽度,其余信号为1比特宽度。 A 宽 3. IEEE 标准的硬件描述语言是 verilog HDL 和 VHDL 。 4. 你所知道的可编程逻辑器件有(至少两种): FPGA, CPLD, GAL, PAL (任写其二) 。 5. 假定某4比特位宽的变量a 的值为4’b1011,计算下列运算表达式的结果 6. Verilog 语言规定了逻辑电路中信号的4种状态,分别是0,1,X 和Z 。其中0表示低电平状态,1表示高电平状态,X 表示 不定态(或未知状态) ,Z 表示 高阻态 。 assign F= E ^ ( (A&B) | (!(C&D))) module tblock( A,B,C ) ; output [4:0] A; input B; inout C; …… //省略了功能描述 endmodule //模块结束 &a = 1’b0 ~a = 4’b0100 {3{a}} = 12’b101110111011 {a[2:0],a[3]} = 4’b0111 (a<4’d3) || (a>=a) = 1’b1 !a = 1’b0

数字系统设计与verilog_HDL_王金明_第四版__EDA期末知识点复习(宁波工程学院电科版)

1、采用硬件描述语言(HDL)进行电路设计的优势。 1)更适合用于描述规模大、功能复杂的数字系统 2)语言标准化、便于设计的复用、交流、保存和修改 3)设计与工艺的无关性,宽范围的描述能力,便于组织大规模、模块化的设计 2、Verilog模块的结构 模块声明:包括模块名字、模块输入、输出端口列表,结束关键字为endmodule 端口定义:格式为:input: 端口名1,端口名2…端口名n; output: 端口名1,端口名2…端口名n; inout: 端口名1,端口名2…端口名n; 3、标识符是用户在编程时给verilog对象起的名字,模块、端口和实例的名字都是标识符。标识符可以是任意一组字母、数字以及符号“$”和“_”的组合,但标识符的第一个字符必须是字母(a-z,A-Z)或者是下划线“_”,标识符最长可包含1023个字符,此外,标识符区分大小写。 4、整数写法:+/- 1、在较长的数之间可用下划线分开 2、当数字不说明位宽时,默认值为32位 3、X或(z)在二进制中代表1位x(或z),在八进制中代表3位,在16进制中代表4位 4、如果没有定义一个整数的位宽,其宽度为相应值中定义的位数。 5、如果定义的位宽比实际的位数长,通常在左边填0补位,但如果最左边一位为x或z,就相应的用x或z左边补位。 6、“?”是高阻态z的另一种表示符号,在数字的表示中,字符“?”和z是完全等价的,可相互代替。 7、整数可以带符号,并且正负号应写在最左边,负数通常表示为二进制补码的形式。 8、当位宽与进制缺省时表示的是10进制数 9、在位宽和‘之间,以及进制和数值之间允许出现空格,但’和进制之间以及数值之间是不能出现空格的。 要求掌握整数正确的书写方式。 5、向量:宽度大于1位的变量; 标量:宽度为1位的变量。 定义2个8位reg型矢量:reg [7:0] ra, rb; 6、运算符 (1)注意:逻辑运算符,例如逻辑与&&、逻辑或||、逻辑非!,运算结果是1位的。如果操作数不止1位的话,则应将操作数作为一个整体来对待,即如果操作数全是0,则相当于逻辑0,但只要某一位是1,则操作数就应该整体看作逻辑1。 例如:若A = 4’b0000, B = 4’b0101,则有: A && B = 0; (2)位拼接运算符:{ }将两个或多个信号的某些位拼接起来 7、initial语句和always语句的区别:initial语句常用于仿真中的初始化,initial过程块中的语句只执行一次,不带触发条件;always块内的语句则是不断重复执行的,Always过程语句是可综合的,带有触发条件。 8、posedge:上升negedge:下降 弄清楚同步和异步的概念。 例如:如果Nreset和Nset是异步,时钟clock上升沿触发。

Verilog期末复习题[优质文档]

Verilog复习题 一、填空题 1. 用EDA技术进行电子系统设计的目标是最终完成 2. 可编程器件分为CPLD和FPGA。 3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。 4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。 5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。 6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。 7.有限状态机分为Moore和Mealy两种类型。 8、EDA 9.状态机常用状态编码有二进制、格雷码和独热码。 10.V erilog HDL中任务可以调用其他任务和函数。 11.系统函数和任务函数的首字符标志为$,预编译指令首字符标志为#。 12.可编程逻辑器件的优化过程主要是对速度和资源的处理过程。 13、大型数字逻辑电路设计采用的IP核有软IP、固IP和硬IP。 二、选择题 1、已知“a =1b’1; b=3b'001;”那么{a,b}=(C ) (A) 4b'0011 (B) 3b'001 (C) 4b'1001 (D) 3b'101 2、在verilog中,下列语句哪个不是分支语句?( D ) (A) if-else (B) case (C) casez (D) repeat 3、Verilog HDL语言进行电路设计方法有哪几种(8分) ①自上而下的设计方法(Top-Down) ②自下而上的设计方法(Bottom-Up) ③综合设计的方法 4、在verilog语言中,a=4b'1011,那么 &a=(D ) (A) 4b'1011 (B) 4b'1111 (C) 1b'1 (D) 1b'0 5、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。 (A) 8 (B) 16 (C) 32 (D) 64 6、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 7. 子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化___B______。 ①流水线设计 ②资源共享 ③逻辑优化 ④串行化 ⑤寄存器配平

VerilogHDL的入门学习(可编辑修改word版)

先记下来: 1、不使用初始化语句; 2、不使用延时语句; 3、不使用循环次数不确定的语句,如:forever,while 等; 4、尽量采用同步方式设计电路; 5、尽量采用行为语句完成设计; 6、always 过程块描述组合逻辑,应在敏感信号表中列出所有的输入信号; 7、所有的内部寄存器都应该可以被复位; 8、用户自定义原件(UDP 元件)是不能被综合的。 一:基本 Verilog 中的变量有线网类型和寄存器类型。线网型变量综合成wire,而寄存器可能综合成WIRE,锁存器和触发器,还有可能被优化掉。 二:verilog 语句结构到门级的映射 1、连续性赋值:assign 连续性赋值语句逻辑结构上就是将等式右边的驱动左边的结点。因此连续性赋值的目标结点总是综合成由组合逻辑驱动的结点。Assign 语句中的延时综合时都将忽视。 2、过程性赋值: 过程性赋值只出现在always 语句中。 阻塞赋值和非阻塞赋值就该赋值本身是没有区别的,只是对后面的语句有不同的影响。 建议设计组合逻辑电路时用阻塞赋值,设计时序电路时用非阻塞赋值。 过程性赋值的赋值对象有可能综合成wire, latch,和flip-flop,取决于具体状况。如,时钟控制下的非阻塞赋值综合成flip-flop。 过程性赋值语句中的任何延时在综合时都将忽略。 建议同一个变量单一地使用阻塞或者非阻塞赋值。 3、逻辑操作符: 逻辑操作符对应于硬件中已有的逻辑门,一些操作符不能被综合:===、!==。 4、算术操作符: Verilog 中将reg 视为无符号数,而integer 视为有符号数。因此,进行有符号操

作时使用integer,使用无符号操作时使用reg。 5、进位: 通常会将进行运算操作的结果比原操作数扩展一位,用来存放进位或者借位。如:Wire [3:0] A,B; Wire [4:0] C; Assign C=A+B; C 的最高位用来存放进位。 6、关系运算符: 关系运算符:<,>,<=,>= 和算术操作符一样,可以进行有符号和无符号运算,取决于数据类型是reg,net 还是integer。 7、相等运算符:==,!= 注意:===和!==是不可综合的。 可以进行有符号或无符号操作,取决于数据类型 8、移位运算符: 左移,右移,右边操作数可以是常数或者是变量,二者综合出来的结果不同。 9、部分选择: 部分选择索引必须是常量。 10、BIT 选择: BIT 选择中的索引可以用变量,这样将综合成多路(复用)器。 11、敏感表:Always 过程中,所有被读取的数据,即等号右边的变量都要应放在敏感表中,不然,综合时不能正确地映射到所用的门。 12、IF: 如果变量没有在IF 语句的每个分支中进行赋值,将会产生latch。如果IF 语句中产生了latch,则IF 的条件中最好不要用到算术操作。Case 语句类似。Case 的条款可以是变量。 如果一个变量在同一个IF 条件分支中先赎值然后读取,则不会产生latch。如果先读取,后赎值,则会产生latch。 13、循环: 只有for-loop 语句是可以综合的。

VerilogHDL期末复习

文件扩展名为v,大小写敏感;所有关键字必须小写; 标识符(区分大小写) 合法字符:26个大小写英文字母;数字0-9;下划线;$等; 命名规则:以英文字母或下划线开头;不能出现两条(或以上)连续的下划线;不能和关键字重复。 数据对象: 1、常数:整数、实数和字符串。整数可综合,实数和字符串不可综合。 (1)整数:<位宽>’<进制符号><数字> 位宽:数字对应的二进制数的位数; 进制符号包括:b或B(二进制),d或D(十进制),o或O(八进制),h或H(十六进制)。 数字中间可用下划线分隔,提高可读性。 十进制数的位宽和进制符号可省略。 若只标进制,未注明位宽,则位宽为(单个位的该进制数对应二进制位宽*该进制数的位数)。 若指明的位宽比数字需要的位宽小,则从左边(高位)截去多余位。 除十进制外,数字中可用x或X(未知),z或Z(高

阻)。位数由所在数字格式决定。如'hfx等价于'b1111xxxx 整数可在其前面加负号,负数的实际值为其对应的二进制补码。 (2)实数 (3)字符串 2、变量 (1)网络型(net type) net型变量的输出值始终根据输入变化而变化,一般用来定义硬件电路中的各种连线。 wire型变量是net型变量中最常用的一种,其取值可以是0、1、x或z。 wire、tri:连线类型,功能完全相同;tri名称仅为增加程序可读性,表示综合后电路有三态功能。 wor、trior:具有线或特性的连线,功能相同。 wand、triand:具有线与特性的连线,功能相同。 tri1、tri0:分别为上拉电阻和下拉电阻。 supply1、supply0:分别为电源(逻辑1)和地(逻辑0)。 (2)寄存器型(register type) reg:常用的寄存器型变量。(可综合) integer:32位带符号整数型变量。(不同资料中可

(完整word版)Verilog-A30分钟快速入门教程

?Verilog-A 30分钟快速入门教程 进入正题,学了几天的Verilog-A,平台是Agilent ADS,主要参考“Verilog-AMS Language Reference Manual”和ADS的帮助文档。 现在的状态算是入门了,写了个简单的PLL。总结这几天的学习,觉得效率太低,我以前有一定Verilog基础,研一时学过一点VHDL-AMS,学到现在这个状态应该半天就够了;入门的话,30分钟足矣;跟着这个教程走,你会很快了解和熟悉Verilog-A。(前提是有一定的Verilog基础和电路基础) 1、基尔霍夫定律撑起了整个电路学的大厦(当然也可以认为基尔霍夫定律只是麦克斯韦方程的简化版),作为模拟电路描述语言Verilog-A,同样将基尔霍夫定律作为其基本,最重要的两个概念便是流量(Flow)和位(Potential),在电学里是电流和电压,在力学里可以是力和距离,在热学里可以是功率和温差,等等。 在Verilog-A中,你可以将电阻电容电感等器件用一个方程式来表述,比如I(out) <+ V(out)/R,这样就产生了一个电阻,最后Verilog-A仿真器会用某种算法(迭代是最常见的)将I(out)和V(out)求解出来,然后根据这个解去算下一个时刻的I、V等,当然这仅仅是指时域仿真。 2、下面讲Verilog-A的语法: begin end //相当于C语言的一对大括号,与Verilog同 if ( expression ) true_statement ; [ else false_statement ; ] //与Verilog同 case ( expression ) case_item { case_item } endcase for ( procedural_assignment ; expression; procedural_assignment ) statement //case与for语句都跟Verilog、C语言类似 cross( expr [, dir [, time_tol [, expr_tol ]]] ); //cross用来产生一个event,如: @(cross(V(sample) -2.0, +1.0)) //指sample的电压超过2.0时触发该事件,将会执行后面的语句,+1.0表示正向越过,-1.0则相反 ddt( expr ) //求导,如: I(n1,n2) <+ C * ddt(V(n1, n2)); //表示了一个电容 idt( expr ,[ ic [, assert [, abstol ]]] ) //积分,如: V(out) <+ gain * idt(V(in) ,0) + gain * V(in); //比例积分,式中的0表示积分的初值 transition( expr [, time_delay [, rise_time [, fall_time [, time_tol ]]]] ) //将expr的值delay一下并指定上升下降沿时间,相当于一个传输门

Verilog-A 30分钟快速入门教程

?进入正题,学了几天的Verilog-A,平台是Agilent ADS,主要参考“Verilog-AMS L anguage Reference Manual”和ADS的帮助文档。 现在的状态算是入门了,写了个简单的PLL。总结这几天的学习,觉得效率太低,我以前有一定Verilog基础,研一时学过一点VHDL-AMS,学到现在这个状态应该半天就够了;入门的话,30分钟足矣;跟着这个教程走,你会很快了解和熟悉Verilog-A。(前提是有一定的Verilog 基础和电路基础) 1、基尔霍夫定律撑起了整个电路学的大厦(当然也可以认为基尔霍夫定律只是麦克斯韦方程的 简化版),作为模拟电路描述语言Verilog-A,同样将基尔霍夫定律作为其基本,最重要的两个概念便是流量(Flow)和位(Potential),在电学里是电流和电压,在力学里可以是力和距离,在热学里可以是功率和温差,等等。 在Verilog-A中,你可以将电阻电容电感等器件用一个方程式来表述,比如I(out) <+ V(o ut)/R,这样就产生了一个电阻,最后Verilog-A仿真器会用某种算法(迭代是最常见的)将I(o ut)和V(out)求解出来,然后根据这个解去算下一个时刻的I、V等,当然这仅仅是指时域仿真。 2、下面讲Verilog-A的语法: begin end //相当于C语言的一对大括号,与Verilog同 if ( expression ) true_statement ; [ else false_statement ; ] //与Verilog同 case ( expression ) case_item { case_item } endcase for ( procedural_assignment ; expression; procedural_assignment ) statement //case与for语句都跟Verilog、C语言类似 cross( expr [, dir [, time_tol [, expr_tol ]]] ); //cross用来产生一个event,如:

EDA-VerilogHDL期末必考试题

一、填空题(10分,每小题1分) 1.用EDA技术进行电子系统设计的目标是最终完成 ASIC 的设 计与实现。 2.可编程器件分为FPGA 和 CPLD 。 3.随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL 设计当中。 4.目前国际上较大的PLD器件制造公司有 Altera 和 Xilinx 公司。 5.完整的条件语句将产生组合电路,不完整的条件语句将产生时序 电路。 6.阻塞性赋值符号为=,非阻塞性赋值符号为 <= 。 二、选择题(10分,每小题2分) 1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述 中,正确的是 C 。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 2.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→综合 →_____→→适配→编程下载→硬件测试。正确的是 B 。 ①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚 A.③①B.①⑤C.④⑤D.④② 3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行 速度(即速度优化);指出下列哪些方法是面积优化 B 。

①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法 A.①③⑤B.②③④C.②⑤⑥D.①④⑥ 4.下列标识符中,____A______是不合法的标识符。 A.9moon B.State0 C.Not_Ack_0 D.signall 5.下列语句中,不属于并行语句的是:___D____ A.过程语句B.assign语句C.元件例化语句D.case语句 三、EDA名词解释(10分) 写出下列缩写的中文含义: ASIC:RTL: FPGA:SOPC: CPLD:LPM: EDA:IEEE: IP:ISP: 四、简答题(10分) 1.简要说明仿真时阻塞赋值与非阻塞赋值的区别(本题4分)。 2.简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有 哪三种?FSM的三段式描述风格中,三段分别描述什么?(本题6分) 五、程序注解(20分,每空1分) module AAA ( a ,b ); output a ; input [6:0] b ; reg[2:0] sum; integer i; reg a ;

(完整word版)EDA-VerilogHDL期末复习题总结必过

选择题 1.大规模可编程器件主要有FPGA、CPLD 两类,下列对FPGA 结构与工作原理的描述中,正确的是(C)。 A.FPGA 全称为复杂可编程逻辑器件; B.FPGA 是基于乘积项结构的可编程逻辑器件; C.基于SRAM 的FPGA 器件,在每次上电后必须进行一次配置; D.在Altera 公司生产的器件中,MAX7000 系列属FPGA 结构。 2.不完整的IF语句,其综合结果可实现(A) A. 时序逻辑电路 B.组合逻辑电 C. 双向电路 D. 三态控制电路 3.综合是EDA设计流程的关键步骤,在下面对综合的描述中,(D)是错误的。 A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程; B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件; C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束; D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。 4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中, 正确的是( C )。 A.FPGA全称为复杂可编程逻辑器件; B.FPGA是基于乘积项结构的可编程逻辑器件; C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置; D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。 5.以下关于状态机的描述中正确的是(B) A.Moore型状态机其输出是当前状态和所有输入的函数 B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期 C.Mealy型状态机其输出是当前状态的函数 D.以上都不对

3.2.1 Verilog HDL程序入门[共2页]

║68 第3章 硬件描述语言Verilog HDL基础 3.2 Verilog HDL程序基本结构 Verilog HDL是一种用于数字逻辑电路设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。Verilog HDL既是一种行为描述的语言,也是一种结构描述的语言。也就是说,既可以用电路的功能描述,也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下5种。 ?系统级(system):用高级语言结构实现设计模块的外部性能的模型。 ?算法级(algorithm):用高级语言结构实现设计算法的模型。 ?RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理这些数据的模型。 ?门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。 ?开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。 一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下功能。 ?可描述顺序执行或并行执行的程序结构。 ?用延迟表达式或事件表达式来明确地控制过程的启动时间。 ?通过命名的事件来触发其他过程里的激活行为或停止行为。 ?提供了条件、if-else、case、循环程序结构。 ?提供了可带参数且非零延续时间的任务(task)程序结构。 ?提供了可定义新的操作符的函数结构(function)。 ?提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。 ? Verilog HDL语言作为一种结构化的语言也非常适合于门级和开关级的模型设计。因其结构化的特点又使它具有以下功能。 —提供了完整的一套组合型原语(primitive); —提供了双向通路和电阻器件的原语; —可建立MOS器件的电荷分享和电荷衰减动态模型。 Verilog HDL的构造性语句可以精确地建立信号的模型。这是因为在Verilog HDL中,提供了延迟和输出强度的原语来建立精确程度很高的信号模型。信号值可以有不同的强度,可以通过设定宽范围的模糊值来降低不确定条件的影响。 Verilog HDL作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中if语句、case语句等和C语言中的对应语句十分相似。如果读者已经掌握C语言编程的基础,那么学习Verilog HDL并不困难,只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,利用它的强大功能来设计复杂的数字逻辑电路。下面将介绍Verilog

cad期末考试试题及答案

AutoCAD试卷 一、单项选择 1、AutoCAD默认扩展名是 A、dwt B、dwg C、bak D、dxf答案:B 2、在CAD中,以下哪个命令可用来绘制横平竖直的直线 A、栅格 B、捕捉 C、正交 D、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A、F2 B、F8 C、F3 D、F5答案:A 4、默认情况下,命令提示行显示为几行 A、3 B、5 C、2 D、8答案:A 5、在CAD中为一条直线制作平行线用什么命令 A、移动 B、镜像 C、偏移 D、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A、颜色 B、页面设置 C、线宽 D、是否打印答案:B 7、绘制建筑图步骤为 A、墙线、轴线、门窗 B、墙线、门窗、轴线 C、轴线、门窗、墙线 D、轴线、墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合体 A、圆弧 B、构造线 C、多段线 D、样条曲线答案:C 9、如何在图中输入“直径”符号 A、%%P B、%%C C、%%D D、%%U答案:B 10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层 C、所有图层 D、新建的图层答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头 答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项 A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8 答案:B 18、哪种坐标输入法需要用@符号?A.极坐标 B.绝对坐标 C.相对坐标答案:C 19.在命令行中输入“Z”后,再输入选项“A”,什么作用 A.在图形窗口显示所有的图形对象和绘图界限范围。 B.恢复前一个视图 C.显示所有在绘图界限范围内的图形对象 D.显示绘图界限范围答案:A 20.下面哪个命令可将块打散生成图形文件 A、另存为 B、分解 C、重生成 D、插入块答案:B

Verilog语法入门,初学者必看

Verilog的词法约定 1Verilog是大小写相关的,其中的关键字全部为小写。 2空白符由空格、制表符、和换行符组成。 3单行注释以“//”开始,verilog将忽略此处到行尾的内容。多行注释以“/*” 开始,以“*/”结束。多行注释不允许嵌套 4操作符有三种:单目操作符、双目操作符和三目操作符。 5数字声明 Verilog中有两种数字生命:指明位数的数字和不指明位数的数字 指明位数的数字表示形式: Size用来指明数字位宽度,只能用十进制整数表示 Base format包括十进制(’d或’D),二进制(’b或’B),八进制(‘o或’O),十六进制(‘h或’H) 例如 4’b1111 //4位2进制数 12’h3ac //12位16进制数 不指明位数的数字:如果数字说明中没有指定基数,那么默认表示为十进制数。如果没有指定位宽,则默认的位宽度与仿真器和使用的计算机有关(最小为32位)。 ‘o21 //32位八进制数 X值和Z值:不确定值用X表示,高阻用Z值表示。在八进制数中代表3位,十六进制中代表4位。 12’h12X //这是一个12位16进制数,其中低四位不确定 负数:在表示位宽的数字前面增加一个减号来表示它是一个负数。 -6’d3 //一个6位的用二进制补码形式存储的十进制数3,表示负数 -6’sd3 //一个6位的带符号算数运算的负数 下划线符号和问号: 除了第一个字符,下划线“_”可以出现在数字中的任何位置,它的作用只是提高可读性,在编译阶段会被忽略掉 问号“?”是z的另一种表示,使用问号的目的在于增强casex和casez语句的可读性。在这两条语句中,“?”表示不必关心的情况。 12’B1111_0011_1110 // 增强可读性 4’b10?? //相当于4’b10zz 6字符串是双引号括起来的一个字符队列。对于字符串的限制是,它必须在一行中书写完,不可书写在多行中,也不能包含回车符。Verilog将字符串当作一个单字节的ASCII字符队列。 “Hello Verilog world” //是一个字符串 7标识符和关键字 关键字是语言中预留的用于定义语言结构的特殊标识符。Verilog中关键字全部小写。 标识符是程序代码中对象的名字,程序员使用标识符来访问对象。Verilog中标识符由字母数字字符、下划线和美元符号组成,区分大小写。其第一个字符必须是数字字符或下划线。 reg value; //reg是关键字;value是标识符

verilog期末大作业

深圳大学实验报告 课程名称:Verilog HDL及其应用 实验项目名称:波形选择器 学院:电子科学与技术学院 专业:微电子学 指导教师:刘春平 报告人:温志煌学号:2012160228 班级:微电二班实验时间: 实验报告提交时间:

波形选择器 一、实验目的 (1)熟悉Modelsim软件 (2)掌握Modelsim软件的编译、仿真方法 (3)熟练运用Modelsim 软件进行Verilog程序设计开发 二、实验内容及要求 实验原理:在同一个波形里面分别取八个点,用这个八个点的数据还原出对应的波形来,在Verilog中通过建立一个函数分别取这些点数据,然后再通过调用函数得到相对应的波形。 1.实验要求 用Verilog语言设计以下电路,分别产生四种波形:正弦波、方波、三角波1及三角波2。实验要求先在QuartusII里面编译仿真程序,然后再在Modelsim里面仿真产生这四种波形。程序仿真结果示意图如图1所示。 图1.四种波形产生及选择器示意图 2.实验步骤

2.1在QuartusII里的操作步骤: 1)建立一个waveshaper的工程文件 2)以Verilog语言书写waveshaper的源程序 3)编译waveshaper源程序 4)最后再仿真一下这个程序,得到与程序相吻合的数据具体如图所示: 图2. Waveshaper源程序 图3. Waveshaper编译成功

图4. Waveshaper 仿真结果 2.2在Modelsim里的操作步骤: 1)建立waveshaper工程 2)添加两个文件waveshaper跟waveshaper_tp到工程3)分别编译这两个文件 4)在work里面查看编译后的设计单元 5)将信号加入波形窗口 6)运行仿真 其源程序如下: module waveshaper(q,cp,n); output [7:0] q; input cp; input [1:0] n; reg [7:0] q; reg [2:0] Q=3'd0; wire cp,cr; always @ (negedge cp ) begin if(cr) Q<=3'd0; else Q<=Q+3'd1; end always @(Q or n) begin case (n) 0: q=romout({n,Q}); 1: q=romout({n,Q});

VerilogHDL语法基础

Verilog HDL语法基础(1) Verilog的词法约定 1Verilog是大小写相关的,其中的关键字全部为小写。 2空白符由空格、制表符、和换行符组成。 3单行注释以“//”开始,verilog将忽略此处到行尾的内容。多行注释以“/ *”开始,以“*/”结束。多行注释不允许嵌套 4操作符有三种:单目操作符、双目操作符和三目操作符。 5数字声明 Verilog中有两种数字生命:指明位数的数字和不指明位数的数字 指明位数的数字表示形式: Size用来指明数字位宽度,只能用十进制整数表示 Base format包括十进制(’d或’D),二进制(’b或’B),八进制(‘o或’O),十六进制(‘h或’H) 例如 4’b1111 //4位2进制数 12’h3ac //12位16进制数 不指明位数的数字:如果数字说明中没有指定基数,那么默认表示为十进制数。如果没有指定位宽,则默认的位宽度与仿真器和使用的计算机有关(最小为32位)。 ‘o21//32位八进制数 X值和Z值:不确定值用X表示,高阻用Z值表示。在八进制数中代表3位,十六进制中代表4位。 12’h12X //这是一个12位16进制数,其中低四位不确定 负数:在表示位宽的数字前面增加一个减号来表示它是一个负数。 -6’d3//一个6位的用二进制补码形式存储的十进制数3,表示负数 -6’sd3//一个6位的带符号算数运算的负数 下划线符号和问号: 除了第一个字符,下划线“_”可以出现在数字中的任何位置,它的作用只是提高可读性,在编译阶段会被忽略掉 问号“?”是z的另一种表示,使用问号的目的在于增强casex和casez语句的可读性。在这两条语句中,“?”表示不必关心的情况。 12’B1111_0011_1110// 增强可读性 4’b10??//相当于4’b10zz 6字符串是双引号括起来的一个字符队列。对于字符串的限制是,它必须在一行中书写完,不可书写在多行中,也不能包含回车符。Verilog将字符串当作一个单字节的ASCII字符队列。 “Hello Verilog world”//是一个字符串 7标识符和关键字 关键字是语言中预留的用于定义语言结构的特殊标识符。Verilog中关键字全部小写。 标识符是程序代码中对象的名字,程序员使用标识符来访问对象。Verilog中标识符由字母数字字符、下划线和美元符号组成,区分大小写。其第一个字符必须是数字字符或下划线。

EDA期末考试试题

第一部分:填空题 1.一般把EDA技术的发展分为CAD、CAE和EDA三个阶段,并向着ESDA方向发展。 2.EDA技术在应用设计领域主要包含哪四个方面的内容(1)HDL (2)PLD (3)EDA工具软件(4)EDA开发系统。 3.EDA技术的基本特征(1)自顶向下的设计方法;(2)采用硬件描述语言;(3)高层综合和优化;(4)并行工程;(5)开放性和标准化。 4.当前最流行的并成为IEEE标准的硬件描语言是V HDL和Verilog-HDL。 5.什么是PLD? 答: PLD,Programmable-Logic-Device,即可编程逻辑器件。是一种具有内建结构、由用户编程以实现某种逻辑功能的新型逻辑器件。 6.SPLD的基本结构框图是什么? 7.一般CPLD器件至少包含可编程逻辑宏单元,可编程I/O单元和可编程内部连线3种基本结构。 一般FPGA器件至少包含可编程逻辑功能块/CLB、IOB/可编程I/O块和PI/可编程内部互连三类可编程资源。 8.用PROM完成半加器/全加器的示意图。 9.使用方框图示意出采用硬件描述语言设计硬件电路进行由上而下的设计的三个层次为: 10.可编程逻辑器件的发展趋势在哪5个方面(1)向更大规模、更高集成度的片上系统方向发展(2)向低电压、低功耗的绿色器件方向发展(3)向更高速可预测延时的方向发展(4)向在PLD内嵌入多种功能模块的方向发展(5)向模数混合可编程的方向发展11.目前,在PLD器件制造与生产领域的三大公司为Altera、Xilinx和Lattice 12.FPGA的发明者是Xilinx公司;ISP编程技术的发明者是Lattice公司。 13、目前常见的可编程逻辑器件的编程和配置工艺包括基于E2PROM/Flash技术、基于 SRAM查找表的编程单元和基于反熔丝编程单元。 14、基于EPROM、E2PROM和快闪存储(flash)器件的可编程器件,在系统断电后编程信 息不丢失 15、采用SRAM结构的的可编程器件,在系统断电后编程信息丢失 16、V erilog-HDL于1983年推出,是在C语言的基础上演化而来的。 于1995年正式采纳为IEEE标准,其代号为Verilog-HDL1634-1995。 17、一个基本的Verilog-HDL程序由模块构成。 18、一个完整的Verilog-HDL设计模块包括:模块关键字和模块名、端口列表、端口定义、 和功能描述4部分。

相关文档
相关文档 最新文档