赞
踩
LUT就是查找表,对于4输入的LUT而言,实际上就是4位地址位,一位数据位的存储器,能够存储16位数据,所以我们在FPGA设计中可以用LUT组建分布式的RAM。
LUT的一个重要功能是逻辑函数发生器。本质上,逻辑函数发生器存储的是真值表(Truth Table)的内容,而真值表则是通过布尔表达式获得。在vivado中,打开网表文件,选择相应的LUT,在property窗口中可以看到真值表。
如果用6输入的LUT实现4输入LUT的功能,那么就浪费了1-16/64=75%的资源,所以采用少输入的LUT可以更好的节省面积和资源
因为当输入数据的位数远大于一个LUT的输入时,就需要用多个LUT级联来实现逻辑,那么级联产生的延时也就不可避免了,这样就会制约系统的运行频率。那么为了避免级联数过于多,就采用插入寄存器的方法来实现
通过LUT代替组合逻辑,而LUT中的值只和输入有关,因此组合逻辑的功能由输入决定,不在和复杂度有关;
CLB是xilinx基本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成(中间应该还有一些选择器、与非门、或非门之类的东西)。
”logic cells” 是 Xilinx 创造出来的一个市场用的刻度,可以用来衡量不同内部结构甚至不同厂商的资源情况。
“logic cells”代表的是一个没有其他任何功能的4输入LUT,在老一些的Xilinx的FPGA中,他们使用LUT的数目乘以1.2来计算LC的数目,因为一个LUT中还有一个进位链和MUX。
在较新的FPGA中,Xilinx采用了6输入LUT,这时他们采用系数1.6。
同步清除D触发器。FDR 拥有一个时钟输入接口,一个D触发器数据接口,一个同步复位接口和一个触发器输出接口,当同步复位接口为高电平时,时钟的上升沿触发寄存器复位(置0);当同步时钟接口为低电平时,时钟的上升沿触发寄存器装载数据接口的数据。
FDRE:D Flip-Flop with Clock Enable and Synchronous Reset 带使能功能的同步清除D触发器,相比与FDR多了一个使能接口,当同步复位接口为高电平时覆盖所有其他输出,时钟的上升沿触发寄存器复位(置0);当同步时钟接口为低电平且使能接口为高电平时,时钟的上升沿触发寄存器装载数据接口的数据。
FDC :: D Flip-Flop with Asynchronous Clear 带异步清除D触发器 ,与 FDR的区别是。当CLR置为高电平时,不需要等到下一个时钟的上升沿就可以复位寄存器。
FDCE:D Flip-Flop with Clock Enable and AsynchronousReset 带使能功能的异步清除D触发器,相比与FDRE将同步复位变化成异步复位,当同步复位接口为高电平时,直接触发寄存器复位(置0);当同步时钟接口为低电平且使能接口为高电平时,时钟的上升沿触发寄存器装载数据接口的数据。
FDS:D Flip-Flop with Synchronous Set 带同步置位的D触发器 当置为端为低电平时,在时钟的上升沿触发数据保存在触发器中,当置位端为低电平时,在一个时钟的上升沿触发导致触发器清0
FDSE:D Flip-Flop with Clock Enable and Synchronous Set 带时钟使能和同步置位的D触发器。当置位端为高电平是覆盖所有输出,一个时钟的上升沿触发导致寄存器置位,当置位端为低电平和时钟使能位为高电平时,在一个时钟的上升沿触发导致寄存器装载数据口的数据。
FDP:D Flip-Flop with Asynchronous Preset 带有异步预置的D触发器 相比FDS不需要等到时钟的上升沿,即刻可进行置位。
FDPE:D Flip-Flop with Clock Enable and Asynchronous Preset 带有时钟使能和异步置位的D触发器 相比于FDSE不需要等到时钟的上升沿,即刻可进行置位。
使用always块综合实现各种触发器
点击查看代码
- module exp(
- input clk,
- input rst,
- input A,
- input B,
- output reg Q,
- output reg Q1,
- output reg Q2,
- output reg Q3
- );
- //or posedge rst
- always @(posedge clk or posedge rst) begin //异步复位 综合出FDCE
- if(rst)
- Q<=0;
- else begin
- Q<=A|B;
- end
- end
-
- always @(posedge clk ) begin //同步复位 综合出FDRE
- if(rst)
- Q1<=1;
- else begin
- Q1<=A|B;
- end
- end
-
- always @(posedge clk or posedge rst) begin//异步置位 综合出FDPE
- if(rst)
- Q2<=1;
- else begin
- Q2<=A|B;
- end
- end
-
- always @(posedge clk) begin//同步置位 综合出FDSE
- if(rst)
- Q3<=1;
- else begin
- Q3<=A|B;
- end
- end
- endmodule
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。