/***************************************************

/  Shift Register module

/  Programing by seongki

***************************************************/

module Shift_Register_4_beh(output reg [3:0] A_par,input [3:0] I_par, input s1,s0, MSB_in,LSB_in,CLK,Clear);

always@(posedge CLK,negedge Clear)

if(~Clear)A_par<=4'b0000;

else

case({s1,s0})

2'b00:A_par<=I_par;

2'b01:A_par<={MSB_in,I_par[3:1]};

2'b10:A_par<={I_par[2:0],LSB_in};

2'b11:A_par<=I_par;

endcase

endmodule

// testbench

`timescale 1ns/1ns

module tb_Shift_Register_4_beh;

reg [3:0] I_par;

reg s1,s0,MSB_in,LSB_in,CLK,Clear;

wire [3:0] A_par;

Shift_Register_4_beh test1(A_par,I_par,s1,s0, MSB_in,LSB_in,CLK,Clear);

initial

  begin

    I_par=4'b1111;

    Clear=0; MSB_in=0; LSB_in=0; CLK=0; s1=0; s0=0;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1; 

    #10 Clear=1; MSB_in=0; LSB_in=0; CLK=0; s1=0; s0=0;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 Clear=1; MSB_in=0; LSB_in=0; CLK=0; s1=0; s0=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 Clear=1; MSB_in=0; LSB_in=0; CLK=0; s1=1; s0=0;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 Clear=1; MSB_in=0; LSB_in=0; CLK=0; s1=1; s0=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

    #10 CLK=1;

    #10 CLK=0;

  end

endmodule

Shift Register的更多相关文章

  1. 阅读 RAM-Based Shift Register(ALTSHIFT_TAPS) IP Core User Guide

    阅读 RAM-Based Shift Register(ALTSHIFT_TAPS) IP Core User Guide 说明:本文档自带测试工程: DE_ALTSHIFT_TAPS.zip 1.支 ...

  2. Shift Register(Using Submodule)

    /*************************************************** /  Shift Register module by Submodule /  Progra ...

  3. RAM-Based Shift Register (ALTSHIFT_TAPS) IP Core-实现3X3像素阵列存储

    最近想要实现CNN的FPGA加速处理,首先明确在CNN计算的过程中,因为卷积运算是最耗时间的,因此只要将卷积运算在FPGA上并行实现,即可完成部分运算的加速 那么对于卷积的FPGA实现首先要考虑的是卷 ...

  4. spi子系统之驱动SSD1306 OLED

    spi子系统之驱动SSD1306 OLED 接触Linux之前,曾以为读源码可以更快的学习软件,于是前几个博客都是一边读源码一边添加注释,甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了.主 ...

  5. SPI总线

    一.概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控 ...

  6. [转]什么是SPI通信

    SPI:高速同步串行口.3-4线接口,收发独立.可同步进行. SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC6 ...

  7. [SPI]SPI协议详解

    转自:https://my.oschina.net/freeblues/blog/67400 1.SPI协议简介 1.1.SPI协议概括 SPI,是英语Serial Peripheral interf ...

  8. I2C总线和S5PV210的I2C总线控制器

    一.什么是I2C通信协议? 1.物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道. (2)SDA(serial ...

  9. Working Set缓存算法(转)

    为了加深对缓存算法的理解,特转此篇,又由于本文内容过多,故不做翻译,原文地址Working Set页面置换算法 In the purest form of paging, processes are ...

随机推荐

  1. notepad++ remove duplicate line

    To remove duplicate lines just press Ctrl + F, select the “Replace” tab and in the “Find” field, pla ...

  2. [PKUSC2018]神仙的游戏(FFT)

    给定一个01?串,对所有len询问是否存在一种填法使存在长度为len的border. 首先有个套路的性质:对于一个长度为len的border,这个字符串一定有长度为n-len的循环节(最后可以不完整) ...

  3. [CF480E]Parking Lot

    题意:给一个$n\times m$的网格,初始时有些地方不能选,给$k$个询问$(x,y)$,每次令$(x,y)$不能选,然后询问最大子正方形的边长 如果按原题来做,禁止选一个点对答案的影响是极其鬼畜 ...

  4. 【博弈论】poj2348 Euclid's Game

    假设当前b>a. 一.b%a==0 必胜 二.b<2*a,当前我们没有选择的余地,若下一步是必胜(最终能到情况一),则当前必败:反之,当前必胜. 三.b>2*a,假设x是使得b-ax ...

  5. 【动态规划】【记忆化搜索】CODEVS 1010 过河卒 2002年NOIP全国联赛普及组

    f(i,j)=f(i-1,j)+f(i,j-1),显然可以暴力递归求解,但是很多重复的状态,所以可以记忆下来. 注意障碍点和边界的特判. #include<cstdio> #include ...

  6. Scala零基础教学【1-20】

    基于王家林老师的Spark教程——共计111讲的<Scala零基础教学> 计划在9月24日内完成(中秋节假期之内) 目前18号初步学习到25讲,平均每天大约完成15讲,望各位监督. 初步计 ...

  7. Delphi 窗体失踪在最上面的代码

    unit ufrmSysPubMessage; interface uses  Windows, Forms, Messages, Classes, ExtCtrls, Controls, StdCt ...

  8. oracle表空间操作语句

    1.查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by ...

  9. ExtJS 4 在Ext.tab.Panel中使用Ext.ux.IFrame打开url指向的网页

    ext-4.2.1.883\examples\ux\IFrame.js ext-4.2.1.883\examples\ux\TabCloseMenu.js 复制到 \Scripts\ext-4.2.1 ...

  10. 在Oracle Enterprise Linux R5U7上安装Oracle 11gr2数据库

    折腾了好几次,经验是: 包的安装 在安装包里,需要把开发方面的安装包都装上. 另外安装完成后,需要安装的包包括: cd /media/cdrom/Server rpm -Uvh binutils-2. ...