eeiit的个人空间 https://blog.eetop.cn/63271 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

初学FPGA / ISE

已有 5093 次阅读| 2007-11-7 03:53 |个人分类:算法实现

天气: 晴朗
心情: 高兴

前些天参加了一次Xilinx-FPGA的培训,对FPGA和Xilinx的ISE软件有了些初步的认识,了解了如何由算法映射到FPGA。

数字电路基本上可以分为组合逻辑电路(通过真值表来表示)和时序逻辑电路(通过时序图来表示)。通过同步时钟控制的寄存器(register)来存储中间结果,可以实现同步电路,所以RTL(register transfer level)级的设计在FPGA设计中扮演着重要的角色。

 

FPGA设计首先要了解所采用的FPGA器件的特性。Xilinx-FPGA的基本资源包括可配置逻辑块(CLB: configurable logic block), 输入/输出块(I/O blocks), 块RAM, 时钟控制等。不同器件中基本模块(CLB, I/O block, block RAM)的个数以及时钟控制的复杂度不同,可由数据手册查得。

 

依同步寄存器(也被称为同步器件)为基准,FPGA设计中路径可以分为四类: 输入口到同步器件, 同步器件到同步器件, 同步器件到输出口,输入口到输出口。

 

Xilinx-ISE 9.2i 版在Xilinx网站有免费版下载(http://www.xilinx.com/ise/logic_design_prod/webpack.htm), 可以完成由综合(Synthesize),翻译(translate),映射(Map),布线(Place and route),及FPGA编程(Programming)各个步骤。对於像我这样的初学者,比较容易理解。

 

以周期为2^17-1的两个伪随机序列的产生器为例(http://direct.xilinx.com/bvdocs/appnotes/xapp211.pdf),采用Spartan 3的 C3S200器件,综合后可以通过"View Technology Schematic" 得到如下的框图,其中用到的器件有查找表(LUT), 2选1的多选器(MUX) 以及带有使能端的D-型寄存器(FDE)。此外,LUT还可用来做多位移位寄存器(SRL16E表示带有使能,最多16位的移位寄存器) 。LUT,MUX和FDE都包含在FPGA的CLB中。

 

框图的输入有五个信号: 时钟clk,两个PN序列产生器初始化数据DataIn_i和DataIn_q,反馈信号使能FillSel(FillSel决定输入寄存器的是初始化数据还是反馈数据)和移位使能ShiftEn。

输出的是产生的两路PN序列pn_out_i和pn_out_q。

 

对设计进行实现后(Implement Design),可以在Place and Route下检查步线后的设计。下面以I-路PN序列为例,其生成多项式为x^17+x^5+1。17位移位寄存器中的比特定义为srl_i<0>, srl_i<1>, ..., srl_i<16>,其中srl_i<0>作为最终输出序列。下面是I-路PN序列的步线后的实现电路,包括两部分(电路中绿线为实现的路径)。

第一部分包括初始化数据选择和反馈数据的产生,定义lfsr_in_i为线性反馈移位寄存器(PN序列产生器)的输入,则lfsr_in_i = FillSel ? Data_in_i : (srl_i<5> ^ srl_i<0>),即通过反馈信号使能FillSel来决定输入的是初始化数据还是反馈数据。而lfsr_in_i可由4输入的组合逻辑实现,即lfsr_in_i  = (FillSel AND Data_in_i) OR ((NOT FillSel) AND (srl_i<5> XOR srl_i<0>)),所以lfsr_in_i可由一个LUT来实现。通过一个FDE即可得到srl_i<16>。对於Spartan 3,两个Slice对应一个CLB,而每个Slice又包含两个LUT,如下电路即是一个Slice。

第二部分则是由srl_i<16>信号通过移位寄存器来得到srl_i<5>和srl_i<0>信号,用于反馈数据的产生。实现电路如下:

在电路的下半部分,通过LUT和FDE来实现移位寄存器,由srl_i<16>产生srl_i<5>信号。而srl_i<5>又在上半部分被利用来产生srl_i<0>。这一部分也对应一个CLB。

最终FPGA的步线如下所示,两路PN序列产生器由两个CLB来实现。

 

 


点赞

发表评论 评论 (1 个评论)

回复 kywang 2008-12-19 18:33
zhichi

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 20

    评论
  • 访问数
关闭

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

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 21:41 , Processed in 0.027662 second(s), 19 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部