安路IP核应用举例(OSC、UART)

news2024/11/18 19:45:57

1.OSC(内部振荡器)

按照Project->New Project顺序新建工程后,后按照Tools->IP Generator顺序,创建IP核,如下图:

安路FPGA的内置OSC振荡模块频率可选30MHz、60MHz。

可选Verilog或VHDL语言。

如图,生成的.v文件只读,如需进一步的修改,可将文件另存,然后将新文件更新到工程里即可。

osc_clk为输出频率,osc_dis为使能输入,低电平有效,参数“60”为配置频率,单位为MHz。为测试效果,可进行分频后输出,如下:

module OSC_Test( clk_out );   //
	output 	reg	 clk_out;
	//input		 osc_dis;
    wire osc_clk;
    reg[24:0]count;
    
		ELF_PHY_OSC #(           //例化,配置为60MHz输出
		.FREQ("60"))
		osc_inst(
		.osc_clk(osc_clk),  //频率输出
		.osc_dis(1'b0)); //使能,低电平有效
        
always@(posedge osc_clk)  //60M分频成1Hz
 if (count>=30000000-1)
     begin clk_out<=~clk_out; count<=0; end
 else
     count<=count+1;        

endmodule

需要注意的是,程序重新Download后,FPGA功能有可能没有随即更新,可关闭电源重新上电再行操作。

2.UART(串口通信)

依据安路官方资料,其uart基本结构如下:

IP核配置选择如下:

以EF1A650LG144为例,24MHz时钟,波特率115200bps。

新建一顶层文件:

module uart_top
  (
  clk,  //24M
  rst_n, //低电平复位
  rxd,  //rxd
  txd      //txd
  );

  input clk;
  input rst_n;
  input rxd;
  output txd;
  wire tx_en; //发送使能,高电平有效
  wire rx_err; //接收错误,高电平有效
  wire rx_vld; //接收有效,高电平有效
  wire tx_rdy; //高电平准备好,可以发送;低电平发送忙
  wire [7:0] tx_data; //8位发送
  wire [7:0] rx_data; //8位接收
UART u0(
.clk(clk),
.rst_n(rst_n),
.rxd(rxd),
.tx_data(tx_data),
.tx_en(tx_en),
.rx_data(rx_data),
.rx_err(rx_err),
.rx_vld(rx_vld),
.tx_rdy(tx_rdy),
.txd(txd)
);
assign tx_en=rx_vld&tx_rdy&(!rx_err);
assign tx_data=rx_data+1'b1;
endmodule 

以上程序的作用是收到一个ACII码后,加1后回送,效果如下:

引脚约束:

set_pin_assignment	{ clk }	{ LOCATION = P20; }
set_pin_assignment	{ txd }	{ LOCATION = P143; }
set_pin_assignment	{ rxd }	{ LOCATION = P144; }
set_pin_assignment	{ rst_n }	{ LOCATION = P120; }

3.对于硬木课堂出品的EG4S20开发板来说,如下图,其时钟为50M,rxd、txd引脚分别为F12、D12。

IP核配置如下:

引脚配置如下:

set_pin_assignment	{ clk }	{ LOCATION = R7; }
set_pin_assignment	{ rst_n }	{ LOCATION = A14; }
set_pin_assignment	{ rxd }	{ LOCATION = F12; }
set_pin_assignment	{ txd }	{ LOCATION = D12; }

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

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

相关文章

外包干了4个月,测试技术退步明显

先说一下自己的情况&#xff0c;本科生&#xff0c;20年通过校招进入杭州某软件公司&#xff0c;干了3年的功能测试&#xff0c;当然有半年是被封在了家里&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我…

灾备建设中,虚拟机异构平台恢复技术原理与应用

在如今混合云环境下&#xff0c;实现异构虚拟化恢复与迁移面临着极大挑战。不同于市面上有代理的恢复方案&#xff0c;虚拟机无代理跨平台恢复解决方案利用自主研发的转换引擎&#xff08;VMCE&#xff09;对已备份虚拟机文件进行高效的存储格式转换和配置信息转换&#xff0c;…

Deep Graph Contrastive Representation Learning

摘要 如今&#xff0c;图表示学习已成为分析图结构数据的基础。受最近成功的对比方法的启发&#xff0c;在本文中&#xff0c;我们提出了一种新的无监督图表示学习框架&#xff0c;该框架利用节点级别的对比目标。具体来说&#xff0c;我们通过破坏生成两个图视图&#xff0c;…

Jmeter接口自动化测试操作流程(超详细整理)

在企业使用jmeter开展实际的接口自动化测试工具&#xff0c;建议按如下操作流程&#xff0c; 可以使整个接口测试过程更规范&#xff0c;更有效。 接口自动化的流程&#xff1a; 1、获取到接口文档&#xff1a;swagger、word、excel ... 2、熟悉接口文档然后设计测试用例&am…

基于人工智能算法与视频监控相结合的EasyCVR智能游乐园监控方案

随着圣诞节的到来&#xff0c;人们都已经在规划如何安排平安夜活动&#xff0c;游乐园俨然成为了人们的首选。游乐园人员流量大且密集&#xff0c;特别是在节假日和重大节日&#xff0c;人满为患&#xff0c;极易发生事故&#xff0c;为保证游乐场安全运营&#xff0c;减少事故…

JVM虚拟机系统性学习-JVM调优之GC日志分析

JVM 调优 首先&#xff0c;为什么要 JVM 调优呢&#xff1f; JVM 调优的目的就是为了让应用程序使用最小的硬件消耗来承载更大的吞吐量 什么情况下需要 JVM 调优呢&#xff1f; 系统吞吐量下降&#xff0c;或系统延迟较高出现 OOMFull GC 频繁GC 停顿时间过长&#xff08;超…

OneLLM:对齐所有模态的框架!

深度学习自然语言处理 原创作者&#xff1a;wkk 今天为大家介绍香港中文大学联合上海人工智能实验室的最新研究论文&#xff0c;关于在LLM时代将各种模态的信息对齐的框架。 论文&#xff1a;OneLLM: One Framework to Align All Modalities with Language地址&#xff1a;http…

vue中实现使用相框点击拍照,canvas进行前端图片合并下载

拍照和相框合成,下载图片dome 一、canvas介绍 Canvas是一个HTML5元素,它提供了一个用于在网页上绘制图形、图像和动画的2D渲染上下文。Canvas可以用于创建各种图形,如线条、矩形、圆形、文本等,并且可以通过JavaScript进行编程操作。 Canvas元素本身是一个矩形框,可以通…

《Kotlin核心编程》笔记:面向对象

kotlin 中的类 // Kotlin中的一个类 class Bird {val weight: Double 500.0val color: String "blue"val age: Int 1fun fly() { } // 全局可见 }把上述代码反编译成Java的版本&#xff0c;然后分析它们具体的差异&#xff1a; public final class Bird {privat…

逆向经历回顾总结

逆向经历回顾总结 一、前言 将自己的逆向经验做个总结&#xff0c;希望新手对逆向大方向能快速了解。高手有啥不一样的经验也可以讨论讨论。 二、个人经历 本人入行逆向全因一部韩剧“幽灵”&#xff0c;里面涉及渗透、病毒分析、取证的攻防对抗&#xff0c;我觉得对新手来说…

S1试讲讲稿

习题题目 答案 用到的概念&#xff1a; 概率之和等于1 E ( x ) ∑ i 1 4 x i P i E(x)\sum_{i1}^4x_iP_i E(x)∑i14​xi​Pi​ E ( x 2 ) ∑ i 1 4 x i 2 P i E(x^2)\sum_{i1}^4x_i^2P_i E(x2)∑i14​xi2​Pi​ V a r ( X ) Var(X) Var(X) ∑ i 1 4 ( x i − x ‾ ) 2…

美易官方:道指续创收盘历史新高

美国股市周三继续上涨&#xff0c;道琼斯工业平均指数连续六个交易日收高&#xff0c;并再次创下收盘历史新高。尽管市场对全球经济增长放缓的担忧依然存在&#xff0c;但美国经济数据的强劲表现以及企业盈利的良好预期&#xff0c;使得投资者对股市的信心得到提振。 在今日的交…

Volatility3内存取证工具安装及入门在Linux下的安装教程

1-1. Volatility3简介 Volatility 是一个完全开源的工具&#xff0c;用于从内存 (RAM) 样本中提取数字工件。支持Windows&#xff0c;Linux&#xff0c;MaC&#xff0c;Android等多类型操作系统系统的内存取证。 针对竞赛这块&#xff08;CTF、技能大赛等&#xff09;基本上都…

系列二十七、Apache Jmeter使用

一、安装 下载安装包>解压到指定目录>双击打开D:\Programs\apache-jmeter-5.5\bin\ApacheJmeter.jar即可。我分享的ApacheJmeter链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1VI7f3buIWZbQEeq2CRbwlg?pwdyyds 提取码&#xff1a;yyds 二、使用 2.1、添…

docker创建镜像 Dockerfile

目录 docker的创建镜像的方式 dockerfile形成&#xff08;原理&#xff09; docker的核心作用 docker的文件结构 dockerfile的语法 CMD和ENTRPOINT的区别 创建dockerfile镜像 区别 RUN命令的优化 如何把run命令写在一块 copy和ADD区别 区别 centos7 构建Apache的d…

jdk常用命令

1.jinfo命令 jinfo命令主要查看虚拟机配置参数信息&#xff0c;也可用于调整虚拟机的配置参数。jinfo不仅可以查看运行时某一个Java虚拟机参数的实际取值&#xff0c; 甚至可以在运行时修改部分参 数&#xff0c;并使之立即生效。 但是&#xff0c;并非所有参数都支持动态修改。…

springboot使用validation-api对入参进行校验

springboot使用validation-api对入参进行校验 前言&#xff1a;在实际开发中&#xff0c;我们不能完全相信前端给我们的参数是否符合预期或规范&#xff0c;为了避免恶意入参&#xff0c;引发系统或数据安全问题&#xff0c;需要对前端传过来的参数进行校验。例如字符串长度校…

牛客网BC107矩阵转置

答案&#xff1a; #include <stdio.h> int main() {int n0, m0,i0,j0,a0,b0;int arr1[10][10]{0},arr2[10][10]{0}; //第一个数组用来储存原矩阵&#xff0c;第二个数组用来储存转置矩阵scanf("%d%d",&n,&m); if((n>1&&n<10)&&am…

ShopsN commentUpload 文件上传漏洞复现

0x01 产品简介 ShopsN 是一款符合企业级商用标准全功能的真正允许免费商业用途的开源网店全网系统。 0x02 漏洞概述 ShopsN commentUpload 接口处存在任意文件上传漏洞,攻击者可以利用文件上传漏洞执行恶意代码、写入后门、读取敏感文件,从而可能导致服务器受到攻击并被控…

千梦网创:Too Young,to simple

大多数人啊&#xff0c;还是too young&#xff0c;包括我。 网上的评论对我而言并不影响我通过提供价值服务经营生活&#xff0c;但是有时候对于我的思考还是有一些帮助的。 我把很多可以争与不可争的事件看做是一种现象&#xff0c;这种现象往往可以给予我新的能量。 当学员…