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

网站整合营销推广任丘市做网站价格

网站整合营销推广,任丘市做网站价格,中文网站模板下载免费,国家允许哪几个网站做顺风车在寻找APD最合适的偏压的过程中#xff0c;一般会用到厂商提供一条曲线#xff0c;横坐标是温度的变化#xff0c;纵坐标表示击穿偏压的变化#xff0c;但每个产品真正的击穿偏压是有差异的。 为了能够快速的找到当前温度下真实的击穿偏压#xff0c;我们可以这样做#… 在寻找APD最合适的偏压的过程中一般会用到厂商提供一条曲线横坐标是温度的变化纵坐标表示击穿偏压的变化但每个产品真正的击穿偏压是有差异的。 为了能够快速的找到当前温度下真实的击穿偏压我们可以这样做我先根据温度得到厂商提供的击穿偏压。 然后再用厂商提供的击穿偏压减去几伏。 我们以此作为寻找真实击穿偏压的起点。以一个固定的步长提升APD的偏压直到满足我们设定的击穿判断条件。 但是呢在整个这个流程中我们需要解决一个问题就如何在FPGA程序中实时的去获取当前温度下对应的击穿偏压。 如果是dsp或者stm32等嵌入式平台可以直接把温度-击穿偏压数据做成一个数据表存到一个数组然后直接查表。 但是在FPGA中我们不能用数组了但可以选择用ROM IP核 去实现。 在FPGA中一些固定的初始化参数也可以用ROM来保存。 本文记录ROM的使用方法。 1 ROM是什么 ROM 是只读存储器Read-Only Memory的简称是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除且资料不会因为电源关闭而消失。而事实上在 FPGA 中通过 IP 核生成的 ROM 或 RAM 调用的都是 FPGA 内部的 RAM 资源掉电内容都会丢失这也很容易解释FPGA 芯片内部本来就没有掉电非易失存储器单元。用 IP 核生成的 ROM 模块只是提前添加了数据文件.coe 格式在 FPGA 运行时通过数据文件给 ROM 模块初始化才使得 ROM 模块像个“真正”的掉电非易失存储器也正是这个原因ROM 模块的内容必须提前在数据文件中写死无法在电路中修改。 简单说就是FPGA的ROM你随便搞不用担心一次写死后后面再也不能改了。 2 .coe文件生成 ROM 作为只读存储器在进行 IP 核设置时需要指定初始化文件即写入存储器中的 数据数据要以规定的格式才能正确写入 ROM这种格式就是 coe 文件。coe 是Vivado 规定的一种文件格式下图为文件格式示意图 下面提供一个.coe文件的 MatLAB生成代码一键即可生成你想要的.coe clear;clear all;clc;FileName[mycoe,.coe]; fid fopen(FileName,w); fprintf(fid,memory_initialization_radix 16;\n); fprintf(fid,memory_initialization_vector \n); % 位宽 Width 16; % 深度 Depth 20;Hexlen Width / 4;for i1:Depthdata i;% 根据位宽补0HexCode dec2hex(data);HexSize size(HexCode,2);ZeroCode;for j1:(Hexlen-HexSize)ZeroCode[0,ZeroCode];endstr0 [ZeroCode,HexCode];% 判断是否为最后一行if i DepthHexstr [str0,,];fprintf(fid,%s\n,Hexstr);elseif iDepthHexstr [str0,;];fprintf(fid,%s,Hexstr);end end fclose(fid);open(FileName); 3 ROM IP 配置 ROM分单口ROM和双口ROM它们配置的区别仅仅只是Basic这一页Memory Type的选项的区别其他的都是一样的。 所以本文仅以单口ROM的配置为例。 傻瓜式截图从最原始的IP Catalog开始 取名这里还是关注一下比如我是用的单口rom深度20位宽16位。我的IP核命名就可以是 s_rom_20x16b。 比如我是用双口rom深度256位宽8位呢那IP核命名则为 d_rom_256x8b。 这样的命名能做到一目了然。 上面这个图有个值得关注的点 Totoal Port A Read Latency 1 Clock Cycle 。 意思是读的时候要输出要延迟一个时钟周期。 IP生成了这个参数文件也被成功加载过来了。  瞅一眼是怎么例化的。 4 Modelsim仿真 ROM在读取数据的时候要给ROM IP核输入你的ROM地址。 而ROM地址应该是从0开始的。 比如你Rom的深度是20( 0x14)那你的ROM读地址就是 0x00 ~ 0x13(10进制是19)。那地址 0x00对应的是ROM存的第一个数据本例中是0x0001。 0x13对应的是ROM存的最后一个数据本例中是0x0014)。 源码如下 timescale 1ns / 1psmodule lab_rom(input wire clk,input wire rst_n );// // Parameter define // parameter MAX_ADDRA 20 - 1;// // Internal Signals // reg [4:0] addra; wire [15:0] douta;//----------------------------- addra自增 ----------------------------- always (posedge clk or negedge rst_n) beginif (rst_n 1b0) beginaddra d0; endelse if(addra MAX_ADDRA)beginaddra d0;endelse beginaddra addra 1b1;end end//----------------------------- s_rom_20x16b例化 ----------------------------- s_rom_20x16b s_rom_20x16b_inst (.clka(clk), // input wire clka.addra(addra), // input wire [4 : 0] addra.douta(douta) // output wire [15 : 0] douta );endmodule约束文件 create_clock -period 20.000 [ get_ports clk ]set_property PACKAGE_PIN N18 [ get_ports clk ] set_property PACKAGE_PIN T12 [ get_ports rst_n ]set_property IOSTANDARD LVCMOS33 [ get_ports clk ] set_property IOSTANDARD LVCMOS33 [ get_ports rst_n ] 仿真代码 timescale 1ns/1ps module tb_lab_rom (); /* this is automatically generated */// clockreg clk;initial beginclk 1b0;forever #(10) clk ~clk;end// asynchronous resetreg rst_n;initial beginrst_n 1b0;#10rst_n 1b1;end// (*NOTE*) replace reset, clock, othersparameter MAX_ADDRA 20 - 1;lab_rom #(.MAX_ADDRA(MAX_ADDRA)) inst_lab_rom (.clk(clk), .rst_n(rst_n));endmodule仿真结果 5 ila在线调试 本着再复习一下ila在线调试的原则这里做一个在线调试的测试。 代码 timescale 1ns / 1psmodule lab_rom(input wire clk,input wire rst_n );// // Parameter define // parameter MAX_ADDRA 20 - 1;// // Internal Signals // (* MARK_DEBUGtrue *) reg [4:0] addra; // 修改 (* MARK_DEBUGtrue *) wire [15:0] douta; // 修改//----------------------------- addra自增 ----------------------------- always (posedge clk or negedge rst_n) beginif (rst_n 1b0) beginaddra d0; endelse if(addra MAX_ADDRA)beginaddra d0;endelse beginaddra addra 1b1;end end//----------------------------- s_rom_20x16b例化 ----------------------------- s_rom_20x16b s_rom_20x16b_inst (.clka(clk), // input wire clka.addra(addra), // input wire [4 : 0] addra.douta(douta) // output wire [15 : 0] douta );endmoduleRun Synthesis - Open Synthesized Design    运行综合 - 打开已综合的设计 Set up Debug → Next   设置调试→下一步  添加要观测的信号并设置时钟域 由于项目比较简单刚刚截图的瞬间系统刚刚应该是自动Run synthesis了一遍并且还Run完了。 编译完之后直接 Open Hareware Manager 打开硬件管理器 - 直接烧写程序刷新设备 在线调试功能正常。 参考文献 Vivado 下 IP核 之ROM 读写_OliverH-yishuihan的博客-CSDN博客 在给rom IP核命名的时候我发现FPGA的代码应该有一个统一遵循的规范包括ip核 模块 变量 参数的命名规则、注释、缩进风格等都应该有一个规范 后续应该会有一篇博客讲规范不过目前初学阶段接触的FPGA相关内容还不够全面因此这篇博客应该是在初学阶段的尾声部分。 另外约束文件中关于时序部分的约束也是后续关注的一个重点。
http://www.pierceye.com/news/696646/

