在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3831|回复: 3

如何利用Verilog实现bresenham画直线算法?

[复制链接]
发表于 2009-11-11 11:00:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
bresenham画直线算法,在C和MALTAB上是比较容易实现,但FPGA硬件怎么实现呢?!求各位大虾帮帮忙!急。。。。。
几个关键问题不明白:
1.bresenham算法中的FOR循环,在verilog中如何实现?
   如果用Verilog里的FOR循环,是说明在一个时钟内实现整个循环,但这样行吗?说实话,我真不明白一个时钟脉冲内如何有时间实现整个FOR循环(i增量可能很大);
2.如果不用Verilog里的FOR循环的话,用计数器计数然后用CASE语句展开的话,这个方法是不是不可行啊(因为i值会增大到比较大的数)?
  希望有大侠能提供个好办法,谢谢。。。。。
3.bresenham算法是取近似直线上点的光栅点来替代,这个光栅格的增量我不是很明白,每个光栅格单位多少?怎么将verilog程序输出的数据(比如说2009)来代表实际的度量含义?比如说2009毫米,2009微米。额,我是新手,这个问题我真的不是很明白。
诚心请教各位大侠,希望大侠帮帮忙,拜谢。。。。。
发表于 2009-11-11 13:02:49 | 显示全部楼层
C里面的for 循环如果不嵌套的话,verilog里可以用简单的状态机和counter来实现阿,当然是时序逻辑实现,不存在你说的一个时钟跑完的事情。
3。这个问题不在verilog上面,是在你的算法上面,C描述没有做好,定点化没做完,是上不了rtl的。
自己下功夫先把要实现的东西想清楚,再写rtl吧
 楼主| 发表于 2009-11-11 13:58:04 | 显示全部楼层
2# layow
恩,前两个问题我明白了!谢谢!自己还是做的太少啊,呵呵
 楼主| 发表于 2009-11-11 14:02:39 | 显示全部楼层
2# layow
另外再谢谢这位大虾的告诫和提醒!真的十分感谢!~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-12 19:32 , Processed in 0.025177 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表