社区导航

 
楼主: EEWORLD社区

你问我答,【夏宇闻老师专栏】与你一起探讨FPGA设计!

  [复制链接]

9

TA的帖子

1

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2010-12-17 21:34:54 | 显示全部楼层
夏老师,最近遇到这么一个情况:芯片是Altera公司Cyclone族的FPGA,外部时钟频率是27M,有一个程序块需要10M的时钟,用Quatus 里MegaWizard Plug的ALTPLL模块对外部时钟分频时发现竟然不能实现,原因是Post divider max count exceeded,但是如果芯片选Stratix的,就没有问题,请教这是为什么,该怎么办?怎么得到所需要的时钟频率?
谢谢您!


回复

使用道具 举报

259

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2010-12-18 08:40:02 | 显示全部楼层

这个绝对是好贴啊!要顶············
     爱我所爱的!!!


回复

使用道具 举报

187

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2010-12-18 20:11:49 | 显示全部楼层
久仰夏老师大名啊

夏老师
我想问下,自动化测试平台是个什么概念?该如何搭建?

因为不同的code总要写不同的testbench,感觉在验证上面效率提不上去,导致整个项目的进度缓慢,最近也总想找点关于验证的书,但是就是没找到,请夏老师推荐一下


回复

使用道具 举报

120

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2010-12-19 18:15:54 | 显示全部楼层
支持一下


回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-20 12:38:30 | 显示全部楼层

原帖由 cscl 于 2010-12-16 17:01 发表 数字电路时序分析一定要做的吗?标准流程 DC之后是时序分析然后才PR,如果系统频率不高,还有必要吗?本来在用FPGA环境下时报告的最高频率就是120多M,实际只要60M就够了。这种情况是不是就没有必要做时序分析了。 ...

 

如果你编写RTL级代码的水平还不太高,编写的RTL模块的功能可能完全正确,但综合可能出现问题,也许综合报告并没有发现时序问题,但电路的行为和功能却发生了很大的变化。所以对于初学者而言,即使很简单的模块最好做一遍布局布线后的时序仿真,以提高编写RTL代码的水平。



回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-20 12:44:40 | 显示全部楼层

原帖由 wmwby 于 2010-12-17 21:34 发表 夏老师,最近遇到这么一个情况:芯片是Altera公司Cyclone族的FPGA,外部时钟频率是27M,有一个程序块需要10M的时钟,用Quatus 里MegaWizard Plug的ALTPLL模块对外部时钟分频时发现竟然不能实现,原因是Post divider ...

 

这可能是因为Quatus 里MegaWizard Plug的ALTPLL模块内部结构固有设计的缘故。Cyclone类型的锁相环电路内的分频器可能不能实现2.7分频。你可以把外部时钟频率改为30M或者20MHz,或者换其他类型的芯片。



回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-20 14:30:12 | 显示全部楼层

原帖由 eeleader 于 2010-12-16 17:06 发表 ALTERA器件管脚电压器件管脚的电压一般是取决是VCCIO的 那么一些特定的配置管脚电压是否也是参考VCCIO呢?

 

不同FPGA的不同管脚的电压有其特定的要求,所以必须查看器件说明书,并查看布局布线后产生的Fitter I/O报告中的All Package Report:

  • N.C. (No Connect) shows a pin that has no internal connection to the device.

  • VCCINT shows a dedicated power pin, which must be connected to VCC internal signal.

  • VCCIO shows a dedicated power pin, which must be connected to VCC I/O bank.

  • VCC_PLL shows a dedicated power pin associated with ClockLock circuitry. This pin name appears only if the design contains a ClockLock PLL.

  • GND shows a dedicated ground pin or unused dedicated input, which must be connected to GND.

  • GND_PLL shows a dedicated ground pin associated with the ClockLock circuitry. This pin name appears only if the design contains a ClockLock PLL.

  • GNDINT shows a dedicated ground pin or unused dedicated input, which must be connected to GND internal signal.

  • GNDIO shows a dedicated ground pin which must be connected to GND.

  • RESERVED shows an unused I/O pin, which must be left unconnected.

  • ^ character in name shows a dedicated configuration pin.

  • + character in name shows a reserved configuration pin that is tri-stated in user mode.

  • * character in name shows a reserved configuration pin that drives out in user mode.

  • # character in name shows a JTAG BST/in-system programming or configuration pin. The JTAG inputs TMS and TDI should be tied to VCC, and TCK should be tied to GND when not in use.

  • & character in name shows a JTAG pin used as an I/O pin. When used as I/O pins, JTAG pins must be kept stable before and during configuration. JTAG pin stability prevents accidental loading of JTAG instructions.

  • GND+ shows an unused input. This pin should be connected to GND. It may also be connected to a legal signal on the board if that signal is required for a different revision of the design.

  • GND* shows an unused I/O pin that drives out



