目录

Shift register1

Shift register2


Shift register1

实现下面的电路:

module top_module (input clk,input resetn,   // synchronous resetinput in,output out);reg q1, q2, q3, q4;always@(posedge clk) beginif(~resetn) beginq1 <= 0;q2 <= 0;q3 <= 0;q4 <= 0;endelse beginq4 <= q3;q3 <= q2;q2 <= q1;q1 <= in;endendassign out = q4;endmodule

奇怪地是,既然是同步复位,为什么RTL图画的不符合,有点不严谨了哈。


Shift register2

Consider the n-bit shift register circuit shown below:

Write a top-level Verilog module (named top_module) for the shift register, assuming that n = 4. Instantiate four copies of your MUXDFF subcircuit in your top-level module. Assume that you are going to implement the circuit on the DE2 board.

  • Connect the R inputs to the SW switches,
  • clk to KEY[0],
  • E to KEY[1],
  • L to KEY[2], and
  • w to KEY[3].
  • Connect the outputs to the red lights LEDR[3:0].

先给出每一个子模块的设计:

module MUXDFF (input clk,input w, R, E, L,output Q
);//reg Q;wire mid1, mid2;assign mid1 = E ? w : Q;assign mid2 = L ? R : mid1;always@(posedge clk) beginQ <= mid2;endendmodule

通过例化子模块,得到顶层设计:

module top_module (input [3:0] SW,input [3:0] KEY,output [3:0] LEDR
); //
wire q4, q3, q2, q1;MUXDFF inst4(.clk(KEY[0]),.w(KEY[3]),.R(SW[3]),.E(KEY[1]),.L(KEY[2]),.Q(q4));MUXDFF inst3(.clk(KEY[0]),.w(q4),.R(SW[2]),.E(KEY[1]),.L(KEY[2]),.Q(q3));MUXDFF inst2(.clk(KEY[0]),.w(q3),.R(SW[1]),.E(KEY[1]),.L(KEY[2]),.Q(q2));MUXDFF inst1(.clk(KEY[0]),.w(q2),.R(SW[0]),.E(KEY[1]),.L(KEY[2]),.Q(q1));
assign LEDR = {q4, q3, q2, q1};endmodule

HDLBits 系列(22) Shift register相关推荐

  1. HDLBits 系列(7)——Sequential Logic(Counters、Shift Registers、More Circuits)

    目录 3.2 Sequential Logic 3.2.2 Counters 1. Four-bit binary counter​ 2.Decade counter 3. Decade counte ...

  2. HDLBits 系列(0)专题目录

    本篇博文是近来总结HDLBits系列的目录,点击蓝色字体即可进入查看具体内容. HDLBits 系列(1)从HDLBits中获取灵感,整顿自己,稳步前行 HDLBits 系列(2)如何避免生成锁存器? ...

  3. HDLBits 系列(21)LFSR(线性反馈移位寄存器)

    目录 5 bit LFSR 3 bit LFSR 32 bit LFSR 5 bit LFSR A linear feedback shift register is a shift register ...

  4. HDLBits答案(22)_基于有限状态机的计数器

    基于有限状态机的计数器 HDLBits链接 前言 今天更新搭建更大的电路部分的习题,内容主要跟计数器和有限状态机有关. 题库 Counter with period 1000 构造一个0-999的计数 ...

  5. SAP PM 初级系列22 - IW38可以批量处理维修工单

    SAP PM 初级系列22 - IW38可以批量处理维修工单 SAP PM模块的事务代码IW38功能强大,可以作为维修部门计划人员的一个很重要的主工作台.在这里他可以针对各种类型的维修工单,尤其是未完 ...

  6. SAP PM入门系列22 - IH06 Display Functional Location

    SAP PM入门系列22 - IH06 Display Functional Location SAP PM中,技术对象function location是一个非常重要的核心的主数据.事务代码IH06 ...

  7. Windows server 2012 AD架构 试验 系列22 -ADAC与PowerShell History

    Windows server 2012 AD架构 试验 系列22 -ADAC与PowerShell History ADAC是建立于Windows PowerShell之上的一个用户界面工具. 在Wi ...

  8. HDLBits 系列(20)移位寄存器(逻辑移位、算术移位、循环移位)

    目录 4 bit的右移寄存器设计 100 bit循环移位寄存器 算术移位寄存器 4 bit的右移寄存器设计 先给出一个4位右移寄存器的设计题: Build a 4-bit shift register ...

  9. HDLBits 系列(31)Serial Receiver and Datapath

    目录 序言 原题复现 我的设计 序言 上篇博文: HDLBits 系列(30)Serial Receiver 写了串行接收器如何接收8位串行数据,正确接收8位串行数据后给一个接收完毕标志信号,这篇博文 ...

最新文章

  1. react中使用构建缓存_如何在React中构建热图
  2. 学python需要学数据库吗-Python学什么数据库
  3. linux文件物理结构,文件物理结构和存储空间管理
  4. boost::pool模块实现验证是否 malloc/free 宏一切仍然正常的测试程序)
  5. jqGrid细节备注—pager文字的设置,更改默认的提交方式
  6. ecshop二次开发必备--数据库说明2
  7. 基于Visual Studio2010讲解LINQ读出数据库数据生成XML
  8. JavaScript强化教程 —— Cocos2d-JS极速调试技巧
  9. HDU 3669 Cross the Wall(斜率DP+预处理)
  10. 目标检测数据集标注工具LabelImg从安装到使用详解
  11. 4.21 使用剪切蒙版命令制作可爱的皮球 [Illustrator CC教程]
  12. 浅谈MATLAb中imcrop()函数
  13. python爬虫采集财经数据
  14. shiro最详细的解读
  15. 曼哈顿算法公式_Manhattan Distance Calculation(曼哈顿距离算法)
  16. [V5] self的resend,JS实现
  17. Java编写杨辉三角
  18. 【AI隐私保护.论文笔记】CrypTFlow2: Practical 2-Party Secure Inference,CrypTFlow2:实用的安全两方推理
  19. imx6 通过移植XRM117x(SPI转串口)对Linux中的SPI驱动框架进行分析
  20. 这100 个网络基础知识,看完成半个网络高手

热门文章

  1. java 底层方法_底层方法测试--【Java】
  2. linux 12541 重启监听器,ORA-12541:ORA-12541:TNS:没有监听器 解决方法
  3. jquery点击后执行PHP加载div,PHP-将JQuery自动完成附加到由Ajax调用加载的文本字段...
  4. lisp修改天正标高值_【求教】如何批量修改天正字体
  5. 深度优先遍历_二叉树的深度优先遍历,理解框架真的能够套用题目吗?不了解执行过程可能很难。...
  6. 大学生计算机应用实训报告,计算机专业大学生的通用实习报告
  7. r语言绘制精美pcoa图_如何绘制精美的PCoA图形?
  8. python删除过期文件_Python删除指定目录下的过期文件的代码
  9. 最温暖的大学,最火热的比赛
  10. 三关节机械臂上的传感器 、执行器与控制板STM32F103连接