fpga控制dsp6657上电启动配置

2024-06-01 15:04

本文主要是介绍fpga控制dsp6657上电启动配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 Verilog代码

 dspboot_config.v

`timescale 1ns / 1ps
//dsp上电启动配置
module dspboot_config (///时钟和复位input         SYS_CLK_50MHz,input         SYS_RST_n,//DSP启动配置output        DSP_POR,output        DSP_RESETFULL,output        DSP_RESET,inout  [12:0] DSP_BOOTMODE,inout         DSP_LENDIAN
);wire sys_reset_n;reg [27:0] delay_counter;reg [1:0] counter;reg clk_25m;reg dsp_boot_en;reg DSP_PRO_reg;reg DSP_RESETFULL_reg;assign sys_reset_n = SYS_RST_n;assign DSP_RESET = SYS_RST_n;  //DSP复位接口assign DSP_LENDIAN = dsp_boot_en ? 1'b1 : 1'bz;  //决定DSP的大小端,1工作在小端模式,0工作在大端模式//assign DSP_BOOTMODE = dsp_boot_en ? 13'b0110000000000 : 13'hz;//决定DSP的启动模式assign DSP_BOOTMODE = dsp_boot_en ? 13'b0000000000000 : 13'hz;  //noboot模式(调试模式)assign DSP_POR = DSP_PRO_reg;assign DSP_RESETFULL = DSP_RESETFULL_reg;always @(posedge SYS_CLK_50MHz or negedge sys_reset_n) beginif (!sys_reset_n) beginclk_25m <= 0;counter <= 0;end else if (counter == 1) beginclk_25m <= ~clk_25m;  //生成25Mhz时钟counter <= 0;end else begincounter <= counter + 1;endendalways @(posedge clk_25m or negedge sys_reset_n)if (!sys_reset_n) begindelay_counter <= 28'h0;end else if (delay_counter <= 2000000) begindelay_counter <= delay_counter + 28'h1;end else begindelay_counter <= delay_counter;endalways @(posedge clk_25m or negedge sys_reset_n)if (!sys_reset_n) beginDSP_PRO_reg <= 1'b0;end else if (delay_counter == 1565500) beginDSP_PRO_reg <= 1'b1;end else beginDSP_PRO_reg <= DSP_PRO_reg;endalways @(posedge clk_25m or negedge sys_reset_n)if (!sys_reset_n) beginDSP_RESETFULL_reg <= 1'b0;end else if (delay_counter == 1631000) beginDSP_RESETFULL_reg <= 1'b1;end else beginDSP_RESETFULL_reg <= DSP_RESETFULL_reg;endalways @(posedge clk_25m or negedge sys_reset_n)if (!sys_reset_n) begindsp_boot_en <= 1'b0;end else if ((delay_counter > 1620000) & (delay_counter < 1640000)) begindsp_boot_en <= 1'b1;end else begindsp_boot_en <= 1'b0;endendmodule

2 引脚约束(v5)

pin.ucf 


NET "SYS_CLK_50MHz" LOC = AM16;
NET "SYS_CLK_50MHz" PERIOD = 20 ns HIGH 50 %;
NET "SYS_RST_n" LOC = AH34;NET "DSP_POR" LOC = H9;
NET "DSP_LENDIAN" LOC = E8;
NET "DSP_RESET" LOC = AG7;
NET "DSP_RESETFULL" LOC = K7;
NET "DSP_BOOTMODE[0]" LOC = F9;
NET "DSP_BOOTMODE[1]" LOC = E9;
NET "DSP_BOOTMODE[2]" LOC = D7;
NET "DSP_BOOTMODE[3]" LOC = L5;
NET "DSP_BOOTMODE[4]" LOC = E7;
NET "DSP_BOOTMODE[5]" LOC = K4;
NET "DSP_BOOTMODE[6]" LOC = K5;
NET "DSP_BOOTMODE[7]" LOC = F6;
NET "DSP_BOOTMODE[8]" LOC = F7;
NET "DSP_BOOTMODE[9]" LOC = E5;
NET "DSP_BOOTMODE[10]" LOC = H5;
NET "DSP_BOOTMODE[11]" LOC = J5;
NET "DSP_BOOTMODE[12]" LOC = F5;

这篇关于fpga控制dsp6657上电启动配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021330

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点