回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-20 14:42:48 | 显示全部楼层

原帖由 造化为工 于 2010-12-18 20:11 发表 久仰夏老师大名啊 夏老师我想问下,自动化测试平台是个什么概念?该如何搭建? 因为不同的code总要写不同的testbench,感觉在验证上面效率提不上去,导致整个项目的进度缓慢,最近也总想找点关于验证的书,但 ...

 

您说的自动化测试平台可能是指软件和硬件RTL(或者网表)模型互动的测试平台,它可以对复杂系统做软件/硬件的协同仿真,自动产生系统要求的测试数据。如果您主持的设计验证非常复杂,我建议您阅读我翻译的VMM书,即著名的SystemVerilog验证方法学手册构造高级的验证平台。为了更好地阅读这本书,还应先学习并掌握SystemVerilog的基本语法。



回复

使用道具 举报

269

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2010-12-21 02:52:33 | 显示全部楼层

关于顺序块 和非堵塞的疑问

这个是我写的语句 
task wr_0;
begin
DQ <=0;
delay;     //80us 这个是一个用于分频延时的任务调用
wf <= 1;
end
endtask

我是不怎么能确定 这3条语句执行顺序。按我的照书上顺序快的理解是 先执行 DQ <= 0;这句 然后是任务, 最后在对wf 赋值。 但是我想到非堵塞赋值
是在下一个上升脉冲(假设是上升沿触发的)到来之前全部运算好右边的值, 等到脉冲来的时候再同时赋给左边。这两个是不是矛盾了?还有如果我将语句改成下面这个样子,那么它还和上面的语句具有同样的时序功能吗?
task wr_0;
begin
DQ <=0;
//delay;     //80us 这个是一个用于分频延时的任务调用
wf <= 1;
delay;     //80us 这个是一个用于分频延时的任务调用
end
endtask



努力就有不清不楚的收获。


回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-21 09:50:31 | 显示全部楼层

原帖由 wall_e 于 2010-12-21 02:52 发表 这个是我写的语句 task wr_0; begin DQ <=0; delay;     //80us 这个是一个用于分频延时的任务调用 wf <= 1; endendtask我是不怎么能确定 这3条语句执行顺序。按我的照书上顺序快的理解是 先执行 ...

 

您在两条阻塞赋值语句之间添加延迟究竟想要干什么?这个task究竟是在时序块内还是在组合块内?



回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2010-12-21 13:02:09 | 显示全部楼层
夏老师,看到您的回复后,突然想起教我模电的那个恩师,一个年过六旬还陪学生在实验室里直到凌晨的老教授,一个曾因我用万用表测电阻姿势不对而训斥我的教授。。。呵呵,还记得他教导我在读电路时,一定要做到3步,1是了解器件功能,2是知道如何使用这个器件,3是为什么要选择这个器件。我大三学HDL的时候也因此受益良多"如果不知道最后综合出的电路,那就不要写这段代码"呵呵,现在我们很多人在做设计时都是简单的“拿来主义”,缺少一些刨根问题的劲,也许这种“劲”是我们微电子学生必须具有的吧。我专业课一直用的都是您的书,尤其是您翻译的那些书都太好了!!!受益良多,谢谢您!


回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-21 15:34:47 | 显示全部楼层

原帖由 红雁南翔 于 2010-12-21 13:02 发表 夏老师,看到您的回复后,突然想起教我模电的那个恩师,一个年过六旬还陪学生在实验室里直到凌晨的老教授,一个曾因我用万用表测电阻姿势不对而训斥我的教授。。。呵呵,还记得他教导我在读电路时,一定要做到3步,1 ...

 

我只是尽一个教师的本分,因为喜欢与热爱科学技术的年轻人一起学习,而选择了目前的行业。

希望今后大学里组织部门选拔博士生和老师时注意他们的兴趣。如果善于钻营、头脑灵活、喜欢钱财、性格豪放的应该动员他们学习政治、经济和媒体,争取做(富豪+官)苗子,而选拔做教师、工程师和科学家的苗子一定要选头脑清晰、刨根问底,一根筋、不怕吃苦、有点傻劲的学生。



回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-21 15:53:35 | 显示全部楼层

