数字集成电路设计核心考点与 Verilog 实战指南

一、 核心理论:填空与简答的高频区

  1. IC 基础概念

    • 摩尔定律:集成电路上可容纳的元器件数目,约每 18-24 个月便会增加一倍 11。

    • 自顶向下(Top-Down)设计:从系统级描述开始,经过行为描述、RTL 描述,最终到物理实现 222。

    • EDA 工具:在现代数字设计中,Vivado 并非简单的编辑器,而是集成电路全生命周期的综合平台 33。

  2. 关键步骤定义

    • 综合(Synthesis):将 HDL 代码转换为与具体器件无关的门级网表,关注逻辑功能和初步优化 44。

    • 实现(Implementation):将网表映射到 FPGA 物理资源,包含翻译、映射、布局布线 55。

    • 比特流文件(.bit):FPGA 烧写配置的核心二进制文件,用于初始化芯片内部的逻辑资源和布线开关 66。


二、 重点实验 1:层次化设计(全加器)

考点直达:大纲"第三层次化设计(15分)"。核心在于理解模块调用(例化)。

1. 逻辑原理

半加器:实现两个二进制位 A、B 求和,不带低位进位。和 Sum = A ^ B,进位 Carry = A & B 。

全加器:由两个半加器和一个或门组成 8。它处理当前位 A、B 和低位进位 C_{in},输出最终和 Sum 与高位进位 Carry 。

  1. 标准代码实现

    // 半加器底层模块
    module half_adder(
    input A, B,
    output Sum, Carry
    );
    assign Sum = A ^ B; // 异或实现求和
    assign Carry = A & B; // 与运算实现进位
    endmodule

    // 全加器顶层模块(层次化集成)
    module full_adder(
    input A, B, Cin,
    output Sum, Carry
    );
    wire Sum1, Carry1, Carry2; // 中间线网

    复制代码
     // 实例化第一级半加器:计算 A+B
     half_adder u1 (.A(A), .B(B), .Sum(Sum1), .Carry(Carry1));
     
     // 实例化第二级半加器:计算 (A+B)+Cin
     half_adder u2 (.A(Sum1), .B(Cin), .Sum(Sum), .Carry(Carry2));
    
     // 最终进位:两级进位进行或运算
     assign Carry = Carry1 | Carry2;

    endmodule


三、 重点实验 2:时序逻辑与非阻塞赋值(4 级串行寄存器)

考点直达:大纲"综合题(40分)"。重点考查异步复位、时钟边沿触发及数据"打拍"延迟。

1. 设计要点

移位逻辑:数据在每个时钟上升沿向后传递一级,4 级串联可实现"延迟 4 拍"输出 111111。

赋值原则 :时序逻辑必须使用非阻塞赋值(<=),以模拟触发器同时采样的物理特性 12121212。组合逻辑(如 MUX 或译码器)则使用阻塞赋值(=) 13131313。

  1. 标准代码实现

    module shift_reg(
    input sys_clk, // 时钟
    input sys_rst_n, // 异步复位,低电平有效
    input a, // 串行输入
    output y // 延迟输出
    );
    reg a_reg1, a_reg2, a_reg3, a_reg4;

    复制代码
     // 响应时钟上升沿和复位下降沿
     always @(posedge sys_clk or negedge sys_rst_n) begin
         if (!sys_rst_n) begin
             // 异步复位清零
             {a_reg1, a_reg2, a_reg3, a_reg4} <= 4'b0;
         end else begin
             // 数据逐级移位
             a_reg1 <= a;
             a_reg2 <= a_reg1;
             a_reg3 <= a_reg2;
             a_reg4 <= a_reg3;
         end
     end
    
     assign y = a_reg4; // 最后一级输出

    endmodule


四、 进阶考点:SoC 与 IP 核(PLL)

考点直达:大纲"第四 15分"。重点在于理解 PLL 的功能及 IP 核的复用。

  1. SoC(片上系统):在单一芯片上集成处理器、存储器、I/O 等众多功能电路 15。

  2. IP 核:预先定义、经验证、可重复使用的功能模块,是构成 SoC 的基本单元 16。

  3. PLL(锁相环)

    • 核心功能:实现时钟倍频、分频、相位偏移和优化时钟抖动(Jitter) 17。

    • 关键信号locked 信号拉高表示 PLL 输出时钟已稳定,是数字逻辑安全复位的关键前提 18。


五、 考前避坑小贴士

  • 组合逻辑死区 :在编写 always @(*) 块时,若忘记 default 或写错赋值符号,易产生竞争冒险 19191919。

  • 约束文件(XDC):端口(Port)必须通过 XDC 绑定到芯片物理引脚(Pin),否则代码无法驱动硬件 20202020。

  • 仿真优化 :在处理大型计数器时,可使用宏定义(如 ```define SIMULATION``)缩短计数周期以提高验证效率 21。

相关推荐
FPGA_ADDA3 小时前
ORIN+FPGA 高速采集AI 智能处理板
人工智能·fpga开发
卡姆图拉夫3 小时前
基于米尔 MYD-YM90X 开发板的项目测评与技术分享
fpga开发
奋进的电子工程师6 小时前
新架构下高精度时间戳总线接口卡 TestBase VCI 0620
测试工具·fpga开发·软件工程
上大科技蔡生7 小时前
CS5567:具有宽占空比范围的60V同步降压DCDC控制器
单片机·嵌入式硬件·fpga开发·dcdc
bruk_spp8 小时前
verilog spi slave回环模拟
fpga开发
ShiMetaPi9 小时前
GM-3568JHF丨ARM+FPGA异构开发板系列教程:外设教程 08 串口
stm32·单片机·fpga开发·rk3568
Aaron15889 小时前
基于RFSOC+VU13P在6G通感一体化的技术应用浅析
算法·fpga开发·硬件架构·硬件工程·信号处理·射频工程·基带工程
博览鸿蒙11 小时前
宸极教育 | FPGA直播课程重磅上线!
fpga开发
FPGA_无线通信1 天前
AD9361 IQ接口框架搭建
fpga开发