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

苏州高端模板建站购物网站建设项目策划书

苏州高端模板建站,购物网站建设项目策划书,wordpress 主题安装教程,青海建设厅官方网站​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 第1个虚拟项目 前言 点灯开启了我们的FPGA之路#xff0c;那么我们来继续沙盘演练。 用一个虚拟项目#xff0c;来入门练习#xff0c;以此步入数字逻辑的…                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        第1个虚拟项目 前言 点灯开启了我们的FPGA之路那么我们来继续沙盘演练。 用一个虚拟项目来入门练习以此步入数字逻辑的大门。 Key WordsFIFO 、SOF 、EOF、计数器、缓存、时序图、方案设计 一、项目要求 输入报文长度64~2048字节输入报文之间最小间隔为两拍输出报文的前两拍添加16bit报文长度信息第1拍为报文长度高8位第2拍为报文长度低8位第3拍开始为输入报文 信号 I/O 位宽 描述 系统接口信号 i_sys_clk I 1 系统时钟125Mhz i_rst_n I 1 硬复位低有效 输入接口信号 i_sop_in I 1 输入报文头指示信号高有效 i_eop_in I 1 输入报文尾指示信号高有效 i_vld_in I 1 输入报文数据有效信号高有效 i_data_in I 8 输入报文数据 输出接口信号 o_sop_out O 1 输出报文头指示信号高有效 o_eop_out O 1 输出报文尾指示信号高有效 o_vld_out O 1 输出报文数据有效信号高有效 o_data_out O 8 输出报文数据 输入接口时序 输出接口时序 二、项目方案设计 2.1项目需求 输出报文输出报文长度报文与报文长度输出满足时序要求 2.2项目方案 1. 要求输出报文且报文输出在报文长度输出之后所以需要先对输入报文进行缓存根据输入报文的位宽和长度范围此处选择合适的同步FIFO即可如果是IC那么就需要自己写FIFO可以参考本博客的FIFO介绍 这里项目提出了第1个要求掌握FIFO的使用。 2. 要求输出报文长度所以需要对输入报文长度进行计数并将其缓存 此处有坑若只用寄存器对长度进行缓存存在被后续报文长度覆盖的风险故需要第2个FIFO对报文长度进行缓存。 3. 要求先输出报文长度然后紧跟着输出报文此处需要对时序进行设计需要掌握FIFO的读写时序需要理解fpga的时钟沿采样。 理解时钟沿采样及数据下一时钟沿变化。 2.3项目代码 module zmj0001(input sys_clk,input rst_n,input sop_in,input eop_in,input vld_in,input [7:0] data_in,output sop_out,output eop_out,output vld_out,output [7:0] data_out); 当然这不是唯一的设计方案可以先自行考虑设计及验证。 若需完整代码工程搜索“zmj0001” 项目重难点 FIFO的使用及时序的设计考虑包间隔2 clk cycle考虑长包超短包的情况 时序设计可以用TimingDesigner软件简单易用需要的可以下载。 ​​​​​​​三、仿真验证 可以使用计数器来产生数据源data_in; timescale 1ns / 1psmodule zmj0001_tb();reg sys_clk ; reg rst_n ; reg [7 :0] data_in ; reg vld_in ; reg sop_in ; reg eop_in ; reg [11 :0] cnt ; wire sop_out ; wire eop_out ; wire vld_out ; wire [7:0] data_out ;initial beginsys_clk 0;rst_n 0;#100rst_n 1; end always #5 sys_clk ~sys_clk; //100Mhz //用计数器来产生data_in always (posedge sys_clk or negedge rst_n)beginif(~rst_n)cnt 12b0;else if(cnt 2048)cnt cnt;elsecnt cnt 12b1; end always (posedge sys_clk or negedge rst_n)beginif(~rst_n)begindata_in 8b0;sop_in 1b0;eop_in 1b0;vld_in 1b0;endelse begindata_in 8b0;sop_in 1b0;eop_in 1b0;vld_in 1b0;if((cnt d10 cnt d60)|(cnt d68 cnt d668))begindata_in data_in 1b1;vld_in 1b1;endif((cnt d11)|(cnt d69))sop_in 1b1;if((cnt d60)|(cnt d668))eop_in 1b1;if((cnt d62) | (cnt d63))begin //63 66data_in data_in 1b1;vld_in 1b1;sop_in 1b1;eop_in 1b1;endend end zmj0001 u_zmj0001(.sys_clk (sys_clk ), .rst_n (rst_n ),.sop_in (sop_in ),.eop_in (eop_in ),.vld_in (vld_in ),.data_in (data_in ),.sop_out (sop_out ),.eop_out (eop_out ),.vld_out (vld_out ),.data_out (data_out ));endmodule具体modelsim使用及与vivado的联合仿真脚本编写请参考其他博文后续FPGA其他专栏再考虑写相关内容。 验证时重点关注边界情况。 输入 共4包数据长包超短包超短包长包包间隔均为2clk cycle data_in : 第1包1-50的累加数第2包1第3包1 输出 若包间隔2 clk 输入 输出 可以看到本设计甚至支持背靠背的超短包输入。 四、项目收获 方案设计的重要性任何项目都是始于方案设计前期需要花大量的功夫去理清思路方案设计完成代码实现只不过是水到渠成的事情。仿真的学习通过本项目完成了testbench的编写仿真验证是对自己设计的一次检验是实际项目缩短调试时间的最佳利器。对xilinx IP的使用对datasheet的阅读学习。对时序的理解时钟是FPGA的心跳任何时序操作都是发生在时钟的跳变沿。当采样发生在当前上升沿时刻数据变化是发生在下一时刻的上升沿。绘画时序图TimingDesigner的使用。有了时序图代码就很容易实现了。 五、进阶考虑 本次虚拟项目旨在用最简单的例子带大家了解数字逻辑设计的一些基本概念所以很多东西是没有考虑的。比如 如果包间隔小于2个时钟周期怎么办 -----握手与反压如果输入数据有错误怎么办 -----CRC校验如果需要跨时钟域传输呢 -----CDC处理报文只是简单转发如果需要做处理呢-----数据处理... 所以下一篇将沿着这个思路展开进阶版的虚拟项目同样可以作为公司的入职培训。 咱们下期见
http://www.yayakq.cn/news/5318/