原帖由 lelee007 于 2010-12-1 09:44 发表 希望夏老多传授一些学习的方法和思维的方法

 

学习的基本方法和思路:循序渐进,不怕困难,一边看书,一边操作。

 

应该有一台自己专用的计算机,安装有Modelsim 6.0 以上版本的仿真器和Quartus 10.0 以上版本的FPGA综合和布局布线工具,有一本好的教材、一本HDL语法书,经常观察工具运行后产生的文件,注意从EDA工具提供的帮助上寻找帮助。做好思想准备,三个月内饭茶不思,只认真思考电路和语法之间的联系。从我编写书的第一个思考题和练习做起,一步一个脚印,半年后,你一定可以入门。条件是你必须是一根筋,适合做工程师有傻劲、负责任的人,而不能是善于钻营、头脑灵活,走捷径的官/商苗子,这样的人不具备做工程师的基本品格。



回复

使用道具 举报

269

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2010-12-21 19:19:19 | 显示全部楼层

回复 90楼 夏宇闻 的帖子

任务 wr_0 是 向温度芯片18b20写入0     18b20写0的时序要求是 一线总线DQ由高拉低后维持一定的时间以便18b20采样 这个时间范围是60us 到120us 。 我写的程序中的那个任务delay 就是用来维持一定时间的  这个任务delay是在时序快里面的  任务wr_0也是在时序块里面的。 后面那个那个wf是一个标志寄存器 用来指示当前操作是否完成。  一个劣质图在下面
  |
  |                                                                          
  |                                                                        
  |———————————————————    DQ
   |<------------60us到120us---------------------->|
努力就有不清不楚的收获。


回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-22 09:25:29 | 显示全部楼层

原帖由 wall_e 于 2010-12-21 19:19 发表 任务 wr_0 是 向温度芯片18b20写入0 18b20写0的时序要求是 一线总线DQ由高拉低后维持一定的时间以便18b20采样 这个时间范围是60us 到120us 。 我写的程序中的那个任务delay 就是用来维持一定时间的 这个任务del ...

 

在可综合的电路里,延迟是由时钟计数与状态变量的变化一起确定的。如果您只是想表示电路的行为,不是为了转变成电路,可以用阻塞赋值,以及直接时间延迟来表示,用非阻塞赋值表示的含义很不清楚。



回复

使用道具 举报

446

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2010-12-22 09:28:41 | 显示全部楼层
请问一下,ise里的clock_dedicated_route就什么意思??通常在什么情况下,ise会建议做这个约束,谢谢


回复

使用道具 举报

8886

TA的帖子

0

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

发表于 2010-12-22 09:29:39 | 显示全部楼层
实现两个PLL的串联??
是不是两个PLL串在综合时没有问题,但在布线时会出现问题的??因为一般我们的做法都是IBUFG+BUFG的接法,BUFG之后就输给logic而不是输给PLL了??谢谢!!请问正确的接法??


回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-22 15:38:02 | 显示全部楼层

原帖由 cscl 于 2010-12-22 09:28 发表 请问一下,ise里的clock_dedicated_route就什么意思??通常在什么情况下,ise会建议做这个约束,谢谢

 

我对ISE不太熟悉,但从clock_dedicated_route的文字看,是表示专用时钟信号连接路径的关键字。您可以通过ISE帮助菜单用clock dedicated route 查找确切的答案。我初步估计通常在设计要求有比较高的时钟频率时,最好使用这个约束。



回复

使用道具 举报

699

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2010-12-22 15:45:59 | 显示全部楼层

原帖由 eeleader 于 2010-12-22 09:29 发表 实现两个PLL的串联??是不是两个PLL串在综合时没有问题,但在布线时会出现问题的??因为一般我们的做法都是IBUFG+BUFG的接法,BUFG之后就输给logic而不是输给PLL了??谢谢!!请问正确的接法??

 

我不清楚您的想法。为什么要把两个锁相环电路块串联?正确的接法应该参考有关FPGA综合工具所提供的参数化宏模块库的说明,宏模块的设计者有其初始的想法,只有按照他的原始想法,您的综合才能实现预期的要求。如果您按照自己的想法来理解别人设计的宏库,很有可能出莫名其妙的问题。



回复

使用道具 举报

407

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2010-12-22 16:17:42 | 显示全部楼层
请教用FPGA实现数字信号处理的设计思想,怎么入手做,万分感谢:)


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-12-12 19:29 , Processed in 0.523626 second(s), 15 queries , Gzip On, MemCache On.

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