【FPGA每周一练】FPGA的HDL建模第三周

2019-07-16 00:19发布

FPGA每周一练】FPGA的HDL建模第三周

小编有话讲:各位用户朋友们,我们的每周一练在@chenchu0910 的付出与大家的支持下,已经迎来了第三周,看到有很多朋友一直在跟着练习,我们都感到很欣慰,希望电子发烧友以后能给大家提供更多的学习机会,也希望大家踊跃发言,我们愿与您携手共进,希望在这里能给您一片自由的学习与交流天地!

上周问题答案如下:
问题1:设计一个10进制计数器;源代码如下:
  1. module count(clk,rstn,en,dout);
  2.   input          clk,rstn,en;
  3.   output        reg        [4:0]        dout;

  4. always@(posedge clk or negedge rstn)
  5.         if (!rstn)
  6.                 dout<=4'b0000;
  7.         else
  8.                 if(en==1'b1)
  9.                         begin
  10.                         if(dout==4'b1010)
  11.                                 dout<=4'b0000;
  12.                         else
  13.                                 dout<=dout+1;
  14.                         end
  15. endmodule
复制代码


波形图如下:

每周3.bmp

问题2:设计3-8译码器。源代码如下:
  1. module decode(Ain,en,dout);
  2.   input                                [2:0]         Ain;
  3.   input                                                en;
  4.   output        reg                [7:0]        dout;

  5. always@(en or Ain)
  6.         if(en==1'b1)
  7.                 case(Ain)
  8.                         3'b000: dout <= 8'b11111110;
  9.                         3'b001: dout <= 8'b11111101;
  10.                         3'b010: dout <= 8'b11111011;
  11.                         3'b011: dout <= 8'b11110111;
  12.                         3'b100: dout <= 8'b11101111;
  13.                         3'b101: dout <= 8'b11011111;
  14.                         3'b110: dout <= 8'b10111111;
  15.                         3'b111: dout <= 8'b01111111;
  16.                 endcase
  17.     else
  18.          dout<=8'b11111111;
  19. endmodule
复制代码



波形图如下:

每周32.bmp

以上便是第二周的答案,小伙伴们做对了吗?
分割.png

本周题目是:用Verilog HDL设计


1、8位循环移位寄存器


2、D触发器(上升沿触发)


下周题目预告:各类触发器


往期回顾:                                                                                                   【FPGA每周一练】FPGA的HDL建模第一练
【FPGA每周一练】FPGA的HDL建模第二周



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。