Dec 28

[复刻版]初期系统规划工具 不指定

两年前写过一篇文章叫《对FPGA进行系统设计的Xilinx软件使用方法》。时隔两年,ISE从7.1升级到了10.1,稍稍来更新一下这篇文章吧。

这篇文章并不是讲述系统规划的方法,不是讲述系统规划时应该注意的一二三,而只是讲述了如何用工具提高效率的方法,适用程度因人而异。

---------------------BEGIN---------------------

Situation: 在对FPGA设计进行最初步的系统规划的时候,需要进行模块划分,模块接口定义等工作。通常,我们起初会在纸上进行设计,到了一定阶段的定稿可能会输入Visio等工具,方便在Team内部交流和审阅。虽然在纸上我们可以很随意地书写,而用纸画的不方便就在于,如果想对某一个模块进行一些改动或者重画模块,那么常常因为留出的空余纸张不够,而导致拿一张新的白纸重新画一遍,比较浪费时间。对于电子化的Visio来说,方便修改是好处,但他不是专为设计FPGA系统而设计的,添加输入输出端口没那么方便,也不会根据定义的模块自动生成HDL文件。

Question: 我们能不能使用更好软件进行系统规划呢?

Solution: 答案是可以的。下面以ISE 10.1为例作说明:

1) 画一个空模块,仅定义端口 - 新建Schematic,选择Tools -> Symbol Wizard,里面可以定义Symbol名和端口属性。完成后生成sym格式的Symbol。如果端口是一个bus,那么可以用A(4:0)的形式。
点击在新窗口中浏览此图片

2) 将Symbol添加到原理图 - 在Schematic的Symbol页面,选择Categories为工程文件夹,在Symbols列表中就可以看到刚刚新建的Symbol。将它添加到原理图中。

3) 重复1-2步骤,建立所有Symbol,并连接端口。如果需要修改连线的名字或者模块的例化名,可以选择需要修改名字的元件然后按右键--> Object Properties --> 在Name/InstName窗格中填入需要的名字。

4) 如需修改Symbol,可以直接在sym文件中修改 - 可以按右键-> Add -> Pin等等添加,也可以Copy已存在的Pin,然后改变PinName。但是ISE10.1的Symbol Editor对Add Pin有一些Bug。因此在UltraEditor打开这个sym文件,在里面修改可能是更好的办法。sym文件格式很易懂。改变 Symbol端口后需要Update Schematic。在点到Schematic后会自动弹出Update对话框。

5) 生成原理图对应的HDL文件 - 点击"Sources in Project"列表中的sch文件,在"Process"窗口选择"View HDL Functional Model"。这样会自动生成Schematic对应的HDL文件,其中例化了上面的各个模块。要改变HDL文件类型,可以改变Project属性中的"Generated Simulation Language"属性。

6) 生成Symbol对应的HDL文件 - 在打开一个sym文件时,选择Tools -> Generate HDL Template from Symbol。此时可以选择生成VHDL还是Verilog的文件。

至此,我们已经生成了顶层文件和待开发的子模块文件,我们已经可以在它的基础上进行开发了。在开发过程中我们可能还会碰到这些问题:
1. 我想把设计图打印下来
- 除了ISE自带的打印功能外,要打印好看的图纸,还可以使用Synplify Pro或PlanAhead。由于以上流程生成的代码都是可综合的,带有端口信息的HDL会被综合工具认为是一个blackbox的wrapper,因此我们可以用ISE或Synplify将这些代码综合,综合工具会生成比较好看的综合模块图(RTL Schematic)。除了可以用ISE和Synplify打开这些综合网表产生RTL Schematic之外,也可以用PlanAhead打开综合网表,它的Schematic显示功能更为强大。

2. 我要修改某些模块的端口,并添加连线
修改模块端口是否还需要在原来的Schematic上编辑修改呢?这是仁者见仁智者见智的问题了。我个人在生成了带端口信息的HDL后还是偏好修改HDL --> 综合 --> 在PlanAhead中产生需要的连接图 --> 打印 --> 在打印稿上继续思考写写划划 -->继续修改HDL 这样的流程。

---------------------END--------------------------
Tags:
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]