lcytms
发表于 2018-11-18 13:42:48
本帖最后由 lcytms 于 2018-11-18 13:44 编辑
0939
状态机你回到哪了?
状态机搬完了以后,是s12吧。
应该回到s1。
S1是对的。
对了,放的时间不够。
我停得早了一点,停晚了就看到了。
没错。
仿真结果都是正确的。
还是粗心大意。
我们不是不会,粗心大意造成的,产品竞争,在这方面是很吃亏的。
lcytms
发表于 2018-11-18 13:48:57
0940
明明我们会,就是粗心大意造成的。
就是非常简单的一个逻辑的判断。
现在我们来看。
你有没有做反标?
(没有)。
你有图吧?
data_move这个没图是吧?
没图也可以做反标。
如果没有做,我就现在给做了。
做反标以后就发给大家。
然后我们就可以进入工程的课程了。
这个0:0的都出来了。
lcytms
发表于 2018-11-18 14:20:23
0941
用的是Stratix II。
然后呢,我们要执行反标,执行反标之前,有这么几件事要做。
这边要跟工程对接了。
这边仿真都过了。
首先我们要把它的配置管脚要让出来。
从assignments菜单项进入device对话框,选择device and Pin options,选择多用途管脚。
ASDO、nCSO,这两根线,它默认是做通用线。
这根线不能让它反标出来。
要把它设置为输入三态。
这样就不会为它分配了。
其它的我们暂时用不到,就可以做通用。
Data已经把它作为三态了,就是专用的管脚。
lcytms
发表于 2018-11-18 14:22:04
0942
过一次分析和综合。
我们在顶层上还有一些管脚,现在是用不到的。
lcytms
发表于 2018-11-18 14:23:48
0943
比方说像source的地址,24位的地址。
目标地址。
这些呢,都是由上游的逻辑,它并不是真正分配端口的。
这个呢,可以做成虚拟管脚。
总共有96个脚。
其中有48个脚,是做地址线。
这个地址线,其实我们用不到。
因为它是逻辑。
是内部,不是顶层的端口,所以我们用不到。
把它分配成虚脚。
从assignments菜单项进入assignment editor对话框。
lcytms
发表于 2018-11-18 14:26:29
0944
节点。
点list。
选择source_addr和target_addr。
点OK。
在category下面选advanced,高级的。
点assignment name黄色部分,拖到最下面一行,虚拟管脚。
也可以打字母V。
然后在值上打上on。
lcytms
发表于 2018-11-18 14:27:37
0945
再做一次分析和综合。
lcytms
发表于 2018-11-18 14:30:00
本帖最后由 lcytms 于 2018-11-18 17:39 编辑
0946
稍后还得做一次,要做全编译。
这个管脚只有48了。
这个虚脚给你标注出来了。
虚脚就不会给你分配了。
我们现在进它的Pin Planner,管脚布局里的local的地址线就不再列出来了。
虚脚嘛,这个不需要分配的嘛。
它是内部逻辑嘛。
但是现在我们要做什么事?
现在mem前缀信号,它是3.3V的,肯定不对。
现在运行脚本。
Tools-Tcl scripts,运行它的pin_assignments,run即可。
Run了以后,给你约束出来了。
lcytms
发表于 2018-11-18 17:45:34
0947
然后呢,我们给它指定dqs的脚。
现在是16位的,我们dqs是两根线,dqs,dqs。
dqs我放到这边,当然你也可以选下面走。
双击,做dqs。
dqs我放到这。
就是从哪个方向出线,你得告诉它。
它是随路时钟,所有EDA的线都会绑定,围绕着它一起做布局。
然后全编译。
对于高速板,这种反标至关重要。
因为很多高速逻辑,它跑不起来,设计上无论你的逻辑写得多么完美,最后你的高速性能不能实现,一切都是为空。
lcytms
发表于 2018-11-18 17:49:24
0948
老板让你跑到800M,你说我跑不到800M,600M可不可以?
无论其它的性能怎么怎么好,你只要跑不到800M,一切都是空谈。
关键看装配。
过30%差不多就有门。
35%之前,它是检查布局的,没问题了。
页:
1
2
3
4
[5]
6
7
8
9
10
11
12
13
14