需要写点东西记录一下这个阶段遇到的问题了!
给自己留下成长的足迹。
我们现在项目主要的基础是多级SE网络,这个东西是同构的功能模块进行及联得到的,所以实现时肯定要从最小的功能单元开始,也就是有四种连接方式的交叉开关。
昨天做了一个,从功能仿真上看其得到的结果还是很让人满意的但是还是有一些问题需要留待后续改进的:
1。连通方式选择端由3位组成,现在用的是顺序编码,考虑在以后修改成格雷码或增加ff来避免毛刺。
2。开始设计时加入了CE端,不过发现在连通控制端还有多余的条件码,所以用其直接来实现使能功能,降低控制复杂度
3。预留了两个通道的BUSY位,为以后的链路控制提供足够的信息,但如何运用需要进一步研究算法
4。原计划的在交叉开关级实现的流水线数据传递的具体流程需要深入研究
现在正在做该模块的功能验证Top:用Basys的8位开关做为A输入,一个内部8位计数器(1Hz)作为B输入同时显示到LED上,BNT2~0 做交叉方式选择开关,7段数码管显示由A输出B输出来的数据(16进制)。
再顺手记录一下工程中遇到的一些小问题吧,希望对大家能有啥帮助。
1。刚开始应用component时没留神把命字写错了,结果就弹出 NGCBuild:604错误,郁闷了好一会,改过来之后发现一个技巧:在同一个工程下的vhdl文件从Source窗口看都应该隶属于那个Top文件,如果要是不小心把你要引用的Component模块名字拼错的话,那个component的实现文件就会被安排在Top之外,而且在Top之下会有一个你输入的错误名字文件(前面加?号),很容易发现错误。
2。在实例化component时各个输入变量使用“,”分割的,刚开始用成了“;”结果就出了一大堆Error,大汗~~~~![]()
ERROR:HDLParsers:164 - "E:/Project/SENet/SENet_Top.vhd" Line 142.
parse error, unexpected SEMICOLON, expecting COMMA or CLOSEPAR
ERROR:HDLParsers:3312 - "E:/Project/SENet/SENet_Top.vhd" Line 143.
Undefined symbol 'DispCol'.
ERROR:HDLParsers:1209 - "E:/Project/SENet/SENet_Top.vhd" Line 143.
DispCol: Undefined symbol (last report in this block)
改过来就好了,总之由于粗心大意犯了很多错误,走了不少弯路大家以我为戒吧 ![]()