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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4512|回复: 16

[求助] 求一个用FPGA板和PC通信的小实验方案

[复制链接]
发表于 2014-2-26 06:59:49 | 显示全部楼层 |阅读模式

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

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

x
我是FPGA新手,只是上课的时候照着现成的实验手册做过几次试验。
目前组里买了块新xilinx板子ML605,想先从小实验做起,恳请大侠们赐教一些试验方案。

我的目的就是RTL实现一个计算单元(比如就一个加法运算Output=A+B),PC上可能有个C代码或者就是TXT文件把数据a和b不断地传送到FPGA上,然后等计算完毕,再由FPGA把(a+b)传送回PC上。 不要求速度,只要方便而且功能正确就行。

我水品实在太差了,对于大侠们可能不屑于说的小知识点,我查了半天手册可能越想越错。。。所以恳请大侠指点一二。

目前我的不成熟想法是这样:
(1) 我以前做实验用过Microblaze,然后把加法器连接到PLB上,用CF里的操作系统或者flash里的C语言来控制,但是出于某种原因,我不可以用Microblaze之类的微控制器。。。。。。只能一个RTL加法器单练。。。
(2) ML605这个板子上有 UART (USB mini) 和 JTAG (USB mini)接线口,还有个USB2.0,那么我是不是应该用这些练到计算机上?
(3) 为了我的Verilog代码能和UART通信,是不是只要把 USB mini 对应的4根线在 UCF 文件里声明好就行了呢?
(4) 我不是学通信的,也不会用simulink,请问是不是用simulink类似的方法,直接能绕过以上细节麻烦,直接和PC通信呢?
(5) 目前我就是在PC里用TeraTerm来看COM2,记得以前有个Kermit的东东,如果我用C或者matlab来控制读写,大概应该怎么设置呢?
多谢
发表于 2014-2-26 11:19:50 | 显示全部楼层
很多办法,pcie,pci,usb,uart,iic,spi这些接口都能实现
发表于 2014-2-26 13:44:18 | 显示全部楼层
UART传送连个数据下去,FPGA计算,回传给PC
 楼主| 发表于 2014-2-27 03:12:34 | 显示全部楼层
本帖最后由 ttxs2009 于 2014-2-27 06:05 编辑

回复 2# down_load
多谢回帖。感觉PCI之类的太高端了,不会用啊。。。呵呵。

我今天做了一个更小的实验,就是用Switch来控制LED灯,很成功
    设计的代码如下:
     module switch(SWITCHES, LEDS);
          input [3:0] SWITCHES;
          output [3:0] LEDS;
          assignLEDS[3:0]=SWITCHES[3:0];
     endmodule
    对应的UCF文件如下:
     NET"SWITCHES[0]" LOC="D22";
      NET "SWITCHES[1]" LOC="C22";
      NET "SWITCHES[2]" LOC="L21";
      NET "SWITCHES[3]" LOC="L20";
      NET "LEDS[0]" LOC="AC22";
      NET "LEDS[1]" LOC="AC24";
      NET "LEDS[2]" LOC="AE22";
      NET "LEDS[3]" LOC="AE23";

 楼主| 发表于 2014-2-27 06:15:46 | 显示全部楼层
回复 3# maclei


    多谢大侠回复。
    从我今天的小实验来看,bitstream 是通过 JTAG (板子上是mini-USB) 下载到FPGA中的;
    所以断电后,功能就消失了。
    为了保护设备,一般不可以在上电时,把与JTAG 口的连线拔下来, 然后在插入旁边的UART (板子上也是一个mini-USB)。
    这样的话,我必须采用Platform Flash来存储我的设计(bitstream 或者mcs文件),对吗?
    对于实现,我是不是应该用我的“小实验” 同样的方式来在UCF文件里定义UART的管脚?
    而PC这一端,我应该用什么工具和方法,把数据经由UART传进开发板?
发表于 2014-2-27 09:52:20 | 显示全部楼层


这样的话,我必须采用Platform Flash来存储我的设计(bitstream 或者mcs文件),对吗?



是的,需要帮烧写flash,这样就不用每次断电之后重新下载到FPGA
发表于 2014-2-27 09:53:54 | 显示全部楼层


而PC这一端,我应该用什么工具和方法,把数据经由UART传进开发板?




PC往uart传送数据有很多软件的,可以在网上下载这类的小软件,在FPGA端需要自己编写uart模块,进行数据的传送与接收。
发表于 2014-2-27 12:36:07 | 显示全部楼层
uart还是最方便的,串口调试助手很多的,是在不行,自己写也不是很复杂。
 楼主| 发表于 2014-3-1 04:38:59 | 显示全部楼层
回复 8# neufeifatonju


    多谢多谢!
请问UART的RTL是需要自己写吗?
PC这一边,需要用什么软件吗?能否推荐一个。
还有Simulink能使通信更简单吗?
发表于 2014-3-1 14:18:36 | 显示全部楼层
回复 1# ttxs2009

PC 机上的串口通信还是比较容易实现的, 用 C 语言的话可以考虑 VC 自带的串口控件, 或者 Cserialport 的开源库;用 Matlab 也比较容易实现;

我觉得更重要的事情是,你要先规划好 PC 与 FPGA 之间的通信格式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-22 01:09 , Processed in 0.043859 second(s), 10 queries , Gzip On, MemCached On.

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