用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)
【摘要】 准备
先用行为级描述方式实现一个2输入一位全加器电路
由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的:
目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程。
硬件语言描述
首先使用行为级描述方式的硬件描述语言(HDL)设计一个一位全加器电路,Verilog HDL设计代码如下:
`timescale 1ns / 1...
准备
先用行为级描述方式实现一个2输入一位全加器电路
由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的:
目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程。
硬件语言描述
首先使用行为级描述方式的硬件描述语言(HDL)设计一个一位全加器电路,Verilog HDL设计代码如下:
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 14:24:53 08/13/2018
// Design Name:
// Module Name: adder
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module adder(SUM, C_OUT, A, B, C_IN );
input A, B, C_IN;
output SUM, C_OUT;
assign {C_OUT, SUM} = A + B + C_IN;
endmodule
测试文件
添加一个仿真文件,也就是行为仿真:
`timescale 1ns / 1ps
// Company:
// Engineer:
//
// Create Date: 14:28:27 08/13/2018
// Design Name: adder
// Module Name: G:/ISE_file/adder/adder_tb.v
// Project Name: adder
// Target Device:
// Tool versions:
// Description:
//
// Verilog Test Fixture created by ISE for module: adder
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
module adder_tb;
// Inputs
reg A;
reg B;
reg C_IN;
// Outputs
wire SUM;
wire C_OUT;
// Instantiate the Unit Under Test (UUT)
adder uut (
.SUM(SUM),
.C_OUT(C_OUT),
.A(A),
.B(B),
.C_IN(C_IN)
);
initial begin
// Initialize Inputs
A = 0;
B = 0;
C_IN = 0;
// Wait 100 ns for global reset to finish
#100 A = 1'b1; B = 1'b1;
#100 A = 1'b0; B = 1'b1;
#100 C_IN = 1'b1;
end
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)