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

网站建设测试结果上海百度搜索排名优化

网站建设测试结果,上海百度搜索排名优化,学室内装潢设计哪个学校好,中国家装家居网前言:本专栏旨在记录高频笔面试手撕代码题,以备数字前端秋招,本专栏所有文章提供原理分析、代码及波形,所有代码均经过本人验证。目录如下:1.数字IC手撕代码-分频器(任意偶数分频)2.数字IC手撕代…
前言:
本专栏旨在记录高频笔面试手撕代码题,以备数字前端秋招,本专栏所有文章提供原理分析、代码及波形,所有代码均经过本人验证。

目录如下:

1.数字IC手撕代码-分频器(任意偶数分频)

2.数字IC手撕代码-分频器(任意奇数分频)

3.数字IC手撕代码-分频器(任意小数分频)

4.数字IC手撕代码-异步复位同步释放

5.数字IC手撕代码-边沿检测(上升沿、下降沿、双边沿)

6.数字IC手撕代码-序列检测(状态机写法)

7.数字IC手撕代码-序列检测(移位寄存器写法)

8.数字IC手撕代码-半加器、全加器

9.数字IC手撕代码-串转并、并转串

10.数字IC手撕代码-数据位宽转换器(宽-窄,窄-宽转换)

11.数字IC手撕代码-有限状态机FSM-饮料机

12.数字IC手撕代码-握手信号(READY-VALID)

13.数字IC手撕代码-流水握手(利用握手解决流水线断流、反压问题)

14.数字IC手撕代码-泰凌微笔试真题

15.数字IC手撕代码-平头哥技术终面手撕真题

16.数字IC手撕代码-兆易创新笔试真题

17.数字IC手撕代码-乐鑫科技笔试真题(4倍频)

18.数字IC手撕代码-双端口RAM(dual-port-RAM)

...持续更新

更多手撕代码题可以前往 数字IC手撕代码--题库


题目

使用 v/sv 编写如下功能模块,求输入信号序列 din 在 din_vld 为高电平的时间段内的次小值与次小值出现的次数

接口信号如下

module sec_min(

input clk,//时钟

input rst_n,//复位

input [9:0] din, //10bit 无符号数

input din_vld, //输入数据有效信号

output [9:0] dout, //次小值

output [8:0] cnt //次小值出现的次数。溢出时重新计数

);

原理分析

题目要找次小值和次小值出现的次数,我们就可以做两个变量,一个变量存储最小值min,一个变量存储次小值sec_min。这样就有几种可能:

① 输入din < min:

那我们就让min = din, sec_min = min;此时要注意的是,这时候随着次小值和最小值交换顺序,次小值出现的次数也会变成最小值出现的次数,因此不仅要将最小值赋值给次小值,还要将最小值出现次数赋值给次小值出现次数。

② 输入din = min:

需要统计最小值出现的次数,在din<min时,令cnt_sec = cnt_min。

③ 输入din < min_sec:

次小值刷新,最小值不变,令次小值min_sec = din;同时令次小值计数器cnt_sec = 1。

④ 输入din = min_sec:

最小值和次小值均不变,次小值计数器加一。

⑤ 输入din > min_sec:

啥也不干。

代码

module sec_min(input         clk     ,   //时钟input         rst_n   ,   //复位input   [9:0] din     ,   //10bit 无符号数input         din_vld ,   //输入数据有效信号output  [9:0] dout    ,   //次小值output  [8:0] cnt         //次小值出现的次数。溢出时重新计数
);reg [10:0] min,sec_min;   //minimum and second minimum
reg [8:0] cnt_sec,cnt_min;
reg [9:0] dout_reg;always @(posedge clk)beginif(!rst_n)begincnt_sec <=  9'd0  ;cnt_min <=  9'd0  ;dout_reg<=  10'd0 ;min     <=  11'b111_1111_1111;sec_min <=  11'b111_1111_1111;endelse if(din_vld)beginif(din < min)beginmin     <= din      ;sec_min <= min      ;cnt_sec <= cnt_min  ;cnt_min <= 9'd1     ;endelse if(din == min)begincnt_min <= cnt_min + 1'b1;endelse if(din < sec_min)beginsec_min <= din      ;cnt_sec <= 9'd1     ;end else if(din == sec_min)begincnt_sec <= cnt_sec + 1'b1;endend
endassign dout = sec_min;
assign cnt  = cnt_sec;endmodule

testbench

module tb_sec_min();reg rst_n,clk;reg  [9:0]  din     ;
reg         din_vld ;
wire [9:0]  dout    ;
wire [8:0]  cnt     ;task input_num;
input [9:0]  number;
begin@(posedge clk)begin #1din <= number;end
end
endtaskinitial beginrst_n   <= 1;clk     <= 0;din_vld <= 0;#5rst_n   <= 0;#20rst_n   <= 1;din_vld <= 1;repeat(2) begininput_num(15);endrepeat(3)begininput_num(19);endinput_num(18);input_num(17);input_num(16);input_num(14);#30;
end    always #5 clk = ~clk;sec_min u_sec_min(
.clk      (clk)     ,
.rst_n    (rst_n)   ,
.din      (din)     ,
.din_vld  (din_vld) ,
.dout     (dout)    ,
.cnt      (cnt)
);endmodule

波形图

输入序列为:15,15,19,19,19,18,17,16,16,14

随着序列的输入,最小值会从一开始的不可能的取值(1023),计数器0;依次变为19计数1~3次,18计数1次,17计数1次,16计数1次,15计数2次。

结果验证正确。

http://www.15wanjia.com/news/15341.html

相关文章:

  • 图片网站php源码网络销售面试问题有哪些
  • 安装好采集侠网站地图后在哪里查看网站地图网站模板之家
  • 南宁党员两学一做网站关键词排名哪里查
  • 网站的标题标签一般是写在营销模式都有哪些
  • 做商城网站产品怎么分布上海关键词优化排名软件
  • 广州技术支持 网站建设win优化大师有用吗
  • b2c网站开发背景及必要性互联网运营推广
  • 网站做英文版有用吗中国软文网官网
  • 黄骅市有火车站吗太原关键词排名优化
  • 网站建设合同服务范围seo网站分析
  • 大学高校网站建设栏目关键词优化的最佳方法
  • 服装搭配网站建设策划书天津网络优化推广公司
  • 软件工程培训机构优化网站页面
  • 新手建网站需要怎么做呢免费淘宝关键词工具
  • 网站上怎么做弹幕效果图互动营销平台
  • 人民日报今天新闻免费seo教程分享
  • 旅游网站建设期seo优化运营
  • 青岛怎样做网站品牌推广和品牌营销
  • 沈阳顺天建设集团网站seo搜索引擎优化期末考试
  • 无锡市网站设计企点官网
  • 新闻类网站怎么做seo优化排名公司
  • wordpress无法访问插件搜索引擎优化论文
  • 北京怎么做网站推广合肥seo推广外包
  • wordpress底部九栏谷歌seo课程
  • wordpress搜索功能主题在线seo
  • 大学科技园东区 做网站重庆百度推广的代理商
  • 建商城网站多少钱高端网站建设公司排行
  • 达尔罕茂明安网站建设百度竞价排名推广
  • 网站开发教学视频成都seo优化推广
  • 网站建设方案书怎么写样版网站seo外包