集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1104|回复: 1

在Protel DXP中进行FPGA设计和仿真

[复制链接]
lixirui 发表于 2018-8-8 15:30:16 | 显示全部楼层 |阅读模式
在Protel DXP中进行FPGA设计和仿真

在Altium Designer的Protel中进行FPGA设计和仿真
首先说明一下,Altium Designer的Protel中进行 FPGA设计可以采用:语言设计输入,原理图符号设计输入或者混合输入。象大多数FPGA设计软件一样,我们推荐用户采取层次化的设计方式:底层设计,上层例化(调用)。在底层用语言或原理图符号设计好一个个文件,并将这些文件生成图表符,上层在原理图的环境中将这些代表各个文件的图表符连接起来,并且可以使用我们提供的各种免费的模块(如虚拟仪器,处理器,外设等),来完成设计与测试。下面的例子中,我们对一个VHDL文件进行仿真,当然,我们也可以对原理图文件建立Testbench 进行仿真。
     在DXP主页面下,鼠标左键点击File\New\Project\FPGA Project,左边的工程资源管理器中就出现了一个名为发FPGA_Project1.PrjFpg的FPGA 工程, 现在可以左键点击File\Save Project as 来改变项目的保存路径和项目名称。在项目名称上右键点击,在引处的菜单中选择 Add new to Project\VHDL Document ,这样,在当前的工程当中添加了一个新的VHDL文件VHDL1.Vhd, 在VHDL文件上右键点击,在引处的菜单中选择Save as 来改变VHDL文件名称和保存路径。
现在,我们已经在一个FPGA工程中添加了一个空白的VHDL文件了。接下来,我们在空白的VHDL文件中输入VHDL源代码,保存文件。
完成VHDL文件设计后,左键VHDL文件名称,在引出的菜单中左键点击 Compile Document xxx.Vhd ,(xxx是用户自己定义的文件名),对这个VHDL文件进行编译,如果有什么错误信息就会自动启动消息窗口(Message),来提示用户那里有什么样的错误。经检查没有错误后,保存VHDL文件。 左键双击VHDL文件名称,打开VHDL文件, 在当前的文本编辑器环境下,左键点击Design\Creat VHDL Testbench, 这时,会自动在本工程中增加一个当前entity的Testbench文件, 这个Testbench文件已经引用了当前的entity ,并且将当前entity的所有输入列出来,用户只要给输入加上需要的测试数据就可以仿真了。有一点要注意,这个软件自动生成的Testbench文件没有任何和时序有关的的信息,如复位, 时钟等基本的信号波形也需要用户自己定义。左键双击Testbench文件名称,打开Testbench文件, 在当前的文本编辑器环境下,左键点击Simulator\Simulate, 启动仿真程序,这时,就会冒出一个Project Compile Order对话框,里面是软件自己认定的编译序列,选择Yes 关闭这个对话框,紧接着,又会冒出一个Choose Top Level 对话框,里面依次是:Testbench文件名称,Testbench文件的entity 名称,Testbench文件的entity 结构体的名称。选择Yes 关闭这个对话框。(这两个对话框是在第一次进行仿真才会出现的。) 随后,软件会自动生成一个xxx..so 波形文件并打开它(xxx.是当前的工程名)。并且会冒出一个Edit Simulation Signals 对话框,在要观察的信号上面的Show Wave 和 Enabled 下面的方格内打勾(缺省状态已经打勾了)。选择Done 关闭这个对话框。左键点击Simulator\Run To Time就会冒出一个Enter Time to Run to 对话框, 在Time Step 里面输入需要仿真的时间数值和单位, 选择Ok 关闭这个对话框并且开始仿真。
此时,这个xxx..so文件中就会以波形的形式出现当前设计的仿真结果。用户通过对比输入和输出波形来检查逻辑是否有错误。 在项目名称上右键点击,在引处的菜单中选择 Save Project,保存当前工程和仿真波形文件。
Protel中进行FPGA设计并将其下载到Nanoboard进行硬件调试
    在DXP主页面下(打开软件时缺省设置就出现DXP主页),用鼠标左键点击File\New\Project\FPGA Project,左边的工程资源管理器中就出现了一个名为发FPGA_Project1.PrjFpg的FPGA 工程, 现在可以左键点击File\Save Project as 来改变项目的保存路径和项目名称。
