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

上海浦东新区科技网站建设做网站比较好的数字

上海浦东新区科技网站建设,做网站比较好的数字,广州网站建设网站开发,wordpress 新建窗口1.VL29 信号发生器 1.题目#xff1a; 题目描述#xff1a; 请编写一个信号发生器模块#xff0c;根据波形选择信号wave_choise发出相应的波形#xff1a;wave_choice0时#xff0c;发出方波信号#xff1b;wave_choice1时#xff0c;发出锯齿波信号#xff1b;wave…1.VL29 信号发生器 1.题目 题目描述 请编写一个信号发生器模块根据波形选择信号wave_choise发出相应的波形wave_choice0时发出方波信号wave_choice1时发出锯齿波信号wave_choice2时发出三角波信号。 2.解题思路 2.1 时序逻辑的题目使用状态机。 2.2 三角波模式需要设置一个标志位flag。flag仅在三角波模式也就是wave_chosie2时工作。当flag0时wave减少当flag1时wave增加。 3. 解题代码 timescale 1ns/1ns module signal_generator(input clk,input rst_n,input [1:0] wave_choise,output reg [4:0]wave);reg [4:0] cnt;reg flag;// 方波模式下计数器控制always(posedge clk or negedge rst_n) beginif(~rst_n)cnt 0;elsecnt wave_choise!0 ? 0:cnt 19? 0:cnt 1;end// 三角波模式下标志位控制always(posedge clk or negedge rst_n) beginif(~rst_n)flag 0;elseflag wave_choise!2 ? 0:wave 1 ? 1:wave 19? 0:flag;end// 更新wave信号always(posedge clk or negedge rst_n) beginif(~rst_n) wave 0;else case(wave_choise)0 : wave cnt 9? 20 : cnt 19? 0 :wave;1 : wave wave20? 0 : wave1;2 : wave flag0 ? wave-1: wave1;default: wave 0;endcaseend endmodule2.VL30 数据串转并电路  这个容易 1.题目 实现串并转换电路输入端输入单bit数据每当本模块接收到6个输入数据后输出端输出拼接后的6bit数据。本模块输入端与上游的采用valid-ready双向握手机制输出端与下游采用valid-only握手机制。数据拼接时先接收到的数据放到data_b的低位。 电路的接口如下图所示。valid_a用来指示数据输入data_a的有效性valid_b用来指示数据输出data_b的有效性ready_a用来指示本模块是否准备好接收上游数据本模块中一直拉高clk是时钟信号rst_n是异步复位信号。 2.解题思路 2.1注意开始的时候 和复位 的时候   ready_a 0 就行。 3.解题代码 timescale 1ns/1nsmodule s_to_p(input clk , input rst_n ,input valid_a ,input data_a ,output reg ready_a ,output reg valid_b ,output reg [5:0] data_b ); reg[5:0] data;// Data buffer 数据缓存区 reg[3:0] cnt;// counter 计数器 always(posedge clk or negedge rst_n)beginif(~rst_n)begindata_b 6b0;valid_b 1b0;ready_a 1b0;cnt 0;endelsebegin ready_a 1b1; if(valid_a 1b1)begincnt cnt 1;data {data_a , data[5:1]};valid_b 1b0;if(cnt 3d5)begincnt 0;data_b {data_a,data[5:1]};valid_b 1b1;endendendendendmodule 3.VL31 数据累加输出 1.题目 实现串行输入数据累加输出输入端输入8bit数据每当模块接收到4个输入数据后输出端输出4个接收到数据的累加结果。输入端和输出端与上下游的交互采用valid-ready双向握手机制。要求上下游均能满速传输时数据传输无气泡不能由于本模块的设计原因产生额外的性能损失。 电路的接口如下图所示。valid_a用来指示数据输入data_in的有效性valid_b用来指示数据输出data_out的有效性ready_a用来指示本模块是否准备好接收上游数据ready_b表示下游是否准备好接收本模块的输出数据clk是时钟信号rst_n是异步复位信号。 2.解题思路 2.1  时序逻辑  采用状态机。 2.1  这个题目要注意看细节 就是计数的条件 和各个 变量 变化的条件。 ①ready_a为高表示我现在没啥事告诉上游我准备好了你可以发数据了 ②valid_b为高表示给下游说我发数据了 ③data_out给下游发的数据配合valid_b只有valid_b为高时发送的才是有效数据。 那么分别来处理 ①ready_a 如果下游ready_b拉高表示下游可以接收模块输出数据那么此时ready_a应拉高同时如果valid_b为低表示4个数据还没收完所以也拉高继续接收。 ②valid_b 当和上游正常通讯时即valid_a和ready_a均为高数据正常接收但注意计数了4个就得加起来输出一次所以data_cnt 2d3时拉高valid_b而等待下游接收即当ready_a也拉高表示接收完成则拉低valid_b保证只有在四个数之和的时候才拉高。 ③data_out 同理当和上游正常通讯时即valid_a和ready_a均为高数据正常接收数据累加当计数器data_cnt 2d0表示需要从头再加清零但注意需要等到ready_b拉高表示下游接收完成才能清空重新累加。 3.解题代码 timescale 1ns/1nsmodule valid_ready(input clk , input rst_n ,input [7:0] data_in ,input valid_a ,input ready_b ,output ready_a ,output reg valid_b ,output reg [9:0] data_out );assign ready_a ready_b | ~valid_b;reg [1:0] data_cnt;always(posedge clk or negedge rst_n) beginif(!rst_n)data_cnt 2d0;else if(valid_a ready_a)data_cnt data_cnt 2d1;elsedata_cnt data_cnt;endalways(posedge clk or negedge rst_n) beginif(!rst_n)valid_b 1b0;else if(valid_a ready_a data_cnt 2d3)valid_b 1d1;else if(valid_b ready_b)valid_b 1d0;endalways(posedge clk or negedge rst_n) beginif(!rst_n)data_out 10b0;else if(valid_a ready_a data_cnt 2d0 ready_b) //这里要接收的时候才清零data_out data_in; //相当于清零重新累加else if(valid_a ready_a)data_out data_out data_in;endendmodule4.VL32 非整数倍数据位宽转换24to128 1.题目 实现数据位宽转换电路实现24bit数据输入转换为128bit数据输出。其中先到的数据应置于输出的高bit位。 电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性valid_out用来指示数据输出data_out的有效性clk是时钟信号rst_n是异步复位信号。 2.解题思路 2.1 定义一个可以存储 128 位的寄存器。 2.2列出  计数器 对应的每个信号的位数。 (简单看得出) 2.3  使用状态机来作 主要是 15个状态。 因为 24 *16  128 *3 3.解题代码 timescale 1ns/1nsmodule width_24to128(input clk , input rst_n ,input valid_in ,input [23:0] data_in ,output reg valid_out ,output reg [127:0] data_out ); reg[128:0] data;//data duffer //128 x3 24 *16 reg[3:0] cnt;// counter 16个状态always(posedge clk or negedge rst_n) beginif(~rst_n)begincnt 0;data 0;endelsebeginif(cnt 4d0 valid_in 1d1)begincnt cnt1;data data_in;endelse if(cnt 4d15 valid_in 1d1)begincnt 0;data {data[119:0],data_in};endelse if(valid_in 1d1)begincnt cnt 1;data {data[119:0],data_in};endend endalways(posedge clk or negedge rst_n)beginif(~rst_n)beginvalid_out 0;data_out 0;endelsebeginif(cnt 4d5)begindata_out {data[119:0],data_in[23:16]};valid_out 1;endelse if(cnt 4d10)begindata_out {data[111:0],data_in[23:8]};valid_out 1;endelse if(cnt 4d15)begindata_out {data[103:0],data_in[23:0]};valid_out 1;endelsebeginvalid_out 0;data_out data_out;endendendendmodule
http://www.tj-hxxt.cn/news/140502.html

