Platform Designer 自定义IP(用于纯RTL设计)

在开始菜单找到Quartus Prime工具,点击并打开。

点击Quartus菜单File——New:

选择Verilog HDL File,点击OK:

这是新建的.v文件如下:

在新建的.v文件中键入如下Verilog代码:

module mux2x1(		//模块的开头以“module”开始,然后是模块名“mux2x1”input	clk,input	reset,input	[3:0]	in1, //数据输入信号in1input	[3:0]	in2, //数据输入信号in2input  sel, //选通信号output	[3:0]	out //输出信号
);
//此处使用的是条件运算符(三目运算符),当括号里面的条件成立时
//执行"?”后面的结果;如果括号里面的条件不成立时,执行“: ”后面的结果assign out = (sel == 1'b1) ? in2 : in1;endmodule

然后点击保存,将文件存为mux2x1.v:

点击Platform Designer 图标:

在弹出的窗口里面双击New Component:

然后在Component Type 栏填入如下信息:

然后在Files栏点击Add File...:

选择事先新建好的IP文件夹里面的mux2x1.v文件:

然后点击Analyze Synthesis Files进行mux2x1.v文件的分析和综合,当分析和综合信息提示窗口没有错误提示以后,直接点击Close关闭分析信息提示窗。

此时Message窗口还有这些错误提示,暂时不管。( 注意:不要把 message栏中的错误提示误认为是综合分析的错误提示了, message 栏中的错误提示是告诉用户这个组件的某些设置有问题,这些是需要以后的IP互联的步骤中解决。)

然后点击Signal&Interface窗口:

再点击<<add interface>>选择Conduit来添加一个Conduit 端口:

修改conduit端口的name为conduit_in1,Associated Reset 设置为reset:

然后选中in1信号拖拽到Conduit_in1下面来:

接着连续添加3个Conduit端口,分别命名为Conduit_in2、Conduit_sel、Conduit_out,然后将这三个Conduit端口的Associated Reset 都设置为reset。然后再将in2、sel、 out三个信号拖拽到对应的Conduit端口下:

然后删除多余的avalon_slave_0端口:

然后点击Finish:

这时候在IP Catalog栏就可以看到刚才自定义的IP了:

双击IP Catalog窗口的mux2x1 IP 就可以将其添加到Platform Designer窗口啦!

我们在后期的教程中将会演示如何将该IP添加到Platform Designer 当中,然后完成一整个纯RTL 的FPGA系统设计。

备注

1. 每次移植该IP给其他项目工程使用的时候,请连同拷贝这两个文件mux2x1.v和mux2x1_hw.tcl。

2. 在前面保存mux2x1_hw.tcl文件的时候不小心选择了默认路径,保存到Quartus安装路径下去了,移植时记得将mux2x1_hw.tcl拷贝到IP文件夹里面去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1488691.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

vue element-ui日期控件传参

前端&#xff1a;Vue element-ui <el-form-item label"过期时间" :rules"[ { required: true, message: 请选择过期时间, trigger: blur }]"><el-date-picker v-model"form.expireTime" type"date" format"yyyy-MM-dd&…

计算机实验室排课查询小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;实验室信息管理&#xff0c;实验室预约管理&#xff0c;取消预约管理&#xff0c;实验课程管理&#xff0c;实验报告管理&#xff0c;报修信息管理&#xff0…

鸿蒙北向开发 DevEco Studio 4.1 下载安装傻瓜式教程

开篇 由于鸿蒙处于快速发展中,鸿蒙的api快速迭代更新,老版本的DevEco studio无法支持更新版本的api,因此华为官网放弃了老版本的维护.直接从华为开发者官网无法下载老版本,当前华为开发者官网已经推出next版本了 DevEco studio3.1安装教程 上述教程提供的华为开发者官网地址已经…

Python --NumPy库基础方法(1)

NumPy Numpy(Numerical Python) 是科学计算基础库&#xff0c;提供大量科学计算相关功能&#xff0c;比如数据统计&#xff0c;随机数生成等。其提供最核心类型为多维数组类型&#xff08;ndarray&#xff09;&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;Numpy支持向…

python编程表白爱心代码,来自程序员的浪漫!

Python爱心表白代码 感觉的紫色要更加浪漫&#xff0c;其中的文字也是可以直接更改的&#xff0c;非常方便 <文末附带精品籽料> 改变爱心的颜色: 在源代码的13-15行位置&#xff0c;可以通过更改16进制颜色色值进行改变爱心的颜色&#xff0c;这里小编改了一点绿色&…

人生低谷来撸C#--018 匿名方法

1、概念 在 C# 中&#xff0c;匿名方法&#xff08;anonymous methods&#xff09;和 Lambda 表达式&#xff08;lambda expressions&#xff09;是两种非常有用的功能&#xff0c;它们允许你在不定义命名方法的情况下编写简短的、内联的代码块。 匿名方法&#xff08;Anonym…

