《基于FPGA的现代数字系统设计》作业参考答案

合集下载

现代数字系统设计_习题集(含答案)

现代数字系统设计_习题集(含答案)
A:③①B:⑤②C:④⑤D:①②
28.设a=2,b=0,则下列式子中等于X的是()。
A:a && b B:a || b C:!a D:x && a
29.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。
A:仿真器B:综合器C:适配器D:下载器
30.关于Verilog HDL中的数字,请找出以下数字中最大的一个:()。
33.在Verilog HDL模块中,task语句类似高级语言中的()。
A:函数B:常数C:变量D:子程序
34.下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的()。
A:原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;
B:原理图输入设计方法无法对电路进行功能描述;
第8行out <= 0;
第9行else
第10行out <= in;
第11行assign in <=~out;
第12行assign clk_o = out;
97.下面的中有5处错误,试找出错误并修改正确。
第1行module dff8(reset, d, q);
第2行input clk;
第3行input reset;
仿真是对综合后的网表进行的仿真它验证设计模块的基本逻辑功能但不带有布局布线后产生的时序信息是理想情况下的验证
《现代数字系统设计》课程习题集
一、单选题
1.IP核在EDA技术和开发中具有十分重要的地位,IP是指()。
A:知识产权B:互联网协议C:网络地址D:都不是
2.在verilog HDL的always块本身是()语句
A:仿真器B:综合器C:适配器D:下载器

FPGA习题集及参考答案

FPGA习题集及参考答案

习题集及参考答案一、填空题 1. 一般把EDA技术的发展分为()个阶段。

2. FPGA/CPLD有如下设计步骤:①原理图/HDL文本输入、②适配、③功能仿真、④综合、⑤编程下载、⑥硬件测试,正确的设计顺序是①()⑤⑥。

3. 在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。

4. 设计输入完成之后,应立即对文件进行()。

5. 基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。

6. 将硬件描述语言转化为硬件电路的过程称为()。

7. IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()IP。

8. SOC系统又称为()系统。

SOPC系统又称为()系统。

9. 将硬核和固核作为()IP核,而软核作为()IP核。

10. IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()。

11. HDL综合器就是逻辑综合的过程,把可综合的VHDL/Verilog HDL转化成硬件电路时,包含了三个过程,分别是()、()、()。

12. EDA软件工具大致可以由五个模块构成,分别是设计输入编辑器、()、()、()和()。

13. 按仿真电路描述级别的不同,HDL仿真器分为()仿真、()仿真、()仿真和门级仿真。

14. 系统仿真分为()、()和()。

15. ()仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计满足一定的语法规范,但不能保证设计功能满足期望。

16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不带有布局布线后产生的时序信息,是理想情况下的验证。

17. ()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工作情况更加接近。

18. 目前Xilinx公司生产的FPGA主要采用了()配置存储器结构。

19. 描述测试信号的变化和测试工程的模块叫做()。

20. 现代电子系统设计领域中的EDA采用()的设计方法。

基于FPGA的数字系统设计-作业一

基于FPGA的数字系统设计-作业一

一、行为描述设计采用行为描述风格分别完成所给的三种同步器电路的设计,设计平台选择Quartus Prime Standard 17.1。

经过综合以后,所得的门级电路分别如图1中的(a)、(b)、(c)所示。

(a)(b)(c)图1 经平台综合后所给出的三种同步器的门级电路二、功能仿真编写测试文件,通过Modelsim-Altera仿真平台对设计得到的电路进行行为级仿真。

所得结果分别如图2的(a)、(b)、(c)所示。

分析波形可以得知,第一个同步器实现了将输入波形延迟两个时钟再输出的功能,其中reset信号为高表示系统复位。

第二个同步器实现了检测输入信号是否有高电平出现的功能,只要输入信号出现了高电平,则输出将一直为高。

第三个同步器实现了当reset信号有效时输出低电平,否者当输入信号为高电平时输出为高电平,当输入为低电平时输出为时钟的1/2分频信号。

同时输出相对于输入有两个时钟周期的延时。

(a)(b)(c)图2 三种同步器分别进行门级仿真的结果三、时序仿真分别对三个同步器进行时序仿真所得结果如图3的(a)、(b)、(c)所示。

