Shift Register
/***************************************************
/ 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的更多相关文章
- 阅读 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.支 ...
- Shift Register(Using Submodule)
/*************************************************** / Shift Register module by Submodule / Progra ...
- RAM-Based Shift Register (ALTSHIFT_TAPS) IP Core-实现3X3像素阵列存储
最近想要实现CNN的FPGA加速处理,首先明确在CNN计算的过程中,因为卷积运算是最耗时间的,因此只要将卷积运算在FPGA上并行实现,即可完成部分运算的加速 那么对于卷积的FPGA实现首先要考虑的是卷 ...
- spi子系统之驱动SSD1306 OLED
spi子系统之驱动SSD1306 OLED 接触Linux之前,曾以为读源码可以更快的学习软件,于是前几个博客都是一边读源码一边添加注释,甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了.主 ...
- SPI总线
一.概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控 ...
- [转]什么是SPI通信
SPI:高速同步串行口.3-4线接口,收发独立.可同步进行. SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC6 ...
- [SPI]SPI协议详解
转自:https://my.oschina.net/freeblues/blog/67400 1.SPI协议简介 1.1.SPI协议概括 SPI,是英语Serial Peripheral interf ...
- I2C总线和S5PV210的I2C总线控制器
一.什么是I2C通信协议? 1.物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道. (2)SDA(serial ...
- Working Set缓存算法(转)
为了加深对缓存算法的理解,特转此篇,又由于本文内容过多,故不做翻译,原文地址Working Set页面置换算法 In the purest form of paging, processes are ...
随机推荐
- Jenkins获取分支的插件
Jenkins--->xxxx--->配置--->参数化构建过程--->选择Git Parameter Plug-In插件 Name: git_branch Descripti ...
- small test on 5.30 morning T3
经典的等价类计数问题,我们设 f(x) 为环长为 x 的时候的花环种类,那么答案显然等于 1/n * Σf( gcd (i,n) * [gcd(i,n)!=1] * [i>=0&&a ...
- 【DFS】Gym - 101142C - CodeCoder vs TopForces
就按照题意建出有向图来(n个点,2n-2条边),然后从按随便一个rating排序,从最后一个开始dfs,用vis数组防止重复访问,因为每次之前的肯定能访问之后的(及之后的能访问的),所以不会有重复.就 ...
- Java多线程——ReentrantReadWriteLock源码阅读
之前讲了<AQS源码阅读>和<ReentrantLock源码阅读>,本次将延续阅读下ReentrantReadWriteLock,建议没看过之前两篇文章的,先大概了解下,有些内 ...
- 浙南联合训练赛 B-Laptops
One day Dima and Alex had an argument about the price and quality of laptops. Dima thinks that the m ...
- iOS开源项目阅读整理
精读过的开源项目,随时整理,随时更新,本文只记录项目地址,名称和内容,不发表心得. 1.AFNetWorking iOS人都知道,不细诉. 2.iCarousel 旋转木马,选项卡很不错的UI解决方案 ...
- linux-文件中行按照出现次数多少排序
cat sorttest | sort | uniq -c | sort -k1 sorttest内容如下:
- 《西安交大电路》(Principles of Electrical Circuits) 学习笔记
内容简介:电路分析是电子类专业的第一门基础课. 电路理论包括电路分析和电路综合两大方面内容.电路分析的主要内容是指在给定电路结构.元件参数的条件下,求取由输入(激励)所产生的输出(响应):电路综合则主 ...
- 手写一个死锁Demo
相互持有对方锁,导致死锁 package jesse.test04; public class DeadLockSample extends Thread{ private String first; ...
- java动态载入指定的类或者jar包反射调用其方法
序言 有时候.项目中会用到java动态载入指定的类或者jar包反射调用其方法来达到模块的分离,使各个功能之间耦合性大大减少,更加的模块化.代码利用率更高.模式中的代理模式就用到java的这一机制. 下 ...