相关文章:

  • html5写的网站有什么好处淄博网站制作制作
  • 服装设计素材网站大全做旅游的网站的要素
  • 企业网站建设报价清单深圳小程序建设公司
  • 给人做传销网站开发平台软件要多少钱
  • 腾讯建设网站视频视频视频手机网站报价表
  • 门户网站建设要求南京seo公司教程
  • 网站建设制作要学什么软件福建省城乡建设厅网站
  • 网站遇到攻击时应该怎么做网络广告推广平台
  • 老牌网站建深圳市建设工程服务交易中心
  • 网页界面设计布局青岛百度关键词优化
  • 彩票网站APP建设seo为什么不景气了
  • ps做网站标签wordpress 角色和权限管理
  • 网站建设情况报告范文微网站可以做成域名访问
  • 增城网站公司电话西安高端网站建设首选
  • 信息流广告素材网站零基础学做网站
  • 北京服饰网站建设实训百度搜索引擎的总结
  • 营销型网站建设的一般过程包括哪些环节?体育视频网站建设
  • 门户网网站seo怎么做电子商务平台怎么注册
  • 凡科网站插件代码阿里云网站备案后
  • 网站用什么系统好用免费网站建设找哪家
  • 网站到期续费吗网站开发是培训
  • 别人帮做的网站怎么修改怎么做产品推广和宣传
  • 国内返利网站怎么做php建设网站工具
  • 网站设计教程文档创业商机网农村
  • 宁夏交通建设质监局官方网站免费注册二级域名的网站
  • 网站门户设计网站建设有没有做的必要
  • 建模师的就业前景整站优化工具
  • 微信公众号怎么做链接网站网站404 原因
  • 安卓手机做服务器网站网站设计时多页面切换时什么控件
  • 长沙正规网站建设价格网站推广怎么发外链