uisrc 发表于 2022-7-3 17:51:57

04使用京微齐力Fuxi开发工具创建FPGA工程

软件版本:Fuxi2022.1操作系统:WIN10 64bit硬件平台:适用京微齐力FPGA登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!1概述实验目的:1:掌握基于Fuxi创建FPGA工程的方法2:掌握基于Fuxi新建FPGA代码文件3:掌握基于Fuxi调用PLL IP CORE4:掌握基于Fuixi添加时序约束5:掌握基于Fuxi添加PIN脚约束2创建FPGA工程2.1创建1个新的工程启动Fuxi2022.1创建一个新的工程Project Directory设置工程路径Project Name 设置fpga工程名称,米联客的教学内容fpga工程一般命名为fpga_prjTopModule Name设置顶层模块的名称Design Files如果有,可以单击Add添加,也可以工程创建完成后新建或者添加,这里我们还没有创建FPGA代码文件,所有先不添加。Device Family设置向导:Family:FPGA的系列家族,这里选择P1Device Type:选择FPGAPackage:封装选择BGA324Flash:P1默认没有内置FLASH所以是NO Flash
Current Select Device选型向导:选择具体的FPGA型号,这里选择P1P060N0V324C7
Operation Condition:芯片操作设置向导Junction Temperature:何止工作温度范围Core Tolerance Range:设置核心工作电压范围,一般选择默认设置Perform Timing Analysis Base on:设置时序分析策略,一般设置为Typical2.2创建FPGA程序文件右击创建或者添加文件,把工程文件管理标签切换到Project可以看到fpga_prj工程名。我们这里创建一个新的pll_test文件,并且编写相应的代码右击下图空白处,单击Add New File(如果有编写好的代码也可以直接选择Add Existing File)米联客习惯把一些IP路径根据自己的习惯放到自定义的路径下创建pll_test.v测试程序文件,并且保持到uisrc/01_rtl路径下
编写测试代码
module pll_test(input sysclk,output up_led);wire up_led;
wire    clk0;wire    pll_lock;reg cnt;
assign up_led = {cnt };
mypll mypll_u(.clkin0 (sysclk),.clkout0(clk0),//single output up to 200MHz.locked (pll_lock));
always @ (posedge clk0)begin   cnt <= cnt + 1'b1; //cnt power on initial value is all 1end
endmodule


2.3添加PLL IP以上代码中用到了PLL,PLL IP的添加过程如下:添加IP选择Phase-Locked Loop 这个IPNumber of clock output:输出的时钟数量选择1,最大可以设置6Delay unity 设置时钟相位偏移的方式,默认是设置角度Clock0 output:Frequency设置倍频输出的频率Delay设置相位其他的Use fraction divider和Dynamic phase shift以及Bypass模式都没用到可以看到右边mypll ip里面调用 PLLV1 源语2.4手动更新层次化目前fuxi软件默认需要手动刷新(手动刷新可以防止自动刷新导致某些时候卡顿)后才能看到FPGA的层次结构,切换到Hierarchy,并且单击下右边的箭头位置如图,更新下层次设计3添加PIN脚约束Fuxi软件目前添加PIN脚约束只能通过向导方式,所以需要先实现RTL的综合,这样软件才能识别到端口的IO名称(后期Fuxi应该也会支持直接添加文本方式的PIN脚约束)。如果综合有错误,需要修改后重新综合之后单击IO Editor就可以添加PIN脚了Port Name:端口信号名称Location和Pin Name都是可以约束到具体的IO上的,其中location是X芯片封装的IO位置,而Pin Name对应了IO的功能Direction:代表了信号的传输方向,这个也是由代码的端口信号决定Operation Mode:操作模式,可以看到Fuxi可以自动识别是时钟还是普通IO信号Fast Input:是否是高速输入信号Fast Output:是否是高速输出信号Bank: IO所在的BANK位置IO Stander 选择IO电平,正确的IO电平可以达到最大的速度Drive Strength(mA):电流驱动能力,这里选择默认8maBus Keeper:暂时不知道什么功能Slew Rate:设置信号的速度类型Transceiver I/O Termination:终端电阻设置Input Delay:输入延迟时序约束Output Delay:输出延迟时序约束设置完成后保存4添加时序约束单击箭头所指图标可以选择创建一个新的时序约束文件,或者一个已经存在的时序约束文件首先对系统输入时钟约束之后设置正确的时钟频率或者周期以同样的方式对PLL输出的时钟约束之后保存约束提示是否添加到当前的工程,单击YES刷新下,就能看到timing.sdc添加进来了5一键编译单击如下图标编译可以看到全部编译通过5查看时序报告6程序下载1:硬件连接请确保下载器和开发板已经正确连接,并且开发板已经上电(注意JTAG端子不支持热插拔,而USB接口支持,所以在不通电的情况下接通好JTAG后,再插入USB到电脑,之后再上电,以免造成JTAG IO损坏)
2:程序下载单击下载按钮京微齐力推荐程序直接下到FLASH速度更快下载成功这个时候已经可以看大LED的运行,断电重启后,程序也能从FLASH启动3:运行结果7如何压缩程序增加速度选择Settings,设置Bitstream的压缩方式,可以减少下载实际,也可以增加FPGA的加载速度附录:常见问题1联系方式米联客官方社区:www.uisrc.com
米联客社区FPGA/SOC QQ群:群1:516869816         群2:543731097群3:86730608         群4:34215299
技术微信:18951232035技术电话:18951232035
官方微信公众号(新微信公众号):2售后1、7天无理由退货(人为原因除外)2、质保期限:本司产品自快递签收之日起,提供一年质保服务(主芯片,比如FPGA 或者CPU等除外)。3、维修换货,需提供淘宝订单编号或合同编号,联系销售/技术支持安排退回事宜。售后维修请登录工单系统:https://www.uisrc.com/plugin.php?id=x7ree_service4、以下情形不属于质保范畴。A:由于用户使用不当造成板子的损坏:比如电压过高造成的开发板短路,自行焊接造成的焊盘脱落、铜线起皮 等B:用户日常维护不当造成板子的损坏:比如放置不当导致线路板腐蚀、基板出现裂纹等5、质保范畴外(上方第4条)及质保期限以外的产品,本司提供有偿维修服务。维修仅收取器件材料成本,往返运 费全部由客户承担。6、寄回地址,登录网页获取最新的售后地址:https://www.uisrc.com/t-1982.html3销售天猫米联客旗舰店:https://milianke.tmall.com京东米联客旗舰店:https://milianke.jd.com/官方淘宝1店:https://milianke.taobao.com官方淘宝2店:https://osrc.taobao.com
销售电话:18921033576
公司地址:常州溧阳总部:常州溧阳市中关村吴潭渡路雅创高科智造谷10-1幢楼南京研发基地:南京市栖霞区仙林大道181号5幢1820室4在线视频https://www.uisrc.com/video.html5软件下载https://www.uisrc.com/f-download.html6经验分享https://www.uisrc.com/f-390.html7官方博文https://www.uisrc.com/portal.php?mod=list&catid=35
页: [1]
查看完整版本: 04使用京微齐力Fuxi开发工具创建FPGA工程