相关文章:

  • 株洲网站建设联系方式最便宜的域名注册商
  • 宁波易通宁波网站建设如何免费建立网站
  • 怀化做网站的公司网站开发后端技术
  • 医院做网站定位手机端网站怎么做排名
  • 烟台做网站公司哪家好wordpress教学主题
  • 网站开发的实践报告专业找工作网站下载
  • 东莞建设网站开发项目开发流程
  • 房产网站开发方案如何建设一个普通网页网站
  • 国际网站怎么注册免费的济宁建站公司
  • 学校网站建设基本流程怎么用php做网站后台程序
  • 合肥生态建设职业培训学校网站wordpress后车头
  • 临沂网站设计广西建设培训网
  • 专业建站策划云南最便宜的网站建设
  • 微信手机网站搭建怎么快速开发一个网站
  • 山东食品行业网站开发精准引流的网络推广方法
  • 软件实施工程师工资一般多少广州网站营销seo费用
  • 建立购物网站的目的游戏ui设计需要学什么软件
  • 网站建设推进会莆田制作公司网站
  • 微博网站开发平台做网站详细教程
  • 网站建设推广接单语织梦网站打不开
  • 建立 网站服务器网站开发 开题报告
  • 福州手机模板建站北京市建设规划网站
  • 国外优惠卷网站如何做搜索推广代运营
  • 中企动力网站建设 医疗佛山seo整站优化
  • 企业网站备案资料填写单怎么做html5网站
  • 计算机网络网站开发万能本地视频播放器
  • 网站模版修改怎么做网站的百度权重
  • 网站建设实训存在的问题公司网站建设高端网站建设网页设计
  • 宁夏建设工程造价站网站做网站排名推广效果怎么样
  • 广州一起做网站简易网页一键生成