verilog期末大作业
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'1012、在verilog 中,下列语句哪个不是分支语句?(D )(A)if-else(B)case(C)casez(D)repeat3、VerilogHDL 语言进行电路设计方法有哪几种(①自上而下的设计方法( Top-Down)②自下而上的设计方法( Bottom-Up)8分)③综合设计的方法4、在verilog语言中,a=4b'1011,那么&a=(D )(A)4b'1011(B)4b'1111(C)1b'1(D)1b'05、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。
Verilog大作业
Verilog大作业
一、作业题目
(0)、流水灯电路
综合组合电路和时序电路知识,设计一个流水灯电路,电路功能要求如下:(1)使用8个小灯,实现周期性流水。
(2)包含四种流水花样。
(3)每次流水间隔1秒。
(4)每个流水花样运行10秒钟之后,自动切换到下一个花样,循环往复。
(5)流水花样使用数码管指示(0,1,2,3分别指示四种花样)。
(1)、抢答器
综合组合电路和时序电路知识,设计一个抢答器电路,电路功能要求如下:(1)八路抢答。
(2)整个工作过程分为出题、抢答、答题三个过程。
(3)电路初始状态为出题状态,出题完毕,主持人按钮可以将电路切换为抢答状态。
(4)在某人抢答成功后,自动进入答题状态,并开始10秒计时,计时结束自动停止计时。
主持人再次使用手动按钮可以将电路状态切换为出题状态。
(2)、数字钟
(1)能够完成时分秒计时。
(2)分钟和小时具有校正功能。
(3)具有闹钟功能。
(3)、红绿灯
(1)模拟十字路口红绿灯运行。
(2)南北、东西双向,只有红灯、黄灯、绿灯三个信号。
(3)每个状态都需要倒计时。
(4)、串行加法器
(1)八位加法器件。
(2)电路中只能使用一个全加器。
二、设计要求
(1)根据老师要求分配题目。
(2)设计中的所有电路,除基本与或非电路外,可能使用软件库中自动的电路。
(3)最终结果要仿真实现。
(4)出设计报告,六月十日之前上交。
最新Verilog-HDL期末考试复习题资料
【第一章】1、FPGA 芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?答:新型芯片的规模越来越大,成本越来越低,低端的FPGA已逐步取代了传统的数字元件。
先进的ASIC生产工艺已经被用于FPGA的生产,越来越丰富的处理器内核被嵌入到高端的FPGA芯片中,基于FPGA的开发成为一项系统级设计工程。
随着半导体制造工艺的不同提高,FPGA的集成度将不断提高,制造成本将不断降低,其作为替代ASIC来实现电子系统的前景将日趋光明。
2、EDA 技术的优势是什么?答:1.用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。
2.EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。
3.某些HDL也是文档型的语言,极大地简化了设计文档的管理。
4.EDA具有日益强大的逻辑设计仿真测试技术,极大地提高了大规模系统电子设计的自动化程度。
5.基于EDA技术的设计,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权。
6.EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议。
良好的可移植与可测试性,为系统开发提供了可靠的保证。
7.EDA技术能将所有设计环节纳入统一的自顶向下的设计方案中。
8.EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整全面的测试。
3、EDA 的设计流程包括哪几个环节?ANS: ①设计输入(原理图/HDL 文本编辑)②综合③FPGA/CPLD 适配④时序仿真与功能门级仿真⑤FPGA/CPLD 编程下载⑥FPGA/CPLD 器件电路硬件检测。
(完整版)Verilog期末复习题
(完整版)Verilog期末复习题Verilog复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成2. 可编程器件分为CPLD和FPGA。
3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。
78、EDA9.状态机常用状态编码有二进制、格雷码和独热码。
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'1012、在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3、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'05、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 646、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA 结构与工作原理的描述中,正确的是___C____ 。
EDA-Verilog HDL期末复习题总结必过
选择题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.以上都不对6.目前应用最广泛的硬件描述语言是(B)。
A. VHDLB. Verilog HDLC. 汇编语言D. C语言7.一模块的I/O 端口说明:“input [7:0] a;”,则关于该端口说法正确的是( A )。
A. 输入端口,位宽为8B. 输出端口,位宽为8C. 输入端口,位宽为7D. 输出端口,位宽为78.基于EDA 软件的FPGA / CPLD 设计流程为:原理图/HDL 文本输入→综合→___ __→→适配→编程下载→硬件测试。
verilog大作业
西安电子科技大学Verilog大作业—自动售邮票机院系:电子工程学院姓名:李岩学号: 1202121468专业:电子与通信工程自动售邮票机1. 题目介绍本设计主要以程序为主,并通过波形仿真来验证程序功能的实现。
当选择好邮票并投币后,数码管显示所选邮票价格及投入钱币价格;按下确认付款开关,交易成功,数码管显示应找多少钱,蜂鸣器响,对应商品LED灯亮。
若所投钱币不足所选商品价格,对应警告钱币不足的LED灯亮;当继续投入钱币直到达到所选邮票价格,按下确认付款开关,交易同样成功。
具体设计要求如下:(1)机器有一个投币孔,每次只能投入一枚硬币。
机器能自动识别硬币金额,最大为 1元,最小为1角。
购票者可选择的邮票面值有1元和5角两种,每次售出1 枚邮票。
(2)灯亮时表示该邮票售出。
(3)用开关分别模拟1角、5角硬币和1元硬币投入,可以用几只发光二极管分别代表找回剩余的硬币。
(4)每次只能售出一种邮票,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态;(5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。
2.程序状态框图3 程序介绍首先声明,本程序具有完全自主知识产权,是经过多次尝试以及错误之后的成果。
本程序的核心是利用我们最近刚学的状态机来实现机器不同状态之前的转换。
由于没有实验板,只能使用波形仿真,所以最后的functions(led显示函数)注释起来了,但程序还是保留了数码管动态扫描部分。
程序基本可以分为三大模块:(1)状态机模块,这是程序的核心部分。
在写程序之前看过网上的一些现有例程,但都没有解决一个我认为的核心问题,那就是如何解决连续投币问题。
后来经过不断地试错,发现可以使用状态机完美地解决这个问题。
(2)数码管动态扫描部分,它的作用是按照给定时钟来回点亮四个数码管(两个dis_money,两个dis_price),使数码管在人的肉眼看来一直是亮的。
这部分由于没有实验板,所以看不出其发挥出来的功能。
verilog语言期末试题及答案
verilog语言期末试题及答案一、填空题1. Verilog语言是一种_硬件描述语言_。
2. Verilog语言适用于_数字电路设计_和_验证_。
3. Verilog的编译和仿真工具主要有_Synopsys Design Compiler_和_ModelSim_。
4. Verilog中的组合逻辑使用_always_关键字实现。
5. 时钟的上升沿触发使用_posedge_关键字实现。
6. Verilog的层次化模块定义使用_和号_(&)和_连接符_实现。
7. Verilog语言的数据类型包括_bit_、_reg_、_wire_和_logic_。
8. Verilog中用来控制模拟时间的关键字是_#_。
9. 顺序逻辑使用的关键字是_always_ff_。
10. Verilog的条件语句包括_if_、_else_和_case_。
二、选择题1. Verilog中的关键字always @(posedge clk)表示:A. 在时钟上升沿触发B. 在时钟下降沿触发C. 在时钟上升沿或下降沿触发D. 无关键字触发答案:A2. Verilog中用来定义模块的关键字是:A. alwaysB. moduleC. caseD. reg答案:B3. 下列哪个关键字用于在连续赋值中实现多路选择:A. ifB. elseC. caseD. always_ff答案:C4. Verilog中用来延时模拟时间的关键字是:A. #B. @C. $D. %答案:A5. Verilog中的数据类型wire和reg的区别在于:A. wire用于内部信号连接,reg用于存储数据B. wire只能传输数字信号,reg可以传输任意信号C. wire用于组合逻辑,reg用于时序逻辑D. wire在连续赋值中使用,reg在时序赋值中使用答案:A三、编程题请使用Verilog语言描述一个4位全加器模块,并画出其电路原理图。
```verilogmodule full_adder(input a, b, cin, output sum, cout);assign sum = a ^ b ^ cin;assign cout = (a & b) | (a & cin) | (b & cin);endmodule```四、简答题1. 请简述Verilog语言的优点及应用领域。
verilog期末考试试题
verilog期末考试试题一、选择题(每题2分,共20分)1. 在Verilog中,以下哪个关键字用于定义一个模块?A. moduleB. endmoduleC. inputD. output2. 以下哪个操作符用于Verilog中的按位与操作?A. &B. &&C. |D. ||3. Verilog中,一个时钟信号通常与哪个信号属性关联?A. regB. wireC. clkD. none of the above4. 在Verilog中,非阻塞赋值使用哪个操作符?A. =B. <=C. <=D. <=>5. 以下哪个是Verilog中定义参数的正确语法?A. parameter int a;B. parameter a = 10;C. parameter int a = 10;D. parameter a = 10 int;6. 以下哪个是Verilog中定义信号的初始值的正确方式?A. reg [7:0] data = 8'b1;B. reg [7:0] data = 8'b00000001;C. reg [7:0] data = 8'b10101010;D. reg [7:0] data = 8'b1;7. 在Verilog中,一个信号的宽度可以是任意的吗?A. 是的,可以是任意宽度B. 不是的,必须在1到32位之间C. 不是的,必须在1到64位之间D. 不是的,必须在1到1024位之间8. 以下哪个是Verilog中生成时钟信号的常用方法?A. 使用always块和非阻塞赋值B. 使用initial块和阻塞赋值C. 使用initial块和非阻塞赋值D. 使用always块和阻塞赋值9. 在Verilog中,case语句的每个分支后面应该使用哪个关键字?A. endB. endcaseC. caseD. default10. 以下哪个是Verilog中定义一个4位二进制计数器的正确方式?A. reg [3:0] counter;B. reg [4:1] counter;C. reg [0:3] counter;D. reg [4:0] counter;二、简答题(每题5分,共20分)1. 解释Verilog中的阻塞赋值和非阻塞赋值的区别。
verilog HDL期末考试
硬件语言与FPGA期末测试开课时间:2015~2016第2学期学生姓名:班级:学号:硬件语言与FPGA 期末测试第一题:计数器设计1.设计一个最基本的计数器,功能每个时钟上升沿实现加1的功能。
(工程名cnt1+学号后两位)(10)module cnt1_42(CLK,Q);input CLK;output[2:0] Q;reg[2:0] Q1;always@(posedge CLK)begin //实现0-4加法计数if(Q1<4)Q1<=Q1+1;elseQ1<=0;endassign Q=Q1;endmodule计数器1.rar2.对上诉计数器进行功能扩展,要求有复位、数据加载、加减计数选择功能(如有无法实现功能,会适当扣分)(20)module cnt1_42(CLK,RST,LOAD,CHNG,DOUT,COUT,DATA);input CLK,RST,LOAD,CHNG; //CLK为时钟信号,LOAD为数据加载使能,CHN为加减计数选择,COUT为进位DOUT为输出,DATA为数据加载,RST为复位input[2:0] DATA;output[2:0] DOUT;output COUT;reg[2:0] Q=0;reg COUT;always@(posedge CLK or negedge RST)beginif(!RST)Q<=0;else if(LOAD)Q=DATA;else if(CHNG)beginif(Q<4)Q<=Q+1;elseQ<=0;endelse beginif(Q>0)Q<=Q-1;elseQ<=0;endendalways@(Q)if(Q==3'b100)COUT=1;elseCOUT=0;assign DOUT=Q;endmodule计数器2.rar第二题:分频器设计设计一个奇数分频器,要求可以通过参数完成任意奇数分频。
最新Verilog期末复习题资料
Verilog 复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。
2. 可编程器件分为CPLD和FPGA。
3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6. 阻塞性赋值符号为,非阻塞性赋值符号为<=_。
7. 有限状态机分为Moore和Mealy两种类型。
8. EDA缩写的含义为电子设计自动化(Electronic Design Automation) |9. 状态机常用状态编码有二进制、格雷码和独热码。
10. Verilog 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'1012、在verilog中,下列语句哪个不是分支语句? ( D )(A) if-else (B) case (C) casez (D) repeat3、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'05、在verilog语言中整型数据与(C )位寄存器数据在实际意义上是相同的。
verilog大作业终稿
大作业说明书电信学院电子科学与技术 1 班徐敏(学号:3006216054)电信学院电子科学与技术 2 班郑芃(学号:3006204056)电信学院电子科学与技术 2 班王刘辰(学号:3006214095)电信学院电子科学与技术 3 班史亚峰(学号:3006214093)电信学院电子科学与技术 3 班史向男(学号:300604074)电信学院电子科学与技术 3 班宋博(学号:3006204075)一、说明该设计说明书是由电科一班徐敏、电科二班郑芃、王刘辰、电科三班史亚峰、史向男、宋博合作完成的“图像旋转”的作业说明书。
本文主要包括作业简述部分、设计思路、verilog 代码、、C++代码以及一些参考资料等。
二、作业简述▪用verilog语言描述实现把lena图像(也可以是其他图像)(256*256像素)顺时针旋转90度。
▪要求分组完成3-6人一组,自由组队,至少三人,不可独立完成,自行合理安排组内每个成员的工作,工作量大致适中。
抄袭判不及格▪考试之前打印上交:原代码、仿真结果、设计说明书、工作报告中包括每个人的工作总结。
▪原始图像如果不是256*256*24bit格式的BMP图片,首先用画图工具转成256*256的大小*24bit格式。
▪任务提示:▪了解BMP位图的格式,verilog中所写的要能testbench中读写BMP文件中的像素点阵。
▪了解数字集成电路的设计与验证的一般方法▪进行模块划分,可以分成三个以上的模块,一个专门负责按时钟节拍读取数据,然后数据经过缓存之后逆时针旋转90度输出。
▪多借助互联网查阅相关资料、语法等▪如有必要,可以用C语言针对该原始图像提出二进制数据转化为文本型数据再存储成数据文件,供verilog模块调用。
三、设计思路第一步,将bmp图片转换成二进制流,并且转存为txt文件。
对于24bit位深的BMP文件,其前54个字节是关于文件头信息的(具体见下面的参考资料),之后的数据全是像素点的信息,每一个像素点3个字节,共计196608字节的像素点信息。
verilog期末大作业
Verilog期末大作业在目录Microsoft Visual Studio\MyProjects\***下放置.lena.bmp图形,执行第一段C++,结束后在目录Microsoft Visual Studio\MyProjects\***会生成一个header.dat,一个body.txt,将body.txt复制粘贴到modelsim\examples目录下,执行verilog电路程序进行仿真,在modelsim\examples下会生成new_body.txt文档,将此文档复制粘贴回C++目录下\Microsoft Visual Studio\MyProjects\***执行最后的C++程序,即可生成一个rotated_lena.bmp这就是最后的结果。
第一段C++#include <iostream>#include <fstream>using namespace std;void char2bin(char chR,ofstream& output){ // 实现将char的二进制ASCII码写入.txt中char temp;temp=(chR&0x80)?'1':'0' ;output.put(temp);temp=(chR&0x40)?'1':'0';output.put(temp);temp=(chR&0x20)?'1':'0';output.put(temp);temp=(chR&0x10)?'1':'0';output.put(temp);temp=(chR&0x08)?'1':'0';output.put(temp);temp=(chR&0x04)?'1':'0';output.put(temp);temp=(chR&0x02)?'1':'0';output.put(temp);temp=(chR&0x01)?'1':'0';output.put(temp);}此方法过于繁琐,/view/66bad3f24693daef5ef73d14.html比此方法更好。
verilog大作业
彩灯控制器设计一设计任务设计一种彩灯控制器控制8盏灯。
该彩灯控制器有6种自动切换的花样1. 第一种花样为彩灯从右到左,然后从左到右逐次灭,全灭全亮;2. 第二种花样为彩灯两边同时亮一个逐次向中间移动再散开;3. 第三种花样为彩灯两边同时亮两个逐次向中间移动再散开;4. 第四种花样为彩灯两边同时亮三个,然后四亮四灭,四灭四亮,最后一灭一亮;5. 彩灯右起第一第二第五第六盏灯亮,其他灯灭,然后第三第四第七第八盏灯亮,同时其他灯灭;6. 第六种花样,彩灯先右七个亮,然后再左七个亮,最后全灭。
二程序模块分析1. 第一种花样为彩灯从右到左,然后从左到右逐次灭,全灭全亮;case(FLAGS)0:begin //第一种花样case(i)0:beginF=8'b00000001;i=1;end1:beginF =F<<1;//左移if (F==8'b10000000)i=2;end2:beginF=F>>1;//右移if (F==8'b00000001)i=3;end3:beginF =8'b00000000;i=4;end4:beginF =8'b11111111;i=0;FLAGS=1;endendcaseend2. 第二种花样为彩灯两边同时亮一个逐次向中间移动再散开;1:begin //第二种花样case(i)0:beginF=8'b01111110;i=1;end1:beginF=8'b10111101;i=2;end2:beginF=8'b11011011;i=3;end3:begini=4;end4:beginF=8'b11011011;i=5;end5:beginF=8'b10111101;i=6;end6:beginF=8'b01111110;i=0;FLAGS=2;endendcaseend3. 第三种花样为彩灯两边同时亮两个逐次向中间移动再散开;2:begin //第三种花样case(i)0:beginF=8'b00111100;i=1;end1:beginF=8'b10011001;i=2;end2:begini=3;end3:beginF=8'b10011001;i=4;end4:beginF=8'b00111100;i=0;FLAGS=3;endendcaseend4. 第四种花样为彩灯两边同时亮三个,然后四亮四灭,四灭四亮,最后一灭一亮;3: begin //第四种花样case(i)0:beginF=8'b00011000;i=1;end1:beginF=8'b00001111;i=2;end2:beginF=8'b11110000;i=3;end3:begini=0;FLAGS=4;endendcaseend5. 彩灯右起第一第二第五第六盏灯亮,其他灯灭,然后第三第四第七第八盏灯亮,同时其他灯灭;4:begin //第五种花样case(i)0:beginF=8'b11001100;i=1;end1:beginF=8'b00110011;i=0;FLAGS=5;endendcaseend6. 第六种花样,彩灯先右七个亮,然后再左七个亮,最后全灭。
Verilog期末复习题
Verilog复习题一、填空题1. 用EDA技术进行电子系统设计的目标是最终完成2. 可编程器件分为CPLD和FPGA。
3. 随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
4. 目前国际上较大的PLD器件制造公司有ALtera和Xilinx公司。
5. 完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
6. 阻塞性赋值符号为=,非阻塞性赋值符号为<= 。
78、EDA9.状态机常用状态编码有二进制、格雷码和独热码。
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'1012、在verilog中,下列语句哪个不是分支语句?( D )(A) if-else (B) case (C) casez (D) repeat3、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'05、在verilog语言中整型数据与(C)位寄存器数据在实际意义上是相同的。
(A) 8 (B) 16 (C) 32 (D) 646、大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是___C____ 。
verilog大作业_王倩组
RS232串口通信班级:集电0901小组成员:王倩,黄小康,张青摘要个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。
通常RS-232 接口以9个引脚(DB-9) 或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组RS-232 接口,分别称为COM1 和COM2。
关键字:RS232 按键LCD 移相调频ABSTRACTSignal generator is one of the common laboratory instruments, design signal generator has the meaning of practical application. And the method based on FPGA design signal generator can generate high frequency of the signal, such as frequency for a few M sine wave. Usually produced by the method of sine wave is MCU + DDS method, but because of the high cost of DDS, so in the index demand is not high, can use the FPGA to realize the principle of DDS frequency synthesis to produce higher frequency sine wave, arbitrary waveform signal also is such.This design realize a DDS signal generator, can achieve through key phase shifting, FM function, and the sine wave, square, triangle wave, index function waveform conversion, with an oscilloscope to display the waveform, through the LCD to show that the frequency of a wave.Key word: DDS button LCD phase shifting FM目录1.系统规范2.总体描述2.1.功能描述2.2.顶层框图2.3.引脚描述2.4.接口时序3.模块划分3.1 概述(叙述一下划分的几个大的模块)3.2模块A3.2.1功能定义3.2.2信号描述3.2.3 祥细设计3.3模块B3.2.1功能定义3.2.2信号描述3.2.3 祥细设计3.4模块C3.2.1功能定义3.2.2信号描述3.2.3 祥细设计3.5模块D3.2.1功能定义3.2.2信号描述3.2.3 祥细设计3.6模块E3.2.1功能定义3.2.2信号描述3.2.3 祥细设计1.系统规范本设计实现通过RS232进行的串口通信,通过键盘输入单个字符,然后将字符的8位ASCII码值先存入一个16*8的RAM中,再通过按键使能,通过RS232发送ASCII码值给另一块板子,在另外一块板子上接收数据,转换成ASCII码值传给LCD显示。
verilog期末试题及答案
verilog期末试题及答案一、选择题1. Verilog是一种用于描述数字电路的语言,它是一种:A. 高级语言B. 低级语言C. 汇编语言D. 脚本语言答案:B. 低级语言2. Verilog的设计单元包括:A. 模块B. 信号C. 进程D. 任务答案:A. 模块3. Verilog的模块声明语法是:A. module 模块名(输入端口, 输出端口);B. module 模块名(input 输入端口, output 输出端口);C. 定义变量和信号D. 使用时调用模块答案:B. module 模块名(input 输入端口, output 输出端口);4. Verilog的赋值语句中,"="表示:A. 非阻塞赋值B. 阻塞赋值C. 非条件赋值D. 条件赋值答案:B. 阻塞赋值5. Verilog中的always块用于:A. 声明变量和信号B. 定义模块C. 并行执行代码块D. 顺序执行代码块答案:C. 并行执行代码块二、填空题1. Verilog的基本数据类型有______、______、______、______。
答案:wire, reg, integer, real2. Verilog中用于实现多路选择的关键字是______。
答案:case3. Verilog中用于实现循环的关键字是______。
答案:for4. Verilog中用于延迟执行的关键字是______。
答案:#(井号)5. Verilog中用于表示逻辑非的关键字是______。
答案:!三、简答题1. 请简要说明Verilog的模块和例化的概念。
答案:Verilog的模块是用于描述数字电路的基本单元,一个模块可以包含多个输入端口和输出端口,以及内部的逻辑代码。
模块可以被实例化(例化),即在其他模块中调用并使用。
例化时需要指定模块的名称,并连接相应的输入和输出端口。
2. 请简要说明Verilog中的阻塞赋值和非阻塞赋值的区别。
Verilog-HDL期末考试复习题
【第一章】1、FPGA芯片的发展主要体现在哪几个方面?未来的发展趋势是什么?答:新型芯片的规模越来越大,成本越来越低,低端的FPGA已逐步取代了传统的数字元件。
先进的ASIC生产工艺已经被用于FPGA的生产,越来越丰富的处理器内核被嵌入到高端的FPGA芯片中,基于FPGA的开发成为一项系统级设计工程。
随着半导体制造工艺的不同提高,FPGA的集成度将不断提高,制造成本将不断降低,其作为替代ASIC来实现电子系统的前景将日趋光明。
2、EDA技术的优势是什么?答:1.用HDL对数字系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。
2.EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。
3.某些HDL也是文档型的语言,极大地简化了设计文档的管理。
4.EDA具有日益强大的逻辑设计仿真测试技术,极大地提高了大规模系统电子设计的自动化程度。
5.基于EDA技术的设计,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权。
6.EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议。
良好的可移植与可测试性,为系统开发提供了可靠的保证。
7.EDA技术能将所有设计环节纳入统一的自顶向下的设计方案中。
8.EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整全面的测试。
3、EDA的设计流程包括哪几个环节?ANS:①设计输入(原理图/HDL文本编辑)②综合③FPGA/CPLD适配④时序仿真与功能门级仿真⑤FPGA/CPLD编程下载⑥FPGA/CPLD器件电路硬件检测。
Verilog试题A答案.doc
北京航空航天大学2011 ~2012 学年第二学期 数字 E D A 期( 2012 年 5 月 23 日) :__________;学号:______________;姓名:__________________:___________ 注: 1、直题上作答 纸上作答 : 一、(共 30 分,3 分) 1. 写出表达辑功能。
A B C D E F assign F= E ^ ( (A&B) | (!(C&D))) 2. 出关系将 V e r i l o g 补充完整,其中信号5 度,其余 信号为1 比特宽度。
module tblock( A,B,C ) ; output [4:0] A; C A B tblock5-bit 宽 i nput B; inout C; ⋯ ⋯ //省略了功能描述 endmodule // 模块结束 3. IEEE 标准的硬件描述语言是 verilog HDL 和 VHDL 。
4. 你所知道的可编程逻辑器件有(至少两种) : FPGA, CPLD, GAL, PAL (任写其二) 。
5. 假定某4 比量 a 为4’b 101算下列运算表达果 &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 6. V e r i l 路中信号的 4 是 0,1,X 和 Z 。
其中 0 表示低 电, 1 表, X 表示 (或未) ,Z 表示 。
7.下面两段代码中信号in,q1,q2 和q3 的初值分别为0,1,2 和3,那么经过 1 个时钟周期后,左侧程序中q3 的值变成0 ,右侧程序中q3 的值变成 2 。
always @(posedge clk) always @(posedge clk)begin beginq1 = in; q1 <= in;q2 = q1; q2 <= q1;q3 = q2; q3 <= q2;end end8.Verilog 语言规定的两种主要的数据类型分别是wire( 或net) 和reg 。
verilog大作业
西安电子科技大学Verilog大作业—自动售邮票机院系:电子工程学院姓名:李岩学号: 1202121468专业:电子与通信工程自动售邮票机1. 题目介绍本设计主要以程序为主,并通过波形仿真来验证程序功能的实现。
当选择好邮票并投币后,数码管显示所选邮票价格及投入钱币价格;按下确认付款开关,交易成功,数码管显示应找多少钱,蜂鸣器响,对应商品LED灯亮。
若所投钱币不足所选商品价格,对应警告钱币不足的LED灯亮;当继续投入钱币直到达到所选邮票价格,按下确认付款开关,交易同样成功。
具体设计要求如下:(1)机器有一个投币孔,每次只能投入一枚硬币。
机器能自动识别硬币金额,最大为 1元,最小为1角。
购票者可选择的邮票面值有1元和5角两种,每次售出1 枚邮票。
(2)灯亮时表示该邮票售出。
(3)用开关分别模拟1角、5角硬币和1元硬币投入,可以用几只发光二极管分别代表找回剩余的硬币。
(4)每次只能售出一种邮票,当所投硬币达到或超过购买者所选面值时,售出货物并找回剩余的硬币,回到初始状态;(5)当所投硬币值不足面值时,可通过一个复位键退回所投硬币,回到初始状态。
2.程序状态框图3 程序介绍首先声明,本程序具有完全自主知识产权,是经过多次尝试以及错误之后的成果。
本程序的核心是利用我们最近刚学的状态机来实现机器不同状态之前的转换。
由于没有实验板,只能使用波形仿真,所以最后的functions(led显示函数)注释起来了,但程序还是保留了数码管动态扫描部分。
程序基本可以分为三大模块:(1)状态机模块,这是程序的核心部分。
在写程序之前看过网上的一些现有例程,但都没有解决一个我认为的核心问题,那就是如何解决连续投币问题。
后来经过不断地试错,发现可以使用状态机完美地解决这个问题。
(2)数码管动态扫描部分,它的作用是按照给定时钟来回点亮四个数码管(两个dis_money,两个dis_price),使数码管在人的肉眼看来一直是亮的。
这部分由于没有实验板,所以看不出其发挥出来的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学实验报告
课程名称: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});
2: q=romout({n,Q}); 3: q=romout({n,Q}); endcase
end
function [7:0] romout; input [4:0] address; case(address)
0 : romout = 85;
1 : romout = 100;
2 : romout = 85;
3 : romout = 50;
4 : romout = 15;
5 : romout = 0;
6 : romout = 15;
7 : romout = 50;
8 : romout = 0;
9 : romout = 30;
10 : romout = 60;
11 : romout = 90;
12 : romout = 120;
13 : romout = 90;
14 : romout = 60;
15 : romout = 30;
16 : romout = 0;
17 : romout = 10;
18 : romout = 20;
19 : romout = 30;
20 : romout = 40;
21 : romout = 50;
22 : romout = 60;
23 : romout = 70;
24 : romout = 0;
25 : romout = 0;
26 : romout = 0;
27 : romout = 0;
28 : romout = 60;
29 : romout = 60;
30 : romout = 60;
31 : romout = 60; default : romout = 8'hxx; endcase
endfunction Endmodule
其测试程序如下:
`timescale 1ns/1ns
`include "waveshaper.v"
module waveshaper_tp;
reg cp;
reg[1:0] n;
wire[7:0] q;
parameter DELY=100;
waveshaper A(q,cp,n); //调用测试对象
always #(DEL Y/2) cp = ~cp; //产生时钟波形
initial
begin //激励信号定义
cp =0;
n=0;
#(DELY*80) n=1;
#(DELY*80) n=2;
#(DELY*80) n=3;
#(DELY*80) $finish;
end
//定义结果显示格式
initial $monitor($time,,,"cp=%d n=%d q=%d", cp,n,q); endmodule
具体的实验步骤图如下:
图5. waveshaper源程序文件
图6. Waveshaper-tp测试程序
两个文件编译成功后在work里面出现:
图7. Work里面的两个文件
三、实验结果及数据分析
在Modelsim里面添加波形后,然后仿真得到的首先是二进制表示的实验结果,然后再在实验结果里改变实验室数据类型,改为波形数据,调整坐标到屏幕中央,得到正弦波、三角波1及三角波2,但是没有出现方波。
由于方波的波形数据调整在另一栏,重新改变波形类型才能出现方波。
其具体的结果图如下:
图8.仿真结果数据显示
图9. 仿真结果波形图(没有调整数据类型)
图10. 仿真的正弦波(n=0)
图11.仿真出来的方波(n=3)
图12. 仿真的三角波1(n=1)
图13.仿真的三角波2(n=2)
数据分析:
仿真时,n是波形选择的关键,n=0时,调用romout函数输出的波形为正弦波;n=1时,输出的为三角波1;n=2时,输出的波形是三角波2;n=3时,调用
romout函数输出方波。
这样就把全部波形选择产生了。
四、心得体会
通过此次实验,我更进一步学习了Verilog语言的编写知识,以及一些常见的编写规则,同时提高了解决编译出错的能力。
此次实验中再次运用Quatlus II 软件编辑,已经熟练掌握这个软件的操作。
在这次实验中最重要也是最关键的就是Modelsim软件的学习与操作,从不会操作到最后将波形成功仿真出来。
这个过程学会了很多东西,测试程序的编写以及编译成功的过程可谓是绞尽了脑汁。
幸好在反复地检查和修改之后,最终编译成功。
同时也发现一个问题,QuatlusII 里面能仿真出来的程序,在Modelsim里面不一定能成功仿真,Modelsim遵循更多规则,输入变量的是必须要有而且是合理的,不能够是端口中的输入、输出。
只有遵循了这些规则,仿真才能做到成功。