【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器

这篇具有很好参考价值的文章主要介绍了【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

1:学会设计用IP核和原理图的方式设计电路,完成涉及1位数据的2选1多路选择器。

2:设计带异步置零和写使能端的D触发器。

二、实验环境

  1. 软件:Vivado 2015.4
  2. 操作系统:Windows 10

三、实验内容

2.2.1 多路选择器的设计
1:添加IP核文件

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 

2:添加bd文件,在Block Design界面中进行设计

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件


3:放置门电路及端口

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 
4:添加仿真文件并仿真

 【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 


5:管脚分配

由于本实验不需要进行硬件实验,故2.2.1至此完毕

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 

2.3.1 D触发器的设计

1:设置输入输出端口

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

2:编写源程序文件

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 3:编写仿真程序文件

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

4 :仿真得到模拟图

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 

四、分析Verilog 程序的功能,并编写仿真测试程序

源程序分析:

module reg8(
input clk, // 输入时钟信号
            input clrn, // 输入清除信号
            input wen, // 输入写使能信号
            input [7:0] d, // 输入数据信号
            output [7:0] q // 输出数据信号
            );
  reg [7:0] p; // 定义一个 8 位寄存器变量 p

  always @(posedge clk or negedge clrn) // 在时钟上升沿或清除信号下降沿时执行以下语句
    if(!clrn) // 如果清除信号为 0
      p <= 0; // 将寄存器清零
    else if (!wen) // 如果写使能信号为 0
      p <= d; // 将寄存器更新为输入数据信号

  assign q = p; // 将输出数据信号连接到寄存器变量 p 上
endmodule // 模块定义结束

仿真程序:

module reg8_sim;

  // Inputs
  reg clk;
  reg clrn;
  reg wen;
  reg [7:0] d;

  // Outputs
  wire [7:0] q;

  // Instantiate the module to be tested
  reg8 dut (
    .clk(clk),
    .clrn(clrn),
    .wen(wen),
    .d(d),
    .q(q)
  );

  // Clock generator
  always #5 clk = ~clk;

  // Testbench logic
  initial begin
    // Initialize inputs
    clk = 0;
    clrn = 1;
    wen = 0;
    d = 0;

    // Wait for a few clock cycles
    #10;

    // Reset the module
    clrn = 0;
    #5 clrn = 1;

    // Wait for another few clock cycles
    #10;

    // Write some data to the module
    wen = 1;
    d = 8'hAB;
    #5 wen = 0;

    // Wait for a few more clock cycles
    #10;

    // Read the data from the module
    wen = 0;
    #5;
    $display("q = %h", q);

    // Finish the simulation
    #10;
    $finish;
  end
endmodule

仿真结果:

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 

五、总结实验中遇到问题和解决方法

遇到的问题:

1:mux2x1verilog源文件在实验指导中存在一定问题,在仿真时c的输出为Z,即无输出。

解决的办法:

1:将源文件修改如下

module mux2x1verilog(

    input a,

    input b,

    input s,

    output c

    );

    wire a1,b1,sel;

    notgate_0 u0(.a(s),.c(sel));

    andgate_0 u1(.a(a),.b(sel),.q(a1));

    andgate_0 u2(.a(s),.b(b),.q(b1));

    orgate_0 u3(.a(a1),.b(b1),.q(c));

endmodule

 

由于实验指导里面未写入与门和或门的逻辑,因此无法正确运行程序。错误的仿真结果如下图:

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器,计算机组成与体系结构,单片机,嵌入式硬件

 

根据代码语义分析后,可以得到a1为与门1的输出、b1为与门2的输出,sel为非门的输出。根据电路图重写语句后,仿真结果符合预期。

其他说明:

Exp_2文件夹中,Exp_2、mux2x1verilog为2.2.1的实验内容,dffe为2.3.1的实验内容,reg8为第四部分的实验内容。文章来源地址https://www.toymoban.com/news/detail-539751.html

