用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)

举报
李锐博恩 发表于 2021/07/15 06:02:29 2021/07/15
【摘要】 准备 先用行为级描述方式实现一个2输入一位全加器电路 由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的: 目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程。 硬件语言描述 首先使用行为级描述方式的硬件描述语言(HDL)设计一个一位全加器电路,Verilog HDL设计代码如下: `timescale 1ns / 1...

准备

先用行为级描述方式实现一个2输入一位全加器电路

由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的:

目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程。

硬件语言描述

首先使用行为级描述方式的硬件描述语言(HDL)设计一个一位全加器电路,Verilog HDL设计代码如下:


  
  1. `timescale 1ns / 1ps
  2. //
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date: 14:24:53 08/13/2018
  7. // Design Name:
  8. // Module Name: adder
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //
  21. module adder(SUM, C_OUT, A, B, C_IN );
  22. input A, B, C_IN;
  23. output SUM, C_OUT;
  24. assign {C_OUT, SUM} = A + B + C_IN;
  25. endmodule

测试文件

添加一个仿真文件,也就是行为仿真:


  
  1. `timescale 1ns / 1ps
  2. // Company:
  3. // Engineer:
  4. //
  5. // Create Date: 14:28:27 08/13/2018
  6. // Design Name: adder
  7. // Module Name: G:/ISE_file/adder/adder_tb.v
  8. // Project Name: adder
  9. // Target Device:
  10. // Tool versions:
  11. // Description:
  12. //
  13. // Verilog Test Fixture created by ISE for module: adder
  14. //
  15. // Dependencies:
  16. //
  17. // Revision:
  18. // Revision 0.01 - File Created
  19. // Additional Comments:
  20. //
  21. module adder_tb;
  22. // Inputs
  23. reg A;
  24. reg B;
  25. reg C_IN;
  26. // Outputs
  27. wire SUM;
  28. wire C_OUT;
  29. // Instantiate the Unit Under Test (UUT)
  30. adder uut (
  31. .SUM(SUM),
  32. .C_OUT(C_OUT),
  33. .A(A),
  34. .B(B),
  35. .C_IN(C_IN)
  36. );
  37. initial begin
  38. // Initialize Inputs
  39. A = 0;
  40. B = 0;
  41. C_IN = 0;
  42. // Wait 100 ns for global reset to finish
  43. #100 A = 1'b1; B = 1'b1;
  44. #100 A = 1'b0; B = 1'b1;
  45. #100 C_IN = 1'b1;
  46. end
  47. endmodule

行为仿真图

使用ISE自带的仿真器仿真图如下:

符合要求。

综合

下面对这个设计进行综合:

综合是将设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元组成的逻辑网表,并根据设计目标和条件约束优化所生成的逻辑连接,生成EDF文件。

查看寄存器传输级电路:

这个RTL Schematic看的不是太清楚,那从PlanAhead中查看:

查看Technology Schematic

实现(Implement)

实现过程主要包括转换(Translate)、映像(Map)、布局布线(Place&Route)和时间参数提取(Timing)等几个方面。

Translate:在转换过程中,多个设计文件和约束文件将被合并为一个NGD文件,并同时输出BLD文件。其中NGD文件包含当前设计中的全部逻辑描述,BLD文件是转换的运行报告,转换可以接收的设计文件包括EDN、ENF、EDIF和SEDIF文件,转换的约束文件包括UCF、NCF、NMC、NGC文件。

Map:在映像过程中,当前设计的NGD文件将被映像为模板器件的特定物理单元,如CLB、IOB等,并保存在NCD文件中。

Place&Route:通过读取当前设计的NCD文件,布局布线将映像产生的物理单元在目标器件上放置和连接,并提取相应的时间参数。

布局布线的输入文件包括NCD、PCF和NGD(可选)模板文件,输出文件包括NCD、DLY、PAD和PAR文件。

在布局布线的输出文件中,NCD文件包含当前设计的全部物理实现信息,DLY文件包含当前设计的网络延时信息,PAD文件包含当前设计的I/O管脚配置信息,PAR文件是布局布线的运行报告。

时间参数提取:时间参数提取将生成当前设计的含有时间参数的反标网表,该反标网表将用于时序仿真。时间参数提取的输入文件包括NCD和PCF(可选)文件。时间参数提取输出的时序报告可以反映当前设计是否满足时序约束。

如下图,双击Implement Design,即可进行实现过程:

出现了一些毛病,解决后再接着写。

 

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/81629264

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。