research puzzle
腐姐吧
全部回复
仅看楼主
level 7
啊以丁1s 楼主
1L du熊
2013年04月18日 01点04分 1
level 7
啊以丁1s 楼主
NAND 的 op R & W
FC cmd到data interrupt forbidden
=> FC 需要 BUFFR & BUFFW
=> cmd & data 同步?
2013年04月18日 01点04分 2
level 7
啊以丁1s 楼主
cache L1 L2 L3 ctrl很不方便=3=
+ MIG39...RAM...
都TM怪FC!
DDR RAM BUFF?
DDR BUFF RAM?
..............................1............................
data multi-layer delay? 大丈夫?
少女思考加速发动ing
2013年04月18日 01点04分 3
level 7
啊以丁1s 楼主
BUFFR BUFFW 与cmd 同步率100% => FC data trans solved
NAND <--> BUFF priority HIGH
BUFF <--> RAM priority MID
RAM <--> DDR priority LOW
---------------------------------------------------------
BANDWIDTH? --[汗]
2013年04月18日 01点04分 4
少了个 DDR <--> HOST priority unknown??? very low?? 考虑到速度够,但一对多,不好说呀
2013年04月18日 02点04分
level 7
啊以丁1s 楼主
要是量子计算机就好了 ( ̄3 ̄)a
back -> synchronous puzzle
solution: null
cmd_next timing hard to archieve
------------------------------
摔! 不然要BUFF干嘛!
------------------------------
back -> timing trick
R P E
E null
R short -> during busy or ready?
P long -> must ready first
=> ready...OK
2013年04月18日 01点04分 5
level 7
啊以丁1s 楼主
NEXT
BUFF <--> RAM puzzle:
NAND -> BUFF CANNOT BE INTERRUPTED
BUFF -> NAND CANNOT BE INTERRUPTED
RAM -> BUFF CAN BE INTERRUPTED
BUFF -> RAM CAN BE INTERRUPTED
--------------------------------------
啊!枣恭介大人!@///@
--------------------------------------
5L 不对了...
case R0 R0 R0
无缝的话data->BUFF来不及的样子
=> when busy BUFF data -> RAM
when trans NAND data -> BUFF
[花痴]DONE!
2013年04月18日 02点04分 6
P0 P0 P0的case确实有充足的时间来做trans的说
2013年04月18日 02点04分
这里有个问题:不考虑R0 R0 R0的话,要怎么调整??还是按照优先级来比较好?
2013年04月18日 02点04分
回复 conanandai100 :理论上,按优先级来比较好
2013年04月18日 02点04分
level 7
啊以丁1s 楼主
NEXT
RAM DEEPTH - OK
BUFF WIDTH - OK
RAM TRANS RATE - OK
BUFF TRANS RATE - OK
DMA CTRL - HARD
SPEED CTRL - HARD
------------------------------
DMA CTRL LOGIC:
addr 16 bit[max] need to be revised
REQ signal
roration - -?
2013年04月18日 02点04分 7
想了一下 这里显然是有很大的bug DMA并不知道什么时候busy什么时候idle feedback很难弄 不是一个规范的东东
2013年04月18日 03点04分
RAM的价值需要再衡量一下 另外DDR是双沿
2013年04月18日 07点04分
主要还是bandwidth的问题,如果来得及就不需要RAM了...加上去会增加逻辑量 真是伤脑筋
2013年04月18日 08点04分
level 11
puzzle ex:
FIFO or BUFF?
either syn
BUFF asyn
------------------------------
RAM?
sequential NULL
schedule randomly NEED
------------------------------
大概这样的感觉
图片来自: conanandai100的百度相册
2013年04月18日 09点04分 9
level 11

Started : "Synthesize - XST".Running xst...Command Line: xst -intstyle ise -ifn "E:/Jormangandr/BUFF/dragonbuff/DRAGONBUFF.xst" -ofn "E:/Jormangandr/BUFF/dragonbuff/DRAGONBUFF.syr"Reading design: DRAGONBUFF.prj
=========================================================================* HDL Parsing *=========================================================================Parsing VHDL file "E:\Jormangandr\BUFF\dragonbuff\Buffer.vhd" into library workParsing entity <DRAGONBUFF>.Parsing architecture <Behavioral> of entity <dragonbuff>.
=========================================================================* HDL Elaboration *=========================================================================
Elaborating entity <DRAGONBUFF> (architecture <Behavioral>) from library <work>.
=========================================================================* HDL Synthesis *=========================================================================Process interrupted by the user
Process "Synthesize - XST" did not complete
2013年04月22日 06点04分 10
level 8
这是个奇怪的地方
2013年04月22日 06点04分 11
level 7
啊以丁1s 楼主
很明显,两个BUFF不能同时满足NAND和DDR,需要R和W分开来,开掉重练吧
2013年04月22日 12点04分 12
[揉脸]
2013年04月23日 02点04分
level 11
Xst:3218 - HDL ADVISOR - The RAM <Mram_BUFF> will be implemented on LUTs
either because you have described an asynchronous read or because of currently
unsupported block RAM features. If you have described an asynchronous read,
making it synchronous would allow you to take advantage of available block RAM
resources, for optimized device usage and improved timings. Please refer to your
documentation for coding guidelines.
2013年04月23日 09点04分 13
level 11
reg r1 = 0;
reg r2 = 0;
assign dataout = r1 ^ r2;
always @ (posedge clk)
if (R | S)
begin
r1 <= S;
end
else
begin
r1 <= datain ^ r2;
end
always @ (negedge clk)
if (R | S)
begin
r2 <= 0;
end
else
begin
r2 <= datain ^ r1;
end
2013年04月27日 08点04分 14
1