FPGA Editor(四)——修改LUT的功能

LUT是FPGA中实现逻辑的部件,由于采用了SRAM结构,因此一个LUT可以实现多种逻辑,实现的逻辑也可以通过FPGA Editor修改。

对于如下一段语句:
wire [3:0] din;
reg dout;
always @(posedge clk)
 dout<=&din;
这段语句实现的是一个4输入与门,我们要将他改写成一个4输入的或门。
打开FPGA Editor,首先找到dout这个寄存器。组合逻辑经常被优化,名字也是千变万化,因此从寄存器入手找到信号不失为明智的选择。
[[wysiwyg_imageupload:2701:]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
在找到dout这个寄存器之后,选中输入的线,就可以顺藤摸瓜,找到对应的Slice。上图中红线的右端是OLOGIC,左端是实现AND功能的LUT所在的Slice。双击进入该Slice,并打开属性窗口。
[[wysiwyg_imageupload:2702:]]
 
 
 
 
 
 
 
 
 
在Virtex5中每个Slice包含有4个LUT(分别编号为A,B,C,D),这里只用了编号为D的LUT的一个输出(D6LUT)。在属性窗口中,可以看到D6LUT后面描述的是(A1*(A5*(A3*A4))),这里的*表示逻辑与,A1,A3,A4,A5表示的是6输入LUT中的4个输入,因此描述了一个4输入与门的逻辑。
如果想修改为4输入或门,只需要将D6LUT的值改为(A1+(A5+(A3+A4)))。
描述LUT的功能支持以下几个运算符:
*:与
+:或
@:异或
~:非
 

 

rrr

星期日, 02/03/2013 - 19:32 — yonglong