每天一点Verilog,《高级FPGA设计》学习笔记:综合编码

本文介绍了FPGA设计中判决树的概念及其实现方法,并通过一个寄存器写入的例子展示了如何使用if/else结构来构建判决树。此外,还讨论了综合后的布局及其在速度与面积之间的权衡。

 

 判决树:

 

FPGA设计中,把一系列用来决定逻辑应该采取什么动作的条件称作一个判决树。通常,用if/else或者case实现。举一个写寄存器的例子:

module wr_reg(

output reg rout,

input clk,

input [3:0] in,

input [3:0] ctrl

);

 

always @ (posedge clk)

begin

if ( ctrl[0] )        rout<= in[0];

else if (ctrl[1]) rout<= in[1];

else if (ctrl[2]) rout<= in[2];

else if (ctrl[3]) rout<= in[3];

end

 

endmodule

 

综合后的原理图如下:

这里可以明显看出特权的布局。这类判决结构可以按照许多不同方式实现,取决于速度/面积的权衡以及特权方面的要求。

 

后面将会谈到如何设计和约束才能实现所需的综合结构。

 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值