可以很清楚的发现,时序仿真中的输出相比于功能仿真会有一个延时。

而且这还导致了第三个同步器的一个输出错误,本来应该输出分频信号,却输出了低电平。

(a)(b)(c)图3 三种同步器分别进行时序仿真的结果附件:同步器一:module HomeWorkOne(input Asynch_in ,input clock ,input reset , output regSynch_out);reg temp = 1'b0;always@(posedge clock) beginif(reset) beginSynch_out <= 1'b0 ;endelse beginSynch_out = temp ;temp = Asynch_in ;endendendmodule测试代码:`timescale 1 ns/ 1 psmodule HomeWorkOne_test();// test vector input registersreg Asynch_in;reg clock;reg reset;// wireswire Synch_out;// assign statements (if any)HomeWorkOne i1 (// port map - connection between master ports and signals/registers .Asynch_in(Asynch_in),.Synch_out(Synch_out),.clock(clock),.reset(reset));initial beginclock = 1'b0 ;reset = 1'b1 ;Asynch_in = 1'b0 ;#100 reset = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 reset = 1'b1 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 $stop ;$display("Running testbench");endalways begin#10 clock = ~clock ;endendmodule同步器二:module HomeWorkTwo(input clock ,input Asynch_in ,output reg Synch_out);reg q1 = 1'b0 ;reg q2 = 1'b0 ;wire reset ;assign reset = Synch_out&(~Asynch_in) ;always@(posedge clock) beginSynch_out = q2 ;q2 = q1 ; endalways@(posedge Asynch_in) beginif(reset) beginq1 = 1'b0 ;endelse beginq1 = 1'b1 ;endendendmodule测试代码:`timescale 1 ns/ 1 psmodule HomeWorkTwo_test();// test vector input registersreg Asynch_in;reg clock;// wireswire Synch_out;// assign statements (if any)HomeWorkTwo i1 (// port map - connection between master ports and signals/registers.Asynch_in(Asynch_in),.Synch_out(Synch_out),.clock(clock));initial beginclock = 1'b0 ;Asynch_in = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 $stop ;$display("Running testbench");endalways begin#10 clock = ~clock ;endendmodule同步器三:module HomeWorkThree(input Asynch_in ,input clock ,input reset ,output reg Synch_out);reg q1 = 1'b0 ;reg q2 = 1'b0 ;wire temp ;wire temp2 ;wire clrq1 ;wire clrq2 ;assign temp1 = Synch_out&(~Asynch_in) ;assign temp2 = Synch_out&(~Asynch_in) ;assign clrq1 = reset|temp1 ;assign clrq2 = reset|temp2 ;always@(posedge clock) beginif(reset) beginSynch_out = 1'b0 ;endelse beginSynch_out = q2 ;endendalways@(posedge clock) beginif(clrq2) beginq2 = 1'b0 ;endelse beginq2 = q1 ;endendalways@(posedge Asynch_in) beginif(clrq1) beginq1 = 1'b0 ;endelse beginq1 = 1'b1 ;endendendmodule测试代码:`timescale 1 ns/ 1 psmodule HomeWorkThree_test();// test vector input registersreg Asynch_in;reg clock;reg reset;// wireswire Synch_out;// assign statements (if any)HomeWorkThree i1 (// port map - connection between master ports and signals/registers.Asynch_in(Asynch_in),.Synch_out(Synch_out),.clock(clock),.reset(reset));initial beginclock = 1'b0 ;reset = 1'b1 ;Asynch_in = 1'b0 ;#100 reset = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 Asynch_in = 1'b0 ;#40 Asynch_in = 1'b1 ;#40 reset = 1'b1 ;#40 Asynch_in = 1'b1 ;#40 Asynch_in = 1'b0 ;#40 $stop ;$display("Running testbench");endalways begin#1 clock = ~clock ;endendmodule。

基于FPGA的现代数字系统设计 第3章

