发新帖本帖赏金 8.00元(功能说明)我要提问
返回列表
打印
[FPGA]

FPGA高级验证板,源码持续分享中,讨论开发经验系列(一)

[复制链接]
楼主: feihufuture
手机看帖
扫描二维码
随时随地手机跟帖
21
feihufuture 发表于 2015-9-6 10:37
前面我上传了RGMII的设计验证。。。。
感觉支持的人很少啊。。。

光口传输了解的不多,兴趣有限
lz能否讲讲几个电口的设计和驱动啊

使用特权

评论回复
22
yhy123456| | 2015-9-6 16:17 | 只看该作者
楼主 ,能不能来一块啊   ?

使用特权

评论回复
23
feihufuture|  楼主 | 2015-9-6 16:51 | 只看该作者
本帖最后由 feihufuture 于 2015-9-6 16:55 编辑
daneast 发表于 2015-9-6 16:06
光口传输了解的不多,兴趣有限
lz能否讲讲几个电口的设计和驱动啊


多个电口的硬件电路没太多区别,另外你做多个电口是为了做什么功能,交换机,研究VLAN?实际中距离长点的用光口。

使用特权

评论回复
24
daneast| | 2015-9-6 22:16 | 只看该作者
feihufuture 发表于 2015-9-6 16:51
多个电口的硬件电路没太多区别,另外你做多个电口是为了做什么功能,交换机,研究VLAN?实际中距离长点的 ...

主要做基站开发方面,光口这块部门不坐所以暂时不感兴趣,想深入了解电口的设计,除了硬件外软件驱动是什么样的?

使用特权

评论回复
25
CMika| | 2015-9-7 09:42 | 只看该作者
大神啊  鼎力支持

使用特权

评论回复
26
a5221445| | 2015-9-7 16:11 | 只看该作者
FPGA大牛你好,我想请教您一些问题 我是FPGA新手一上来,项目就要我做5Gbps的信号处理. 我想问下V5LXT这款芯片可以支持5G的I/O速率吗.....

使用特权

评论回复
27
feihufuture|  楼主 | 2015-9-7 22:12 | 只看该作者
今天来上传源码,是自己设计的关于DDR3控制器的用户层封装:

代码层次



读写命令控制模块
always @(posedge clk)begin
if(!rst_n)begin
mcb_cmd_instr <= MCB_CMD_RD;
mcb_cmd_byte_addr <= u_rd_addr[29:0];
mcb_cmd_bl <= mcb_rd_bl;
mcb_cmd_wr_p <=1'b0;
mcb_cmd_rd_p <=1'b0;
end
else begin
if(u_wr_cmd_en)// write
begin
mcb_cmd_instr <= MCB_CMD_WP;
mcb_cmd_byte_addr <= u_wr_addr[29:0];
mcb_cmd_bl <= mcb_wr_bl;
mcb_cmd_wr_p <=1'b1;
mcb_cmd_rd_p <=1'b0;
end
else if(u_rd_cmd_en)//read
begin
mcb_cmd_instr <= MCB_CMD_RP;
mcb_cmd_byte_addr <= u_rd_addr[29:0];
mcb_cmd_bl <= mcb_rd_bl;
mcb_cmd_wr_p <=1'b0;
mcb_cmd_rd_p <=1'b1;
end
else begin
mcb_cmd_wr_p <=1'b0;
mcb_cmd_rd_p <=1'b0;
end
end
end

mcb_cmd_instr :控制命令,一般是读命令或者写命名
mcb_cmd_byte_addr :控制命令地址,一般是写地址或者读地址
mcb_cmd_bl :控制命令长度,一般是写入数据的深度、或者需要读出数据的深度
mcb_cmd_wr_p:写使能同步
mcb_cmd_rd_p:读使能同步
以上模块实现了MCB读写命令控制,可以看出来当u_wr_cmd_en信号使能后就会实现一次写控制命令发送,当u_rd_cmd_en信号使能后就会实现一次读控制命令操作。并且从程序的接口看出来,写命令的优先级要高于读命令的优先级。
此文件中还有以下代码
mcb_cmd_en信号是读写命令使能信号
u_wr_cmd_done0 写命令完成
u_rd_cmd_done0 读命令完成
assign u_wr_cmd_done0 = mcb_cmd_en&(mcb_cmd_instr== MCB_CMD_WP);// user write cmd is done
assign u_rd_cmd_done0 = mcb_cmd_en&(mcb_cmd_instr== MCB_CMD_RP);// user read cmd is done
assign mcb_cmd_en = ((~mcb_cmd_wr_p1)&mcb_cmd_wr_p)||((~mcb_cmd_rd_p1)&mcb_cmd_rd_p);// mcb cmd enable

