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

fpga助教面试题

在这里插入图片描述
第一题

module sfp_pwm(
input wire clk, //clk is 200M
input wire rst_n,
input wire clk_10M_i,
input wire PPS_i,
output reg pwm
)
reg [6:0] cunt  ;always @(posedge clk ) beginif(!rst_n)cunt<=0;else if(cunt==19)   //200M是10M的20倍cunt<=0;elsecunt<=cunt+1;end
always @(posedge clk_10M_i ) beginif(!rst_n)pwm<=0;else if(PPS_i&&cunt<15)pwm<=1;else if(PPS_i==0&&cunt<10)pwm<=1;elsepwm<=0;end
endmodule

第二题 需要用到vivado pll时钟这个ip核
因为1.023这个时钟无法直接产生可以先产生10.23M的时钟 再通过分频产生1.023 M的时钟

`timescale 1ns / 1ps
module test_two(input  wire        clk, //clk is 60M input  wire        rst_n, output wire        clk_1023k_o, output wire        ca);
wire clk_out1;
wire resetn  ;
wire locked  ;
reg  [3:0]  cunt    ;
wire        clk_1023;
reg  [11:0] ca_r    ;assign resetn=(rst_n&&locked)?1:0;
assign clk_1023k_o=(cunt<5)?1:0; //1.023M时钟
assign ca=ca_r[0];
always @(posedge clk_out1 ) beginif(!resetn)cunt<=0;else if(cunt==9)cunt<=0;elsecunt<=cunt+1;    
end
always @(posedge clk_1023k_o ) beginif(!resetn)ca_r<=12'h124;elseca_r <= {ca_r[10:0], ca_r[11] ^ ca_r[10] ^ ca_r[7] ^ ca_r[5]};
endclk_wiz_0 instance_name(// Clock out ports.clk_out1(clk_out1),     // output clk_out1// Status and control signals.resetn(resetn), // input resetn.locked(locked),       // output locked// Clock in ports.clk_in1(clk));      // input clk_in1endmodule

http://www.mrgr.cn/news/91630.html

相关文章:

  • 单细胞转录组画小提琴VlnPlot只显示需要类型细胞
  • 在项目中调用本地Deepseek(接入本地Deepseek)
  • DeepSeek大模型简介
  • MySQL 主从复制原理及其工作过程
  • ubuntu源码方式安装TensorRT-LLM推理框架(超详细)
  • VScode C语言学习开发环境;运行提示“#Include错误,无法打开源文件stdio.h”
  • CRTP在项目优化中的使用
  • uniapp图像转换(获取本地选取或拍照的图片的base64、Blob、图像和base64的转换)
  • Linux的基础指令和环境部署,项目部署实战(下)
  • A-LOAM源代码解析(一)
  • android,flutter 混合开发,pigeon通信,传参
  • 问题记录汇总
  • 模型量化初始知识
  • ESP32 在IDF_V5.3.1版本下实现AP无线热点模式!(带WIFI事件处理)
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1
  • 全新的Android UI框架Jetpack Compose
  • 中期检查表
  • ARM64 Trust Firmware [五]
  • 一个前端,如何同时联调多个后端
  • Web入侵实战分析-常见web攻击类应急处置实验2