基于FPGA的现代数字系统设计 第3章
使用硬件描述语言设计的数字系统,可不依赖特定的厂 商和器件,可移植性好。常用的HDL语言有Verilog HDL和 VHDL两种。
Verilog HDL由GDA公司的Phil Moorby在1983年末首创, 1989年CADENCE公司收购了GDA公司,1990年CADENCE公 司公开发表了Verilog HDL,成立了OVI(Open Verilog International)组织。随后IEEE制定了 Verilog HDL的IEEE 标准, 进一步推动了Verilog HDL的应用。
从例3-1可以看出: (1) Verilog HDL的程序描述必须位于关键词module和 endmodule之间。 (2) 每个模块必须有一个模块名,如上例的mux21。 (3) 需要对模块的输入、输出端口进行说明,如上例程序的 第二、三、四行表述模块的输入端口是a、b、sel,输出端口是c。 (4) 模块的变量说明,如程序的第五行声明了一个线网变量c。 (5) 第六行语句使用条件操作符,实现模块的功能,即判断 sel是否等于1,如果等于1,b的值赋给c,否则a 的值赋给c。这段 程序描述通过综合工具,可转换成图3.1的门级电路图。
d
q
Dflop clk
reset
图3.2 D触发器
例3-3 调用例3-2的D触发器实现一个四位的移位寄存器。 寄存器存储的数据在移位时钟clock的作用下依次右移, 这样构成移位寄存器。移位寄存器既可以存储代码,也可以 用来实现数据的串行到并行的转换。电路结构如图3.3所示。
图3.3 四位的移位寄存器
VHDL(VHSIC Hardware Description Language)中的VHSIC 是Very High Speed Integerated Circuit的缩写。VHDL是美国国 防部为了解决项目的多个承包人的信息交换困难、设计维修困 难的问题而提出的,由TI、IBM和INTERMETRICS公司完成, 于1987年制定为IEEE标准,即IEEE std 1076-1987[LRM87],后 又进行一些修改,成为新的标准版本。

FPGA习题集及参考答案

FPGA习题集及参考答案

精品文档习题集及参考答案填空题 一般把EDA 技术的发展分为( )个阶段。

FPGA/CPLD 有如下设计步骤:①原理图/HDL 文本输入、②适配、 ⑤编程下载、⑥硬件测试,正确的设计顺序是◎()⑤⑥。

