当前位置: 首页 > news >正文

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;

http://www.lryc.cn/news/364405.html

相关文章:

  • Tomcat启动闪退问题解决方法
  • 【多模态】34、LLaVA-v1.5 | 微软开源,用极简框架来实现高效的多模态 LMM 模型
  • 文件编码概念
  • uni-app(优医咨询)项目实战 - 第7天
  • 推荐系统学习 二
  • Vue——组件数据传递与props校验
  • Java 基础面试300题 (261-290)
  • 音频信号分析与实践
  • 程序媛:拽姐
  • 前端面试题日常练-day54 【面试题】
  • 054、Python 函数的概念以及定义
  • 今时今日蜘蛛池还有用吗?
  • 【一步一步了解Java系列】:重磅多态
  • 运维工具 - SFTP 和 FTP 的区别?
  • 创新入门|营销中的视频内容:不可或缺的策略
  • 《探索Stable Diffusion:AI绘画的创意之路与实战秘籍》
  • 某铁路信息中心运营监测项目
  • Threejs加载DOM+CSS到场景中,实现3D场景展示2D平面的效果
  • 本地知识库开源框架Fastgpt、MaxKB产品体验
  • 音视频开发15 FFmpeg FLV封装格式分析
  • Qt 的 d_ptr (d-pointer) 和 q_ptr (q-pointer)解析;Q_D和Q_Q指针
  • 【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
  • C++模板类与Java泛型类的实战应用及对比分析
  • 使用Qt对word文档进行读写
  • docker容器内无法使用命令问题
  • 【深度学习】安全帽检测,目标检测,Faster RCNN训练
  • IDEA2024创建maven项目
  • linux上VirtualBox使用
  • PID控制算法介绍及使用举例
  • 因子区间[牛客周赛44]