微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA的HDL建模持续更新

FPGA的HDL建模持续更新

时间:10-02 整理:3721RD 点击:
【FPGA每周一练汇总帖】FPGA的HDL建模持续更新
课程简介:这一版的论坛笔记只适合入门者,因为这论坛笔记按着由浅入深编辑的,只适合做入门引子。建议初学者者先从一些权威的参考书去了解“什么是Verlilog HDL 语言”,同时在跟着我们的论坛笔记进行练习,以达到快速理解的目的。FPGA 宛一堆乐高积和Verilog HDL 是自己的手(工具) ,自己可以随心所愿的要怎么拆就怎么拆。
第一周:
1、设计一个全加器。

  1. module MUX( C,D,E,F,S,out);
  2.         input                         C,D,E,F ;         //input
  3.         input         [1:0]         S ;                 //select

  4. control
  5.         output         reg         out ;                 //result

  6. //___________________cut_______________________//
  7. always@(C or D or E or F or S)
  8.         begin
  9.                 case (S)
  10.                         2'b00 : Mux_out = C ;
  11.                         2'b01 : Mux_out = D ;
  12.                         2'b10 : Mux_out = E ;
  13.                         default : Mux_out = F ;
  14.                 endcase
  15.         end
  16. endmodule

复制代码

2、四选一的多路选择器。

  1. module fulladd(cout, sum, ain, bin, cin);
  2.         input                 ain, bin, cin;                //input
  3.         output                 sum, cout;                        
  4.         
  5.         wire                 sum;                                //summation
  6.         wire                 cout;                                //carry output
  7. //________________________cut__________________________//
  8. assign sum = ain ^ bin ^ cin;
  9. assign cout = (ain & bin) | (bin & cin) | (ain & cin);

  10. endmodule

复制代码

第二周:1、设计一个10进制计数器;

  1. module count(clk,rstn,en,dout);
  2.   input                                        clk,rstn,en;
  3.   output        reg        [4:0]        dout;
  4.   
  5. always@(posedge clk or negedge rstn)
  6.         if (!rstn)
  7.                 dout module shift
  8.         (
  9.         input                                clk,rstn,
  10.         output        reg        [7:0]                dout
  11.         );
  12. /***************************************/
  13. always@(posedge clk or negedge rstn)
  14.         begin
  15.         if(!rstn)
  16.                 dout[7:0]
  17.         else
  18.                 dout[7:0]
  19.         end
  20. /***************************************/
  21. endmodule

复制代码

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

  1. module d
  2.         (
  3.         input        clk,clr,din,
  4.         output        q;
  5.         );
  6.         reg din,q;
  7. /***************************************/
  8. always@(posedge clk)
  9.         if(clr)
  10.                 q

复制代码


更多内容:
【FPGA每周一练】FPGA的HDL建模第一周
【FPGA每周一练】FPGA的HDL建模第二周
【FPGA每周一练】FPGA的HDL建模第三周
【FPGA每周一练】第四周:用Verilog HDL设计


好资料 学习了 !

支持。支持。

支持。支持。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top