EDA-VerilogHDL试题 xc
- 格式:doc
- 大小:40.50 KB
- 文档页数:1
V e r i l o g H D L试卷及答案河北大学课程考核试卷2008——2009学年第一学期 2006级电气类专业(类)考核科目EDA技术课程类别必修考核类型考查考核方式闭卷类别 A一、选择题:1、下列标示符哪些是合法的(B )A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是(D )A、xB、1C、0D、z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是( A )A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是(A )A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….……………………………… code #(1,5) d1(x1,y1);endmodule endmoduleA、(1,1)B、(5,5)C、(5,1)D、(1,5)6、“a=4’ b11001,b=4’ bx110”选出正确的运算结果(B )A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案(C )A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、若a=9,执行$display(“current value=%0b,a=%0d”,a,a)正确显示为(B )A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、aways begin #5 clk=0;#10 clk=~clk;end产生的波形( A )A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名 `define sum a+b+c 下面宏名引用正确的是(C )A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:(共15分,每小题3分)1、某一纯组合电路输入为in1,in2和in3,输入出为out,则该电路描述中always的事件表达式应写为always@(in1,in2,in3 );若某一时序电路由时钟clk信号上升沿触发,同步高电平复位信号rst清零,该电路描述中always的事件表达是应该写为always @( posedge clk )。
河北大学课程考核试卷2021——2021学年第一学期2006级电气类专业〔类〕考核科目EDA技术课程类别必修考核类型考查考核方式闭卷类别A一、选择题:1、以下标示符哪些是合法的〔B 〕A、$timeB、_dateC、8sumD、mux#2、如果线网类型变量说明后未赋值,起缺省值是〔D〕A、xB、1C、0D、zA〕A、4’b1101B、4’b0011C、4’bxx11D、4’bzz114、reg[7:0] mema[255:0]正确的赋值是〔A〕A、mema[5]=3’ d0,B、8’ d0;C、1’ b1;D、mema[5][3:0]=4’ d15、在code模块中参数定义如下,请问top模块中d1模块delay1、delay2的值是( D )module code(x,y); module top;paramee delay1=1,delay2=1; …………….………………………………code #(1,5) d1(x1,y1);endmodule endmoduleA、〔1,1〕B、〔5,5〕C、〔5,1〕D、〔1,5〕6、“a=4’ b11001,b=4’ bx110〞选出正确的运算结果〔B〕A、a&b=0B、a&&b=1C、b&a=xD、b&&a=x7、时间尺度定义为timescale 10ns/100ps,选择正确答案〔C〕A、时间精度10nsB、时间单位100psC、时间精度100psD、时间精度不确定8、假设a=9,执行$display(“current value=%0b,a=%0d〞,a,a)正确显示为〔B〕A、current value=1001,a=09B、current vale=1001,a=9C、1001,9D、current vale=00…001001,a=99、aways begin #5 clk=0;#10 clk=~clk;end产生的波形〔A〕A、占空比1/3B、clk=1C、clk=0D、周期为1010、在Verilog中定义了宏名`define sum a+b+c 下面宏名引用正确的选项是〔C〕A、out=’sum+d;B、out=sum+d;C、out=`sum+d;D、都正确二、填空题:〔共15分,每题3分〕1、某一纯组合电路输入为in1,in2和in3,输入出为out,那么该电路描述中always的事件表达式应写为always@(in1,in2,in3 );同步posedge clk )。
选择题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 文本输入→综合→___ __→→适配→编程下载→硬件测试。
EDA verilog hdl考试题和答案一、选择题(每题2分,共20分)1. 在Verilog HDL中,以下哪个关键字用于定义模块?A. moduleB. endmoduleC. inputD. output答案:A2. Verilog HDL中,以下哪个操作符用于按位取反?A. ~B. !C. ^D. &答案:A3. 在Verilog HDL中,以下哪个关键字用于定义组合逻辑?A. alwaysB. initialC. always_combD. always_seq答案:C4. 以下哪个是Verilog HDL中合法的标识符?A. 2variableB. variable2C. variable$2D. variable_2答案:B5. 在Verilog HDL中,以下哪个关键字用于定义信号的初始值?A. initialB. alwaysC. assignD. defparam答案:A6. 在Verilog HDL中,以下哪个关键字用于定义参数?A. parameterB. defparamC. localparamD. specparam答案:A7. 在Verilog HDL中,以下哪个关键字用于定义一个始终块,该块在仿真开始时执行一次?A. alwaysB. initialC. always_combD. always_ff答案:B8. 在Verilog HDL中,以下哪个操作符用于逻辑与?A. &&B. &C. ||D. |答案:B9. 在Verilog HDL中,以下哪个关键字用于定义一个始终块,该块在信号变化时触发?A. alwaysB. initialC. always_combD. always_ff答案:A10. 在Verilog HDL中,以下哪个关键字用于定义一个三态输出?A. outputB. inoutC. triD. wire答案:C二、填空题(每题2分,共20分)1. 在Verilog HDL中,____关键字用于定义一个始终块,该块在信号的边沿触发时执行。
eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
一、填空题(10分,每小题1分)1.用EDA技术进行电子系统设计的目标是最终完成的设计与实现。
2.可编程器件分为和。
3.随着EDA技术的不断完善与成熟,的设计方法更多的被应用于Verilog HDL设计当中。
4.目前国际上较大的PLD器件制造公司有和公司。
5.完整的条件语句将产生电路,不完整的条件语句将产生电路。
6.阻塞性赋值符号为,非阻塞性赋值符号为。
二、选择题(10分,每小题2分)1.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是。
A.FPGA全称为复杂可编程逻辑器件;B.FPGA是基于乘积项结构的可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。
2.基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→综合→_____→→适配→编程下载→硬件测试。
正确的是。
①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚A.③①B.①⑤C.④⑤D.④②3.子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化。
①流水线设计②资源共享③逻辑优化④串行化⑤寄存器配平⑥关键路径法A.①③⑤B.②③④C.②⑤⑥D.①④⑥4.下列标识符中,__________是不合法的标识符。
A.9moon B.State0 C.Not_Ack_0 D.signall5.下列语句中,不属于并行语句的是:_______A.过程语句B.assign语句C.元件例化语句D.case语句三、EDA名词解释(10分)写出下列缩写的中文含义:ASIC:RTL:FPGA:SOPC:CPLD:LPM:EDA:IEEE:IP:ISP:四、简答题(10分)1、简要说明仿真时阻塞赋值与非阻塞赋值的区别(本题4分)。
答:非阻塞(non-blocking)赋值方式 ( b<= a):b的值被赋成新值a的操作, 并不是立刻完成的,而是在块结束时才完成;块内的多条赋值语句在块结束时同时赋值;硬件有对应的电路。
eda试题及答案verilog1. 请解释Verilog中的阻塞赋值和非阻塞赋值的区别。
答案:在Verilog中,阻塞赋值使用`=`操作符,表示在赋值时会立即执行,并且赋值操作会阻塞后续语句的执行,直到当前赋值完成。
而非阻塞赋值使用`<=`操作符,表示赋值操作会在当前时间单位的末尾执行,不会阻塞后续语句的执行,允许并行执行。
2. 描述Verilog中模块的实例化过程。
答案:在Verilog中,模块的实例化是通过使用模块名后跟实例名和连接端口的列表来完成的。
实例化过程包括指定模块名、实例名以及将端口连接到适当的信号或参数上。
例如:```verilogmodule my_module(a, b, c);output a, c;input b;// ...endmodule// 实例化my_module instance_name(.out1(a), .out2(c), .in(b));```3. 列出Verilog中的基本数据类型。
答案:Verilog中的基本数据类型包括:- 线网类型(wire)- 寄存器类型(reg)- 实数类型(real)- 整型(integer)- 时间类型(time)- 字符串类型(string)4. 说明Verilog中如何使用条件语句。
答案:在Verilog中,可以使用`if`、`case`和`if-else`等条件语句来实现条件控制。
例如,使用`if`语句:```verilogif (condition) begin// 条件为真时执行的代码end else begin// 条件为假时执行的代码end```5. 解释Verilog中的always块的作用。
答案:Verilog中的always块用于描述硬件的时序逻辑和组合逻辑。
always块可以是时序的(使用时钟信号触发),也可以是非时序的(不依赖于时钟信号)。
时序always块通常用于描述寄存器行为,而非时序always块用于描述组合逻辑。
河北大学课程考核试卷2008 —— 2009 学年第一学期2006 级电气类专业(类)考核科目 EDA 技术课程类别必修考核类型考查考核方式闭卷类别 A一、选择题:1、下列标示符哪些是合法的( B )A、 $timeB、 _dateC、 8sumD、 mux#2、如果线网类型变量说明后未赋值,起缺省值是( D )A、 xB、 1C、 0D、 z3、现网中的值被解释为无符号数。
在连续赋值语句中,assign addr[3:0]=-3;addr 被赋予的值是( A )A、 4’b1101B、 4’b0011C、 4’bxx11D、 4’bzz114、 reg[7:0] mema[255:0] 正确的赋值是( A )A、 mema[5]=3 ’d0,B、 8’d0;C、 1’b1;D、 mema[5][3:0]=4 ’d15、在 code 模块中参数定义如下,请问top 模块中 d1 模块 delay1、 delay2 的值是 ( D )module code(x,y); module top;paramee delay1=1,delay2=1; .code #(1,5) d1(x1,y1);endmodule endmoduleA、( 1,1)B、(5,5)C、( 5,1)D、( 1,5)6、“ a=4’b11001,b=4 ’bx110”选出正确的运算结果( B )A、 a&b=0B、a&&b=1C、b&a=xD、 b&&a=x7、时间尺度定义为timescale 10ns/100ps ,选择正确答案( C )A、时间精度 10nsB、时间单位 100psC、时间精度 100psD、时间精度不确定8、若 a=9,执行 $display( “current value=%0b,a=%0d ”,a,a)正确显示为( B )A、 current value=1001,a=09B、current vale=1001,a=9C、 1001,9D、 current vale=00 001001,a=99、 aways begin #5 clk=0; #10 clk=~clk;end 产生的波形( A )A、占空比 1/3B、 clk=1C、 clk=0D、周期为 1010、在 Verilog 中定义了宏名`define sum a+b+c 下面宏名引用正确的是( C )A、 out= ’sum+d;B、 out=sum+d;C、 out=`sum+d;D、都正确二、填空题:(共 15 分,每小题 3 分)1、某一纯组合电路输入为in1,in2 和 in3,输入出为 out ,则该电路描述中always 的事件表达式应写为always@(in1,in2,in3 ); 若某一时序电路由时钟clk 信号上升沿触发,同步高电平复位信号rst 清零,该电路描述中always 的事件表达是应该写为always @( posedge clk )。
EDA VerilogHDL试题eda-veriloghdl试题一、填空(10分,每个子问题1分)1.用eda技术进行电子系统设计的目标是最终完成的设计与实现在2.可编程器件分为和。
3.随着EDA技术的不断完善和成熟,越来越多的设计方法被应用到Verilog HDL设计中。
4.目前国际上较大的pld器件制造公司有和公司。
5.完整的条件语句将生成电路,而不完整的条件语句将生成电力路。
6.阻塞分配符号为,非阻塞分配符号为为。
二、多项选择题(10分,每个子题2分)1.大规模可编程器件主要有fpga、cpld两类,下列对fpga结构与工作原理的描在描述中,正确的是。
a.fpga全称为复杂可编程逻辑器件;b.fpga是基于乘积项结构的可编程逻辑器件;c、基于SRAM的FPGA器件必须在每次上电后配置一次;d、在Altera公司生产的器件中,MAX7000系列属于FPGA结构。
2.基于eda软件的fpga/cpld设计流程为:原理图/hdl文本输入→综合→_____ → → 改编本→ 编程和下载→ 硬件测试。
正确的做法是。
①功能仿真②时序仿真③逻辑综合④配置⑤分配管脚答。
③①b.①⑤c。
④⑤d.④②3.子系统设计优化主要考虑提高资源利用率,降低功耗(即面积优化),提高运行效率行速度(即速度优化);指出下列哪些方法是面积优化。
① 管道设计② 资源共享③ 逻辑优化④ 系列化a.①③⑤b。
②③④c。
②⑤⑥⑤寄存器配平⑥关键路径法d.①④⑥4.在以下标识符中,______________;是非法标识符。
a.9moonb.state0c.not_ack_0d.signall5.下列陈述中,不属于平行陈述的有:_______a.过程语句b.assign语句c.元件例化语句d.case语句三、 EDA名词解释(10分)写出下列缩写的中文含义:asic:rtl:fpga:sopc:cpld:lpm:eda:ieee:ip:isp:四、简答题(10分)1.简要说明模拟过程中阻塞分配和非阻塞分配的区别(此问题得4分)。
EDA上机考试题目及考试说明
第一部分基础题(计数器)必须抽取一道
1.设计一个具有异步清零,同步使能,同步置数功能的60进制(0~59)的BCD 码输出的计数器;
2.设计一个具有异步清零,同步使能,同步置数功能的24进制(0~23)的BCD 码输出的计数器;
3.设计一个具有异步清零,同步使能,同步置数功能的50进制(0~49)的BCD 码输出的计数器;
4.设计一个四位二进制计数器,要求具有异步清零,同步使能,同步置数功能;5.设计一个三位二进制计数器,要求具有异步清零,同步使能,同步置数功能;
第二部分基础题(译码器)必须抽取一道
6.根据以下真值表设计一个4-16译码器;
7.设计一个十六进制7段数码显示译码器。
真值表如图。
8.根据以下真值表设计一个3-8译码器
第三部分基础题(其他)必须抽取一道
9.设计一个4选1的多路数据选择器;
10.设计一个4位全加器,要求有输入进位cin和输出进位cout;
11.设计一个分频器,实现分频比为10的设计。
12.设计一个分频器,实现分频比为8的设计。
13.设计一移位寄存器,实现移位模式可控的8位移位,包含带进位循环左移,自循环左移,带进位循环右移,自循环右移。
14.利用循环语句设计一个4位乘法器设计。
15.利用if-else语句设计8-3优先编码器。
1.?已知x=4’b1001,y=4’0110,则x的4位补码为4’b1111,而y的4位的补码为4’b0110?
2.?在case语句中至少要有一条default语句。
?
3.?两个进程之间是并行语句。
而在Always中的语句则是顺序语句
1.用EDA技术进行电子系统设计的目标是最终完成ASIC的设计与实现。
1可编程器件分为FPGA 和 CPLD 。
1随着EDA技术的不断完善与成熟,自顶向下的设计方法更多的被应用于Verilog HDL设计当中。
1目前国际上较大的PLD器件制造公司有Altera 和 Xilinx 公司。
1完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路。
1阻塞性赋值符号为=,非阻塞性赋值符号为<= 。
1大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是基于SRAM的FPGA器件,在每次上电后必须进行一次配置;
1基于EDA软件的FPGA / CPLD设计流程为:原理图/HDL文本输入→综合→功能仿真→分配管脚→适配→编程下载→硬件测试。
1子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);指出下列哪些方法是面积优化②资源共享③逻辑优化④串行化
1下列标识符中,_9moon_是不合法的标识符。
1. Verilog的基本设计单元是模块。
它是由两部分组成,一部分描述接口;另一部分描述逻辑功能,即定义输入是如何影响输出的。
2. 用assign描述的语句我们一般称之为组合逻辑,并且它们是属于并行语句,即于语句的书
1写次序无关。
而用always描述的语句我们一般称之为组合逻辑或时序逻辑,并且它们是属于串行语句,即于语句的书写有关。
3. Reg型和wire型信号有什么本质的区别?Reg型信号的初始值一般是什么?答:Reg型信号用于进程语句中,并且其语句是顺序语句;而wire型信号则用于模块中,并且其语句是并发语句;Reg型信号的初始值一般为左边值,即0。
3.在case语句中至少要有一条default语句
1. 怎样理解在进程语句中,阻塞语句没有延迟这句话?答:这是因为,在进程语句中,有阻塞语句和非阻塞语句这两种,非阻塞语句是有延迟的,而阻塞语句它也是有延迟的,这是因为因果系统都有延迟的,只是阻塞语句的延迟比非阻塞语句的延迟小若干个数量级,因此可视为没有延迟。
2. 在进程中什么情况下综合为时序电路?什么情况下综合为组合电路?答:在进程中只有当敏感信号是沿触发(即上升沿或下降沿)时,此时综合为时序电路;而在进程中只有当敏感信号是电平沿触发时,此时综合为组合电路。
5不属于并行语句的是:case语句 . ASIC 专用集成电路RTL寄存器传输级FPGA现场可编程门阵列SOPC可编程片上系统CPLD复杂可编程逻辑器件LPM 参数可定制宏模块库EDA电子设计自动化IEEE 电子电气工程师协会IP知识产权核ISP 在系统可编程
1、简要说明仿真时阻塞赋值与非阻塞赋值的区别。
答:非阻塞(non-blocking)赋值方式 ( b<= a):b的值被赋成新值a
的操作, 并不是立刻完成的,而是在块结束时才完成;块内的多条赋值语句在块结束时同时赋值;硬件有对应的电路。
阻塞(blocking)赋值方式 ( b = a):b的值立刻被赋成新值a;完成该赋值语句后才能执行下一句的操作;硬件没有对应的电
路,因而综合结果未知。
2简述有限状态机FSM分为哪两类?有何区别?有限状态机的状态编码风格主要有哪三种?FSM的三段式描述风格中,三段分别描述什么?答:Mearly型,Moore型;前者与输入与当前状态有关,而后者只和当前状态有关;Binary,Gray,One-Hot编码;分别为状态保存,状态切换,输出;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人投票表决器
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;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
endfunction2.编写一个带异步清零、异步置位的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
编程实现带异步清0、异步置1的D触发器。
module DFF1(q,qn,d,clk,set,reset); input d,clk,set,reset; output q,qn; reg q,qn;
always @(posedge clk or negedge set or negedge reset) begin
if (!reset) begin
q <= 0; //异步清0,低电平有效 qn <= 1; end
else if (!set) begin
q <= 1; //异步置1,低电平有效 qn <= 0; end
else begin q <= d; qn <= ~d; end end endmodule
编程实现带同步清0、同步置1的D触发器。
module DFF2(q,qn,d,clk,set,reset); input d,clk,set,reset; output q,qn; reg q,qn;
always @(posedge clk) begin
if (reset) begin
q <= 0; qn <= 1; //同步清0,高电平有效 end
else if (set) begin
q <=1; qn <=0; //同步置1,高电平有效 end
else begin
q <= d; qn <= ~d; end end
endmodule。