相关文章:

  • jquery代码做的网站wordpress中目录如何表示
  • 用什么网站做框架图河南省住房和城乡建设厅查询网站首页
  • asp.net做网站的流程网站后台功能需求文档
  • 西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络外贸网站dns
  • 如何加强旅游电子商务网站的建设代账会计在哪里找
  • 网站制作公司怎么赚钱网站建设多久可以建成
  • 四川有那些网站建设公司1个空间做两个网站
  • 专业的赣州网站建设网站怎么屏蔽ip访问
  • 网站建设服务费进入什么科目婚庆公司收费标准价目一览表
  • 电子商务网站建设需要多少钱网站建设开发语言和使用工具
  • 网站开发技术html二级网页打不开是什么原因
  • 临汾网站开发不让在建设门户网站
  • 呼伦贝尔做网站公司恩施网站建设xiduyun
  • 个人性质的网站备案容易查wordpress营销插件
  • html5网站强制横屏重庆奉节网站建设公司哪家好
  • 网站内部服务器错误wordpress极慢
  • 电子商务的门户网站阿里云注册域名流程
  • 网站你应该知道我说的是什么吧建设外贸网站注意什么
  • 网站建设 加强宣传做做做做网站
  • 网站建设多少钱 知乎杭州做网站好的公司
  • 长宁区网站制作设计国际网站怎么进
  • 中国和住房城乡建设部网站首页未来做那些网站致富
  • 个人服务器搭建做网站苏州网络推广软件
  • 青岛网站制作百家号吃的网站要怎么做的
  • 专业做写生的网站青岛网站建设和优化
  • 有没有外包活的网站棋牌小程序制作开发
  • 山东建设科技产品推广网站岳阳公司网站开发
  • 网站推广淘宝联盟怎么做网站建设大横幅尺寸
  • 有没有网站做lol网站的微信推广平台自己可以做
  • 山东省建设资格中心网站简单网页设计作品欣赏