9、简单组合逻辑-层次化设计(Quartus II联合Modelsim 以全加器为例)

一、层次化设计理论学习

    数字电路中根据模块层次不同有两种基本的结构设计方法:自底向上(Bottom-Up)的设计方法和自顶向下(Top-Down)的设计方法。
自底向上的设计是一种传统的设计方法,对设计进行逐次划分的过程是从存在的基本单元出发的,设计树最末枝上的单元要么是已经构造出的单元。在自底向上建模方法中,我们首先对现有的功能块进行分析,然后使用这些模块来搭建规模大一些的功能块,如此继续直至顶层模块。

         自上而下的设计是从系统级开始,把系统分为基本单元,然后再把每个单元划分为下一层次的基本单元,一直这样做下去,直到直接可以用EDA元件库中的原件来实现为止。在自顶向下设计方法中,我们首先定义顶层功能块,进而分析需要哪些构成顶层模块的必要子模块;然后进一步对各个子模块进行分解,直到到达无法进一步分解的底层功能块。

 二、全加器为例实现层次化设计

      (1)实验框图

        (2) 波形绘制

        (3) 代码编写

module full_adder
(
 input    wire    [0:0]  in_1,
 input    wire           in_2,
 input    wire           cin,
 
 output   wire           sum,
 output   wire           count
);

wire [0:0] h0_sum;
wire [0:0] h0_count;
wire [0:0] h1_count;

half_adder  half_adder_inst_0
(
 .in_1(in_1),
 .in_2(in_2),
 
 .sum(h0_sum),
 .count(h0_count)
);
half_adder  half_adder_inst_1
(
 .in_1(cin),
 .in_2(h0_sum),
 
 .sum(sum),
 .count(h1_count)
);

assign count = (h0_count|h1_count);
endmodule

       (4)代码编译以及RTL视图

        (5)仿真代码编写

`timescale 1ns/1ns
module tb_full_adder();
reg    in_1;
reg    in_2;
reg    cin;

wire sum;
wire count;

initial
    begin
      in_1 <= 1'b0;
      in_2 <= 1'b0;
      cin  <= 1'b0;
    end
    
    
    
initial 
    begin
      $timeformat(-9,0,"ns",6);
      $monitor("@time %t:in_1 %b,in_2=%b,cin=%b,sum=%b,count=%b",$time,in_1,in_2,cin,sum,count);
    end
always #10 in_1 <= {$random}%2;
always #10 in_2 <= {$random}%2;
always #10 cin  <= {$random}%2;

full_adder full_adder_inist
(
 .in_1(in_1),
 .in_2(in_2),
 .cin(cin),
 
 .sum(sum),
 .count(count)

);

endmodule

           (6)仿真波形验证

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Quartus IIModelSim是两个EDA工具,可以联合使用来进行FPGA设计和仿真。Quartus II用于设计和编译FPGA,而ModelSim则用于仿真和验证设计的正确性。联合使用这两个工具可以提高设计的效率和准确性。在Quartus II中,可以通过设置仿真设置来连接ModelSim,然后在ModelSim中进行仿真。同时,也可以在ModelSim中直接打开Quartus II生成的仿真波形文件进行仿真分析。 ### 回答2: Quartus IIModelsim都是常用的FPGA设计工具,Quartus II是一款综合性的设计软件,用于完成FPGA设计的各个阶段,包括可编程逻辑器件的综合、布局布线和仿真等,而Modelsim是常用的数字电路仿真工具,该工具可以帮助设计者快速、准确的检验设计的正确性。 Quartus IIModelsim联合使用的好处在于可以帮助设计者更快速、准确地完成FPGA设计。通过联合使用,设计者可以在Quartus II中完成设计后,直接将设计文件导入到Modelsim中进行数字电路仿真,可提高设计效率和设计质量,避免在后期才发现设计问题带来的不必要的时间和功夫的浪费。 在Quartus II中,设计者可以使用“RTL Viewer”查看设计后的寄存器传输级表示(Register Transfer Level,RTL),同时可以将RTL代码和仿真配置文件直接导出到Modelsim。在Modelsim中,我们可以编辑仿真波形以查看电路的输出,并使用Modelsim的控制台运行任意命令与原始硬件进行比较。 此外,Quartus II还提供了常规的EDA工具,如HDL爆炸图, 映射工具和Layout Viewer, 可以帮助设计者更好地理解设计和检测错误。Quartus II还提供了FPGA板级设计的工具流和实现,利用ModelsimQuartus II联合,可以使设计师更好地完成硬件设计并进行仿真验证。 总之,联合使用Quartus IIModelsim,可以帮助设计人员更快速、高效地完成FPGA设计,同时保证设计的高质量和正确性。 ### 回答3: Quartus IIModelSim是常用的FPGA设计工具,它们可以帮助工程师完成复杂的数字电路设计Quartus II主要用于设计和优化FPGA芯片的逻辑电路,包括创建原理图和设计约束文件、进行逻辑综合和布局布线等。而ModelSim则是一种功能强大的仿真工具,可以在设计阶段对电路进行验证、测试和调试。 Quartus IIModelSim可以进行联合使用,以提高FPGA设计的效率和可靠性。具体地说,Quartus II可以将设计文件导出到ModelSim中进行仿真,这样工程师可以在仿真环境中模拟和检测设计中可能存在的问题。通过联合使用这两个工具,我们可以在更早的设计阶段发现问题,以减少后期的重复工作和设计修改。 在Quartus II中进行ModelSim仿真还有一个好处,就是可以使用Quartus II设计约束文件来控制仿真。这样可以根据芯片的实际布局布线情况,对仿真进行更为精确的控制,以更好地模拟芯片的运行情况。 除此之外,Quartus IIModelSim也可以进行联合调试。工程师在进行仿真时,可以根据仿真结果调试电路中可能存在的问题,并对设计进行优化。通过不断的调试和优化,最终得到的设计可以更好地满足实际需求。 总之,Quartus IIModelSim联合使用可以帮助工程师更好地完成FPGA设计。它们提供了完整的设计、仿真和验证环境,可以大大提高设计的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值