小程序链接网站自己做,html网页制作app,大型网站多少钱,莱芜吧诚意带大家修车写在前面 模块复用是逻辑设计人员必须掌握的一个基本功#xff0c;通过将成熟模块打包成IP核#xff0c;可实现重复利用#xff0c;避免重复造轮子#xff0c;大幅提高我们的开发效率。 接下来将之前设计的串口接收模块和串口发送模块打包成IP核#xff0c;再分别调用…写在前面 模块复用是逻辑设计人员必须掌握的一个基本功通过将成熟模块打包成IP核可实现重复利用避免重复造轮子大幅提高我们的开发效率。 接下来将之前设计的串口接收模块和串口发送模块打包成IP核再分别调用这两个IP核构成串口接收--发送循回依次验证IP核打包及调用是否成功。 源码在这串口UART的FPGA实现 Vivado版本Vivado 2019.2 开发板xc7a35tfgg484-2
打包
打包串口发送模块uart_tx 1、首先打开发送模块的VIVADO工程确保其编译无误最好进行仿真验证、上板验证保证其功能正确性如下 2、点击Tools-----create and package new ip 3、点击Next 4、选择选项1点击Next各选项含义
1---将当前工程打包为IP核2----将当前工程的模块设计打包为IP核3----将一个特定的文件夹目录打包为IP核4----创建一个带AXI接口的IP核 5、选择IP存放路径建议专门建一个文件夹来管理所有建立的IP核然后点击Next 6、点击OK然后点击NEXT会自动创建一个新工程用来生成IP核 7、新生成的IP核打包工程如下 在右边的界面可以配置一系列参数
Identification主要是一系列信息如IP名字开发者、版本号等。因为本文仅作示范所以我这边所有信息都没改
compatibility兼容的系列这里根据自己需求添加所需要的系列芯片就好了。我这边保持默认
file groupsIP核的文件架构可以添加或删除文件。比如添加仿真文件、例化文件说明文件等。我这边保持默认
Customization Parameters定制化参数。可对参数进行自己的配置如参数名称啊类型啊自定义区间可选列表等。 点击BPS----edit parameter对参数进行配置该参数为串口模块的波特率 将格式Format改为long类型再勾上Specify RangeType改成List of values再添加3个参数仅作示范--4800、9600、115200。再将默认值Default value改为9600。这样就将该参数配置成了可选参数默认9600可选值4800、9600、115200。 再使用同样的方法将参数CLK_FRE模块时钟频率改为long类型默认50000000. Ports and Interfaces这里展示了IP的接口可根据需求添加、删除接口或者总线。 需要说明的是这里很容易报警告 这个警告是因为IP核打包器在设计中推断出了时钟端口或是复位端口。例如如果信号名称包含以下任何一种[ ]clk[ ]clkin [ ]clock[ ] [ ]aclk 或 [ ]aclkin那么IP打包器就会为将其判断成为时钟接口。被自动判断出的接口IP打包器会倾向于认为你使用AXI接口来处理这个信号因为IP打包器工具主要是针对于AXI接口。所以如果你的IP中并不使用AXI总线这两条警告可以直接忽略在实际的IP中不会有任何的影响。
Addressing and Memory地址分配和储存映射。本设计用不到直接跳过感兴趣的可以看XILINX的手册UG1118。
Customization GUI参数设置的GUI界面。可以对以后配置IP核的界面做一个修改。可以看到红框内的参数都是我设置好的默认值。 Review and PackageIP核总览及生成界面。点击Package IP完成IP打包 IP核成功打包如下 打包串口接收模块uart_rx 使用同样的方法把串口接收模块也打包成IP。
调用 接下来分别调用这两个IP核构成串口接收--发送循回依次验证IP核打包及调用是否成功。 首先新建一个工程点击Settings----IP----Repository 添加IP核所在路径 点击 create block design新建一个BD模块建议名称与项目名称一致。 在BD编辑窗口添加IP搜uart就出现了我们打包的两个IP核 分别添加串口发送模块和串口接收模块 把对外的四个端口clk,rst,txd,rxd引出来右击sys_clk点击make external 其他三个端口操作一致再把对应的线连接然后点击regenerate layout 这里我们的 Block Design 就设计完成了在 Diagram 窗口空白处右击然后选择“Validate Design” 验证设计。验证完成后弹出对话框提示“Validation Successful”表明设计无误点击“OK”确认。最后按 快捷键“CtrlS”保存设计。 接下来在 Source 窗口中右键点击 Block Design 设计文件“system.bd”然后依次执行“Generate Output Products”和“Create HDL Wrapper”。 然后添加管脚约束生成bit流文件。
测试 下载bit流文件使用串口调试助手发送一包数据给FPGA理论上FPGA马上回相同的信息给串口调试助手此时串口波特率9600 返回设计阶段点击IP核框图将波特率改为115200如下 重新生成并下载bit流文件使用串口调试助手发送一包数据给FPGA理论上FPGA马上回相同的信息给串口调试助手此时串口波特率115200 参考资料 UG1118----Creating and Packaging Custom IP 米联客----XILINX 7 系列 FPGA 基础入门