到了这里,关于【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机组成原理与体系结构】控制器

    目录 一、CPU的功能与基本结构 二、指令周期的数据流 三、数据通路 四、时序控制 CPU的功能: 指令控制 :完成取指令、分析指令和执行指令的操作,即程序的顺序控制。 操作控制 :一条指令的功能往往是由若干操作信号的组合来实现的,CPU管理并产生由内存取出的每条指

    2024年02月08日
    浏览(30)
  • 中级软件设计师备考---计算机组成与体系结构3

    计算题 概念题 计算可靠度 码距:是指两个码字之间的不同位数。例如,1010和1111之间的码距是2,因为它们在第二位和第三位上不同。在信息传输中,码距越大,就越容易检测和纠正错误。 在一个码组内为了检测e个误码,要求最小码距d应满足:d=e+1 在一个码组内为了纠正

    2023年04月15日
    浏览(31)
  • 中级软件设计师备考---计算机组成与体系结构1

    对于n位二进制数,原码、反码和补码的表示范围如下: 原码:用最高位表示符号位,0表示正数,1表示负数。n位二进制数的原码表示范围为:-(2 n-1 -1) ~ 2 n-1 -1。 反码:正数的反码与原码相同,负数的反码是将原码中除符号位外的所有位取反。n位二进制数的反码表示范围

    2023年04月09日
    浏览(38)
  • 系统架构设计师-第1章计算机组成与体系结构

    计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。 系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序和数据库管理系统等。

    2024年02月03日
    浏览(45)
  • 【计算机体系结构】Cache性能分析实验报告

    原文档下载: https://download.csdn.net/download/weixin_56213139/87384692 一、 实验目的 (1)加深对Cache基本概念、基本组织结构以及工作原理的理解。 (2)掌握Cache容量、相关度、块大小对Cache性能的影响 (3)掌握降低Cache不命中率的各种方法以及它们对提高Cache性能的好处 (4)理解

    2024年02月03日
    浏览(35)
  • 【软件设计师暴击考点】计算机组成原理与体系结构高频考点暴击系列【一】

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : 软件设计师考点暴击 下午题 ⭐【软件设计师暴击考点】下午题高频考点暴击系列 上午题目录 进入专栏浏览:

    2024年02月10日
    浏览(31)
  • 计算机体系结构实验三——流水线中的相关

    答:在WinDLX中执行程序段1,这里要声明的是文件需要以S文件的形式保存,TXT文件winDLX好像读不进去。 导入之后,程序段顺利运行,可以通过statistics查看执行周期数,由下图可知,执行周期数为130个周期。 分析程序中出现的暂停: 程序中出现的第一个暂停是数据相关,因为

    2023年04月08日
    浏览(36)
  • 计算机体系结构第五次实验——Branch-Target Buffers(BTB)

    本次实验的主要目的是加深对Branch-Target Buffers的理解。掌握使用Branch-Target Buffers减少或增加分支带来的延迟的情况。 在使用forwarding的情况下,对比采用BTB与不采用BTB技术时流水线的变化。重点分析两种情况下每次循环的stall周期数,都是由什么原因造成的?重点分析与分支指

    2024年02月04日
    浏览(27)
  • 上海大学计算机体系结构实验四 HPL安装和测试(虚拟机centos7.6环境下保姆级教程!)

    CSDN上的安装测试有很多,但在实际安装过程中经常碰到博客的教程缺了中间的某个指令,或者漏了某个配置(写的不完全)导致报错的情况,一波三折下来直接心态搞崩,不过好在最后终于是成功了。 特此我详细记录下本次HPL安装和测试的过程,给自己一个参考,也给其他

    2024年02月03日
    浏览(41)
  • 计算机体系结构

    目录 第一章 基本概念 1.虚拟计算机 2.计算机系统结构的定义 3.佛林(Flynn)分类法 4.Amdahl定律 5.CPU性能公式 6.程序访问的局部性原理 第二章 指令系统 1.数据表示与数据类型 2.浮点数的表示方式 3.编址方式 4.寻址方式 5.指令系统的优化设计  6.Huffman编码法 7.拓展编码 8.两种方

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包