在项目名称上右键点击,在引处的菜单中选择Add new to Project\Schematic,这样,在当前的工程当中添加了一个新的原理图文件Sheet1.schDoc, 在原理图文件上右键点击,在引处的菜单中选择Save as 来改变原理图名称和保存路径。在项目名称上右键点击,在引处的菜单中选择 Add new to Project\VHDL Document ,这样,在当前的工程当中添加了一个新的VHDL文件VHDL1.Vhd, 在VHDL文件上右键点击,在引处的菜单中选择Save as 来改变VHDL文件名称和保存路径。 现在,我们已经在一个FPGA工程中添加了一张空白的原理图和一个空白的VHDL文件了。
     接下来,我们在空白的VHDL文件中输入VHDL源代码,保存文件。完成VHDL文件设计后,左键VHDL文件名称,在引出的菜单中左键点击 Compile Document xxx.Vhd ,(xxx是用户自己定义的文件名),对这个VHDL文件进行编译,如果有什么错误信息就会自动启动消息窗口(Message),来提示用户那里有什么样的错误。经检查没有错误后,保存VHDL文件。 左键双击原理图名称,打开原理图文件,在当前的原理图编辑器环境下,左键点击Design\Creat Sheet Symbol From Sheet, ,在冒出来的对话框上左键点击要生成一个图表符的VHDL文件,选中这个文件,按OK键,这时,光标上就会粘上一个绿色的图表符,移动鼠标,把这个图表符放到合适的位置,这时,我们可以看到,源代码的所有端口都在图表符上列出了。如果我们有多个VHDL文件模块,我们可以重复这个操作,在原理图中以生成图表符的方式调用各个VHDL文件模块,并且可以使用我们提供的各种免费的模块(如虚拟仪器,外设等),来完成设计与测试。左键点击Place\Bus 和Plaec\Wire ,用线和总线把各个模块连起来。对要接到FPGA芯片I/O口上的信号, 可以从FPGA Nanoboard Port-Plugin.IntLib 库里面拖出一些我们可以直接用的外设的图标,如时钟源,复位键,VGA,串口,键盘,LCD,LED,ADC/DAC,SRAM,SDRAM,SPEAKER ,CAN, JTAG_NEXUS等接口,把外设图标端口连接到我们设计逻辑的输入输出口上。还可以从FPGA Instruments.IntLib 库里面拖出一些虚拟的逻辑测试仪器,把这些仪器的输入连接到要观察的网络或总线上,下载后,就可以通过虚拟仪器来观察这些信号了。完成了设计,我们需要一个目标FPGA的约束配置文件。下面,我们给现有的设计加一个约束文件。
    左键点击 Project\Configuration Manager... 就会冒出一个Configuration Manager..对话框,在对话框的下部中间,在Constraint Files 旁边,左键点击Add 按键,会冒出一个 Choose Constraint file to add to project对话框,显示的是在FPGA目录下的约束文件,包括了所有的Nanoboard 板上FPGA子板的约束文件,我们可以根据现在板子上所插子板的型号和封装,选择对应的约束文件添加到当前工程中来,比如我们选择将NB1_6_XC2S300E-6PQ208.Constraint添加到当前工程中来,因为我们选用的是一个XC2S300E-6PQ208子板。这个约束文件包含了这个器件在Nanoboard 板上的外设的的所有的I/O口的位置约束信息,我们可以直接使用这个文件。虽然我们的设计没有用到所有的外设,但我们能用到的外设模块的的端口信息都在这个文件里面,我们直接使用这个文件。左键点击Project\Configuration Manager。。。在冒出来配置管理器对话框中,左键点击左下角Configurations 右边的Add 按键,在冒出来命名框里输入一个配置名称,这个配置是和我们自己建立的约束文件相对应的。在配置管理器对话框中选中配置。(配置名称下面的格子打上勾)。右键点击OK按键,关闭配置管理器对话框 。
     左键点击View /Devices View ,将Nanoboard 板通过并行电缆与电脑的并口连接好后上电,左键点击Live 左边的方格,打勾选中。这时,绿色的电路板图标和FPGA的图标。下面还有一行表示我们目前项目中所用的虚拟仪器和CPU内核的情况。左键点击右边的Program FPGA 按键,则整个工程开始编译,综合,布局布线,下载。
当下载成功后,子板上绿色的LOADED 小灯就会亮。这时,我们就可以使用Nanoboard 板上外设模块来对我们设计的逻辑进行调试和验证。




zhangyukun 发表于 2018-8-9 09:19:39 | 显示全部楼层
在Protel DXP中进行FPGA设计和仿真
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-2 00:04 , Processed in 0.067055 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表