以下这个模块 mcb_cmd_wr_p和mcb_cmd_rd_p,u_rd_cmd_done1 ,u_wr_cmd_done1实现信号的一个周期的延迟,u_rd_cmd_done通知用户读命令完成,u_wr_cmd_done
assign u_rd_cmd_done=u_rd_cmd_done1[1];
assign u_wr_cmd_done=u_wr_cmd_done1[1];
always@(posedge clk)
begin
if(!rst_n)
begin
mcb_cmd_wr_p1 <= 1'b0;
mcb_cmd_rd_p1 <= 1'b0;
u_wr_cmd_done1 <= 2'b0;
u_rd_cmd_done1 <= 2'b0;
end
else begin
mcb_cmd_wr_p1 <= mcb_cmd_wr_p;
mcb_cmd_rd_p1 <= mcb_cmd_rd_p;
u_rd_cmd_done1 <= {u_rd_cmd_done1[0:0],u_rd_cmd_done0};
u_wr_cmd_done1 <= {u_wr_cmd_done1[0:0],u_wr_cmd_done0};
end
end


未完待续。。。。

使用特权

评论回复

打赏榜单

21ic小喇叭 打赏了 2.00 元 2015-09-09

28
feihufuture|  楼主 | 2015-9-8 10:19 | 只看该作者
给大家普及一下DDR3的带宽,时钟频率计算的知识:
DDR3-1600(实际内存核心的频率,DDR3-1600 只有 200 MHz)
1600 是我们一般讲的等效频率
DDR 内存的等效频率是时钟频率 x2

大家没必要去关心什么预取技术,记住一点:DDR3-N,它的时钟频率就是N/2,数据带宽就是N/2 * 2 * M,乘以2是因为DDR3时钟传输数据是双沿,M为DDR3的位宽,按DDR3-1600,16bit算,则带宽为25.6Gb/s

使用特权

评论回复
29
皈依| | 2015-9-8 10:52 | 只看该作者
赞一个,感觉楼主在为FPGA的普及而努力!

使用特权

评论回复
30
yhy123456| | 2015-9-8 21:48 | 只看该作者
楼主 ,能不能预定一块  

使用特权

评论回复
31
feihufuture|  楼主 | 2015-9-9 09:22 | 只看该作者
yhy123456 发表于 2015-9-8 21:48
楼主 ,能不能预定一块

我没样品了,已经转给南京米联电子科技有限公司代理生产和销售了;
淘宝搜索Mis603,可以搜到,报我的名字,飞虎,他们应该可以给你优惠价,具体销售策略我不清楚了,不好意思哈,源码我会一直持续更新中,这个周末我会将DDR3的视频控制设计共享完毕!

使用特权

评论回复
32
feihufuture|  楼主 | 2015-9-9 11:32 | 只看该作者
谢谢超级版主的打赏,今后一定强化共享精神,共同讨论研发经验,为本板块解答问题,近来有很多同学找我要源码,我还是希望大家多关注本帖子,我会将源码在本帖中陆续更新。。。

使用特权

评论回复
33
kangbidz| | 2015-9-9 15:34 | 只看该作者
大神啊

使用特权

评论回复
34
feihufuture|  楼主 | 2015-9-9 15:55 | 只看该作者
本帖最后由 feihufuture 于 2015-9-9 15:56 编辑


大神谈不上,直接喊我大名飞虎就行,在专业性方面,还没有很大建树,不过能力在,未来自我感觉还不错,哈哈

使用特权

评论回复
35
dawei360| | 2015-9-9 17:38 | 只看该作者
一直想学FPGA能否提供下空板玩玩!

使用特权

评论回复
36
wu_npu| | 2015-9-9 18:17 | 只看该作者
楼主是调的IP核还是自己硬件语言编的?分享一下工程嘛。

使用特权

评论回复
37
dirtwillfly| | 2015-9-10 12:08 | 只看该作者
我的Z7020板子都在吃灰

使用特权

评论回复
38
feihufuture|  楼主 | 2015-9-10 15:07 | 只看该作者
dirtwillfly 发表于 2015-9-10 12:08
我的Z7020板子都在吃灰

你买的是zeboard还是 米尔的?

使用特权

评论回复
39
ecoren| | 2015-9-10 15:13 | 只看该作者
livelei 发表于 2015-9-6 12:34
楼主,你的千兆PHY是用的什么?88E1111?

88E1111是交换芯片吧,

使用特权

评论回复
40
dirtwillfly| | 2015-9-10 15:47 | 只看该作者
feihufuture 发表于 2015-9-10 15:07
你买的是zeboard还是 米尔的?

zeboard

使用特权

评论回复
发新帖 本帖赏金 8.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则