在EDA 工具中,能完成在目标系统器件上布局布线的软件称为( 设计输入完成之后,应立即对文件进行(IP 核在EDA 技术和开发中具有十分重要的地位, 以HDL 方式提供的IP 被称为( HDL 综合器就是逻辑综合的过程,把可综合的 VHDL/Verilog HDL 包含了三个过程,分别是( )、()、(EDA 软件工具大致可以由五个模块构成, 分别是设计输入编辑器、和(1. 2. 3. 4. 5. 6. 7. 8.9. 10. 11. 12.13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.基于硬件描述语言的数字系统设计目前最常用的设计方法称为( 将硬件描述语言转化为硬件电路的过程称为( IP 核在EDA技术和开发中具有十分重要的地位,以 IP ° SOC 系统又称为( )系统。

SOPC 系统又称为将硬核和固核作为( )IP 核,而软核作为()° HDL 方式提供的 )系统。

)IP核。

)设计法。

IP 被称为(按仿真电路描述级别的不同, HDL 仿真器分为(仿真和门级仿真。

系统仿真分为( )、( )和()仿真、( )仿真、( )。

( )仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计满足一定的语法规范,但不能保证设计功能满足期望。

( )仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不 带有布局布线后产生的时序信息,是理想情况下的验证。

()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工 作情况更加接近。

目前Xilinx 公司生产的FPGA 主要采用了( 描述测试信号的变化和测试工程的模块叫做( 现代电子系统设计领域中的 E DA 采用( 有限状态机可分为( )状态机和( Verilog HDL 中的端口类型有三类: Verilog HDL 常用两大数据类型: FPGA / CPLD 设计流程为:原理图 编程下载-硬件测试。

FPGA习题集及参考答案

FPGA习题集及参考答案

习题集及参考答案一、填空题1.一般把EDA技术的发展分为()个阶段。

2.FPGA/CPLD有如下设计步骤:①原理图/HDL文本输入、②适配、③功能仿真、④综合、⑤编程下载、⑥硬件测试,正确的设计顺序是①()⑤⑥。

3.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。

4.设计输入完成之后,应立即对文件进行()。

5.基于硬件描述语言的数字系统设计目前最常用的设计方法称为()设计法。

6.将硬件描述语言转化为硬件电路的过程称为()。

7.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()IP。

8.SOC系统又称为()系统。

SOPC系统又称为()系统。

9.将硬核和固核作为()IP核,而软核作为()IP核。

10.IP核在EDA技术和开发中具有十分重要的地位,以HDL方式提供的IP被称为()。

11.HDL综合器就是逻辑综合的过程,把可综合的VHDL/Verilog HDL转化成硬件电路时,包含了三个过程,分别是()、()、()。

12.EDA软件工具大致可以由五个模块构成,分别是设计输入编辑器、()、()、()和()。

13.按仿真电路描述级别的不同,HDL仿真器分为()仿真、()仿真、()仿真和门级仿真。

14.系统仿真分为()、()和()。

15.()仿真是对设计输入的规范检测,这种仿真通过只能表示编译通过,说明设计满足一定的语法规范,但不能保证设计功能满足期望。

16.()仿真是对综合后的网表进行的仿真,它验证设计模块的基本逻辑功能,但不带有布局布线后产生的时序信息,是理想情况下的验证。

17.()仿真是布局布线后进行的后仿真,仿真时考虑了布线延时,和芯片实际的工作情况更加接近。

18.目前Xilinx公司生产的FPGA主要采用了()配置存储器结构。

19.描述测试信号的变化和测试工程的模块叫做()。

20.现代电子系统设计领域中的EDA采用()的设计方法。

21.有限状态机可分为()状态机和()状态机两类。

现代数字系统设计_习题集(含答案)

现代数字系统设计_习题集(含答案)
《现代数字系统设计》课程习题集
一、单选题
1.IP核在EDA技术和开发中具有十分重要的地位,IP是指()。
A:知识产权B:互联网协议C:网络地址D:都不是
2.在verilog HDL的always块本身是()语句
A:顺序B:并行C:顺序或并行D:串行
3.设a = 1´b1,b = 3´b101,c = 4´b1010则X= {a,b,c}的值的等于()
C:综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的;
D:为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;
23.不完整的IF语句,其综合结果可实现()。
A:时序逻辑电路B:组合逻辑电路C:双向电路D:三态控制电路
24.CPLD的可编程是主要基于什么结构()。
A:瘦IP B:固IP C:胖IP D:都不是
16.FPGA可编程逻辑基于的可编程结构基于()。
A:LUT结构B:乘积项结构C:PLD D:都不对
17.操作符是Verilog HDL预定义的函数命名,操作符是由()字符组成的。
A:1 B:2 C:3 D:1~3
18.在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件为()。
A:③①B:⑤②C:④⑤D:①②
28.设a=2,b=0,则下列式子中等于X的是()。
A:a && b B:a || b C:!a D:x && a
29.在EDA工具中,能完成在目标系统器件上布局布线的软件称为()。
A:仿真器B:综合器C:适配器D:下载器
30.关于Verilog HDL中的数字,请找出以下数字中最大的一个:()。

fpga cpld参考答案

fpga cpld参考答案

fpga cpld参考答案FPGA和CPLD是现代数字电路设计中常用的可编程逻辑器件。

它们在电子工程领域中扮演着重要的角色,广泛应用于各种领域,如通信、嵌入式系统、计算机硬件等。

本文将介绍FPGA和CPLD的基本概念、特点以及应用,并提供一些参考答案来帮助读者更好地理解和应用这些器件。

FPGA,即现场可编程门阵列(Field-Programmable Gate Array),是一种可编程逻辑器件,它由大量的逻辑门、存储单元和可编程互连资源组成。

与传统的专用集成电路(ASIC)相比,FPGA具有灵活性高、开发周期短的优势。

它可以通过编程来实现各种不同的数字电路功能,而无需进行物理上的改变。

这使得FPGA成为了快速原型设计、快速验证和低成本量产的理想选择。

CPLD,即复杂可编程逻辑器件(Complex Programmable Logic Device),与FPGA类似,也是一种可编程逻辑器件。

但与FPGA相比,CPLD规模较小,资源有限。

它由可编程的逻辑单元、触发器和互连资源组成。

CPLD适用于一些规模较小、逻辑较简单的应用场景,如时序逻辑控制、接口逻辑等。

FPGA和CPLD的特点使得它们在各种领域得到广泛应用。

在通信领域,FPGA和CPLD可以用于实现各种协议的解析、编解码、调制解调等功能。

在嵌入式系统中,FPGA和CPLD可以用于实现各种外设接口、时序控制、状态机等。

在计算机硬件领域,FPGA和CPLD可以用于实现高性能计算、逻辑仿真、硬件加速等。

接下来,我们将提供一些参考答案,帮助读者更好地理解和应用FPGA和CPLD。

1. FPGA和CPLD的主要区别是什么?FPGA和CPLD的主要区别在于规模和资源。

FPGA规模较大,资源丰富,适用于复杂的逻辑设计;而CPLD规模较小,资源有限,适用于简单的逻辑设计。

此外,FPGA的可编程互连资源更灵活,可以实现更复杂的互连结构;而CPLD的互连资源相对固定,适用于一些简单的逻辑互连。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业答案
s2: if(!STATUS) st <= s3; else begin st <= s2; RC <=1'b1; CE<=1'b1; CS <=1'b0; lock <=1'b0;end s3: begin st <= s4;RC <=1'b1;CE <=1'b1;CS <=1'b0;lock <=1'b1;end s4: begin st <= s0;RC <=1'b1;CE <=1'b1;CS <=1'b0;lock <=1'b0;end default:st<=s0; endcase end
作业答案
assign K12_8=1'b0; assign A0=1'b1; assign ClkInc=(lock==1'b1)?1:0; assign rddata=(lock==1'b1)?ADData:rddata; always@(posedge CLK) begin case(st) s0: begin st <= s1; RC <=1'b1; CE<=1'b0; CS <=1'b1; lock <=1'b0;end s1: begin st <= s2; RC <=1'b0; CE<=1'b1; CS <=1'b0; lock <=1'b0;end
AD574工作时序
作业答案
回答问题: • 1)试画出控制器Control模块的状态机的状态 图。 • 2)地址计数器每当ClkInc时钟上升沿到达,输 出地址加1,请对地址计数器模块(addrcnt) 进行Verilog HDL描述。 • 3)根据问题1)的状态图,试对控制器Control模 块进行Verilog HDL描述。 • 4) 已知adram的端口描述如下,试用例化语句 ,对整个FPGA采集控制模块进行顶层模块的 Verilog HDL描述(顶层名设为ADC574)。
作业答案 3.6 在下面的initial块中,根据每条语句的执行时 刻,写出每个变量在仿真过程中和仿真结束时的 值。 initial begin A=1'b0; B=1'b1; C=2'b10; D=4'b1100; #10 begin A=1'b1;B=1'b0;end #15 begin C= #5 2'b01;end #10 begin D=#7 {A,B,C}; end end
作业答案
作业: • 下图是一个A/D采集系统,要求设计其中的 FPGA采集控制模块,该模块由三个部分构 成:控制器(Control)、地址计数器( addrcnt)、内嵌双口RAM(adram)。控 制器(control)是一个有限状态机,完成对 AD574的控制,和adram的写入操作。 adram是一个双口RAM IP核,在wren为’1’ 时允许写入数据。
作业答案
3.6
#0 A=1’b0,B=1’b 1,C=2’b10, D=4’b1100, #10 A=1’b 1,B=1’b 0,C=2’b10, D=4’b1100, #30 A=1’b 1,B=1’b 0,C=2’b01, D=4’b1100, #42 A=1’b 1,B=1’b 0,C=2’b01, D=4’b1001.
assign data_sel=sel[1]? (sel[0] ? D:C) : (sel[0] ? B:A); endmodule
作业答案
设计一个序列检测器,用于检测串行输入的 二进制序列,每当连续输入三个或三个以上 的1时,序列检测器的输出为1,其它情况下输 出为0。 (1)画出状态转移图。 (2)写出Verilog HDL程序(要求在程序中 使用2个always 语句)
作业答案 3.8 设计一个移位函数,输入一个位宽是32比特的 数data,和一个左移、右移的控制信号 shift_contr[1:0],shift_contr[1]=1,data左移一位, shift_contr[0]=1,data右移一位,函数返回移位后 的数值。 3.8 function [31:0] shift input[31:0] data_in; input[1:0] shift_contr; begin if (shift_contr[1]) shift= data_in <<1; if (shift_contr[0]) shift= data_in >>1; end endfunction
作业答案 3.7 定义一个深度为256,位宽为8比特的寄存器型 数组,用for语句对该数组进行初始化,要求把所有 的偶元素初始化为0,所有的奇元素初始化为1。 3.7 ……. reg [7:0] stage [255:0] initial begin for(i=0;i<256;i=i+2) stage[i] = 0; for(i=1;i<256;i=i+2) state[i]=1; end
作业答案
信号预处理 放大 采样/保持 AD574
ADData 8 STATUS CS CE A0
rddata 1
8
wren
adram (lpm_ram_dp)
8 rddata rdaddr 6
Control
6 ClkInc wraddr Cntclr
Anal集系统
作业答案
5) 已知adram的端口描述如下,试用例化语句,对整个FPGA采 集控制模块进行Verilog顶层描述。顶层名为ADC574. module ADC574(CLK, STATUS, ADDATA, Cntclr, Rdaddr, CS, CE, A0, RC, K12_8, rddata); input CLK, STATUS; //时钟信号和AD转换状态信号输入 input[7:0] ADDATA; //转换数据输入 input Cntclr; //计数器清零信号 input[5:0] Rdaddr; // adram读数地址 output CS, CE, A0, RC, K12_8; // AD574控制信号 output[7:0] rddata; // adram读数据输出 wire ClkInc; wire[5:0] Wraddr; wire[7:0] r_data; wire wren;
作业答案
3.10 定义一个任务,该任务能计算出一个八位变 量的偶校验位作为该任务的输出,计算结束后,经 过三个时钟周期将该校验位赋给任务的输出。
3.10 task parity(even_bit,odd_bit,input_bus); output even_bit,odd_bit; input[7:0] input_bus; reg even_bit, odd_bit,a; begin odd_bit = ^ input_bus; //产生奇校验位 a = ~odd_bit;end; //产生偶校验位 @(posedge clk) @(posedge clk) @(posedge clk) even_bit=a; end endtask
作业答案
3) 根据状态图,试对control进行Verilog描述. module control(CLK, STATUS, ADData, CS, CE, A0, RC, K12_8, ClkInc, rddata); input CLK, STATUS; //时钟信号和AD转换状态信号输入 input[7:0] ADData; //转换数据输入 output CS, CE, A0, RC, K12_8; // AD574控制信号 output ClkInc; //地址计数器时钟信号 output[7:0] rddata; //转换数据输出 parameter s0=0,s1=1,s2=2,s3=3,s4=4; reg[2:0] st; reg lock; reg CS, CE,RC;
FPGA采集控制
作业答案
• 下面表列出了AD574的控制方式(X表示任意信号)和控制 时序图(STATUS为高电平,FPGA等待A/D转换,STATUS 为低电平,A/D转换完成,数据输出有效):
AD574逻辑控制真值表(X表示任意)
CE 0 1 1 CS X 0 0 RC X 0 1 K12_8 X X 0 A0 X 1 1 工 作 状 态 禁止 启动8位转换 转换后数据输出有效
作业答案 3.12 module mux4(A,B, C,D,sel,data_sel); parameter width = 8; input[width-1:0] A,B,C,D; input[1:0] sel; output[width-1:0] data_sel ; reg [width-1:0] data_sel; always@(A or B or C or D or sel) begin case(sel) 2'b00 : data_sel <= A; 2'b01 : data_sel <= B; 2'b10 : data_sel <= C; 2'b11 : data_sel <= D; default : $display("signal is invalid"); endcase end endmodule
作业答案 3.3 设A=4´b1010,B=4´b0011,C=1'b1, 则下式运算结果是什么? (1) ~A 0101 (2) A>>1 0101 (3) {A,B[0],C} 101011 (4) A & B 0010 (5) A ^B 1001 (6) A<B 0
相关文档
最新文档