fpga论坛|fpga设计论坛

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 11|回复: 0

verilog对应的原语查看方法

[复制链接]
dameihuaxia 发表于 9 小时前 | 显示全部楼层 |阅读模式
   在Xilinx FPGA开发中,将Verilog代码转换为硬件原语的过程由Vivado综合工具自动完成。这一过程涉及多个步骤,下面详细解释其工作机制和用户可采取的查看方式:

1. 综合工具的映射机制
        当你编写Verilog代码时,综合工具(如Vivado Synthesis)会按照以下方式将HDL描述转换为硬件原语:

预定义规则:Xilinx为常见的HDL模式定义了对应的原语映射规则。例如:
// Verilog代码
always @(posedge clk) begin
    if (reset) q <= 1'b0;
    else      q <= d;
end

// 综合后映射为FDCE原语(带时钟使能和异步复位的触发器)
FDCE #(
    .INIT(1'b0)
) u_fdce (
    .C(clk),
    .CE(1'b1),
    .CLR(reset),
    .D(d),
    .Q(q)
);
资源优化:工具会根据目标FPGA架构选择最优原语。例如,LUT6原语可实现任意6输入逻辑函数,若代码中定义了一个复杂的布尔表达式,综合工具可能将其映射到LUT6。
约束影响:时序约束(如set_false_path)可能改变映射策略,优先保证关键路径性能。
2. 查看映射结果的方法
如果你想知道Verilog代码最终映射到了哪些原语,可以通过以下方式查看:

方法一:查看综合报告
在Vivado中运行综合(Run Synthesis)。
打开综合报告(Synthesis Report),查看“Utilization”部分,了解资源使用情况(如LUT、FF、BRAM的数量)。
在报告中搜索具体实例名,查看其对应的硬件资源。
方法二:查看网表文件
综合完成后,在Tcl控制台执行:
write_verilog -force -mode synth_stub [get_property DIRECTORY [current_run -impl]]/netlist_synth.v
打开生成的netlist_synth.v文件,其中包含了映射后的原语实例化代码。
方法三:使用Netlist Navigator
在Vivado中点击“Open Synthesized Design”。
选择“Netlist Navigator”,可以交互式查看设计的层次结构和原语映射。
方法四:查看时序报告
运行实现(Run Implementation)。
打开时序报告(Timing Report),查看路径延迟和涉及的原语。
3. 直接控制映射的方法
        如果需要精确控制HDL到原语的映射,可以:

使用原语实例化:直接在代码中插入Xilinx原语(不推荐,除非必要)。
LUT6 #(
    .INIT(64'hAAAA5555AAAA5555)
) u_lut (
    .I0(a), .I1(b), .I2(c), .I3(d), .I4(e), .I5(f),
    .O(out)
);
使用综合属性:通过(* attribute *)语法指导映射。
(* use_dsp48 = "yes" *)
assign result = a * b + c;  // 强制使用DSP48E2原语
修改XDC约束:通过set_property命令调整映射策略。
set_property -dict {PACKAGE_PIN P12 IOSTANDARD LVCMOS33} [get_ports clk]
4. 常见映射示例
Verilog 代码

映射的原语

说明

assign out = a & b & c;

LUT3

3输入与门

always @(posedge clk)...

FDCE/FDPE

触发器

reg [15:0] mem [0:255];

RAMB18E2

块RAM

wire clk_buf;
BUFG bufg_inst (.I(clk), .O(clk_buf));

BUFG

全局时钟缓冲器(手动实例化)

5. 注意事项
工具依赖性:不同版本的Vivado可能有细微的映射差异。
资源利用率:过度使用原语可能导致资源浪费,优先使用HDL描述。
时序影响:直接使用原语可能绕过工具的时序优化,需谨慎使用。
文档参考:Xilinx UG901(Vivado Synthesis User Guide)详细说明了映射规则。
通过上述方法,你可以了解Verilog代码与硬件原语之间的映射关系,并在需要时进行精确控制。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2026-1-30 18:28 , Processed in 0.063041 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表