驰骋低代码如何实现对实体的权限控制?

驰骋低代码平台通过一套精细的权限控制机制&#xff0c;实现了对实体&#xff08;如车辆、学生、员工、固定资产等&#xff09;的查询范围权限和操作权限的全面控制。这种权限控制不仅确保了数据的安全性和准确性&#xff0c;还提高了系统的灵活性和可定制性。以下是驰骋低代码…

SpringBoot:JWT+Interceptor 实现基本的登录验证

前置背景 Result类 &#xff1a; package com.example.day724test.Dao;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;//统一响应结果 NoArgsConstructor AllArgsConstructor Data public class Result<T> {private Intege…

Qt+OpenCascade开发笔记(一):occ的windows开发环境搭建(一):OpenCascade介绍、下载和安装过程

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140604141 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

【数据结构】手把手教你单链表(c语言)(附源码)

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;数据结构 目录 前言 1.单链表的概念与结构 2.单链表的结构定义 3.单链表的实现 3.1 单链表的方法声明 3.2 单链表方法实现 3.2.1 打印链表 3.2.2 创建新…

机械学习—零基础学习日志(高数11——三角函数)

零基础为了学人工智能&#xff0c;真的开始复习高数 三角函数之所以比较困难&#xff0c;是因为过于抽象&#xff0c;距离生活太过遥远&#xff0c;这里搜集一些资料&#xff0c;帮助大家能加深对三角函数的理解。 三角函数作用——能测距离 三角函数从应用层&#xff0c;开…

C++ | Leetcode C++题解之第287题寻找重复数

题目&#xff1a; 题解&#xff1a; class Solution { public:int findDuplicate(vector<int>& nums) {int slow 0, fast 0;do {slow nums[slow];fast nums[nums[fast]];} while (slow ! fast);slow 0;while (slow ! fast) {slow nums[slow];fast nums[fast]…

RuoYi基于SpringBoot+Vue前后端分离的Java快速开发框架学习_2_登录

文章目录 一、登录1.生成验证码2.验证码作用1.大体流程2.代码层面(我们都是从前端开始看起) 一、登录 1.生成验证码 基本思路&#xff1a; 后端生成一个表达式&#xff0c;例如34?7,显而易见后面是答案截取出来题干和答案把题干11&#xff1f;变成图片&#xff0c;变成流&a…

【Qt】QLCDNumber和QProgressBar

目录 QLCDNumber 倒计时小程序 相关属性 QProgressBar 进度条小程序 相关设置 QLCDNumber QLCDNumber是Qt框架中用于显示数字或计数值的小部件。通常用于显示整数值&#xff0c;例如时钟、计时器、计数器等 常用属性 属性说明intValueQLCDNumber显示的初始值(int类型)va…

Python爬虫技术 第13节 HTML和CSS选择器

在爬虫技术中&#xff0c;解析和提取网页数据是核心部分。HTML 和 CSS 选择器被广泛用于定位网页中的特定元素。下面将详细介绍这些选择器如何在 Python 中使用&#xff0c;特别是在使用像 Beautiful Soup 或 Scrapy 这样的库时。 HTML 选择器 HTML 选择器基于 HTML 元素的属性…

uniapp手写滚动选择器

文章目录 效果展示HTML/Template部分&#xff1a;JavaScript部分&#xff1a;CSS部分&#xff1a;完整代码 没有符合项目要求的选择器 就手写了一个 效果展示 实现一个时间选择器的功能&#xff0c;可以选择小时和分钟&#xff1a; HTML/Template部分&#xff1a; <picker…

从食堂采购系统源码到成品:打造供应链采购管理平台实战详解

本篇文章&#xff0c;笔者将详细介绍如何从食堂采购系统的源码开始&#xff0c;逐步打造一个完备的供应链采购管理平台&#xff0c;帮助企业实现采购流程的智能化和高效化。 一、需求分析与规划 一般来说&#xff0c;食堂采购系统需要具备以下基本功能&#xff1a; 1.供应商…

【原创】java+swing+mysql理发店管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 开发背景&#xff1a; 随着社会经济的…

文件上传漏洞(ctfshow web151-161)

Web151 F12修改源代码 exts后面png改为php 这样就可以上传php的文件了 Web152&#xff1a; 考点&#xff1a;后端不能单一校验 就是要传图片格式&#xff0c;抓个包传个png的图片 然后bp抓包修改php后缀解析 然后放包 Web153-web156 在php代码中可以使用“{}”代替“[]” …

Nacos 高级详解:提升你的开发和部署效率

Nacos 高级 一 、服务集群 需求 服务提供者搭建集群 服务调用者&#xff0c;依次显示集群中各服务的信息 搭建 修改服务提供方的controller&#xff0c;打印服务端端口号 package com.czxy.controller;import org.springframework.web.bind.annotation.*;import javax.a…