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 ...
随机推荐
- 设计模式-工厂模式(Factory Pattern)
本文由@呆代待殆原创,转载请注明出处. 工厂模式遵循的设计原则之一:找出代码中常变化的部分,并把这一部分分离出来.(Dependency Inversion Principle) 工厂模式简述 当我们 ...
- [姿势]cpp - memset
头文件:memory.h 可以刷的有: memset(array,,sizeof(array)); //全部赋0 memset(array,-,sizeof(array)); //全部赋-1 用法和用 ...
- 前端基础-JavaScript的基本概述和语法
1.JavaScript概述 2.JavaScript引入方式 3.JavaScript语言规范 4.JavaScript语言基础 5.JavaScript数据类型 6.JavaScript运算符 7 ...
- Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核
安装: sudo apt-add-repository main sudo apt-get update sudo apt-get install qemu-kvm qemu virt-manager ...
- C# 6.0可能会支持模式匹配了
今天在CodePlex的Roslyn讨论区发现了一个帖子:Draft spec for records and pattern-matching in C#,估计MS计划在C# 6.0中支持模式匹配了 ...
- 【C语言】 Linux下编译提示pow未定义引用
如下代码: #include <stdio.h> // 调用基本输入输出函数库 #include <math.h> #define PI 3.14 // 定义常量 float ...
- vb6 wininet
Private Const UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; .NET CLR 1.1.4322)&qu ...
- t-sql 笔记(2)
1.用标点符号分隔的字符串,转换成表 -- SELECT * FROM dbo.split('581:579:519:279:406:361:560',':') ), )) )) AS BEGIN D ...
- inner join, left join ,right join 结果
假设有两个表结构如下: 表table1 表 table 2 内连接: --内连接 select * from table1 inner join table2 on table1.ID = table ...
- springBoot框架的一些概念
Spring的发展史1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml ...