关于fpga:分层次的电路设计方法

3次阅读

共计 1848 个字符,预计需要花费 5 分钟才能阅读完成。

⭐本专栏针对 FPGA 进行入门学习,从数电中常见的逻辑代数讲起,联合 Verilog HDL 语言学习与仿真,次要对组合逻辑电路与时序逻辑电路进行剖析与设计,对状态机 FSM 进行分析与建模。
🔥文章和代码已归档至【Github 仓库:hardware-tutorial】,须要的敌人们自取。或者关注公众号【AIShareLab】,回复 FPGA 也可获取。

分档次的电路设计办法

设计办法

应用自下而上的办法(bottom-up):

  • 实例援用根本门级元件 xor、and 定义底层的半加器模块 halfadder;
  • 实例援用两个半加器模块 halfadder 和一个根本或门元件 or 组合成为 1 位全加器模块 fulladder;
  • 实例援用 4 个 1 位的全加器模块 fulladder 形成 4 位全加器的顶层模块。

全加器电路设计举例

一位半加器的形容
//************ 一位半加器的形容 ************
module halfadder (S,C,A,B);  //IEEE 1364—1995 Syntax
   input A,B;   // 输出端口申明
   output S,C;  // 输入端口申明
   xor (S,A,B);  // 实例援用逻辑门原语
   and (C,A,B);
endmodule  
一位全加器的形容
//************ 一位全加器的形容 ************
module fulladder (Sum,Co,A,B,Ci);
   input A,B,Ci;         output Sum,Co;
   wire S1,D1,D2;           // 外部节点信号申明
    halfadder HA1 (.B(B),.S(S1),.C(D1),.A(A));          // 实例援用底层模块 halfadder
    halfadder HA2 (.A(S1),.B(Ci), .S(Sum),.C(D2));  // 端口信号依照名称对应关联
    or g1(Co,D2,D1);
endmodule
四位全加器的形容
//************ 四位全加器的形容 ************
module _4bit_adder (S,C3,A,B,C_1);
   input [3:0] A,B;
   input C_1;
   output [3:0] S; 
   output C3;
   wire C0,C1,C2;  // 申明模块外部的连接线
   fulladder  U0_FA (S[0],C0,A[0],B[0],C_1); // 实例援用模块 fulladder
   fulladder  U1_FA (S[1],C1,A[1],B[1],C0);  // 端口信号依照地位程序对应关联
   fulladder  U2_FA (S[2],C2,A[2],B[2],C1); 
   fulladder  U3_FA (S[3],C3,A[3],B[3],C2);
endmodule 

模块实例援用语句

模块实例援用语句的格局如下:

module_name  instance_name(port_associations);

(port_associations) 父、子模块端口的关联形式

  • 地位关联法: 父模块与子模块的端口信号是依照地位(端口排列秩序)对应关联的
  • 名称关联法:

对于模块援用的几点注意事项:

  1. 模块只能以实例援用的形式嵌套在其余模块内,嵌套的档次是没有限度的。但不能在一个模块外部应用关键词 module 和 endmodule 去定义另一个模块,也不能以循环形式嵌套模块,即不能在 always 语句外部援用子模块。
  2. 实例援用的子模块能够是一个设计好的 Verilog HDL 设计文件(即一个设计模块),也能够是 FPGA 元件库中一个元件或嵌入式元件功能块,或者是用别的 HDL 语言(如 VHDL、AHDL 等)设计的元件,还能够是 IP(Intellectual Property,知识产权)核模块。
  3. 在一条实例援用子模块的语句中,不能一部分端口用地位关联,另一部分端口用名称关联,即不能混合应用这两种形式建设端口之间的连贯。
  4. 对于端口连贯时无关变量数据类型的一些规定。

参考文献:

  1. Verilog HDL 与 FPGA 数字零碎设计,罗杰,机械工业出版社,2015 年 04 月
  2. Verilog HDL 与 CPLD/FPGA 我的项目开发教程 (第 2 版), 聂章龙, 机械工业出版社, 2015 年 12 月
  3. Verilog HDL 数字设计与综合 (第 2 版), Samir Palnitkar 著,夏宇闻等译, 电子工业出版社, 2015 年 08 月
  4. Verilog HDL 入门 (第 3 版), J. BHASKER 著 夏宇闻甘伟 译, 北京航空航天大学出版社, 2019 年 03 月

欢送关注公众号【AIShareLab】,一起交换更多相干常识,前沿算法,Paper 解读,我的项目源码,面经总结。

正文完
 0