[Verilog]用Verilog实现并串装换

news/2024/10/18 6:06:24/

用Verilog实现并串装换

摘要

一、并串转换模块

       并串转换的原理是:先将八位数据暂存于一个四位寄存器器中,然后左移输出到一位输出端口,这里通过load_valid信号指示并行数据输入。

1.1 用移位寄存器实现

module parallel_serial(clk, rst_n, load_valid, data_i, ser_data_o
);input clk, rst_n, en;
input [7:0]    para_data_in;
output         ser_data_o;reg [7:0]  data_buf;always @(posedge clk or negedge rst_n) beginif (rst_n == 1'b0) beginser_data_o <= 1'b0;data_buf   <= 8'b0;endelse if (load_valid == 1'b1)data_buf <= para_data_in;elsedata_buf <= data_buf << 1; 	//将寄存器内的值左移,依次读出//data_buf <= {data_buf[6:0],1'b0};
endassign ser_data_o = data_buf[7];endmodule

1.2 用计数器实现

module b_c(clk, rst_n, valid, para_data_in, ser_data_out);
input clk, rst_n;
input [3:0] para_data_in;
output reg  valid;
output reg  ser_data_o;reg [3:0]  count;
reg [3:0]  data;always @(posedge clk or negedge rst_n) beginif(~rst_n) begincount      <= 0;valid      <= 0;;data       <= para_data_in;ser_data_o <= 0;endelse beginif(count < 4) begincount         <= count + 1;valid         <= 1;data          <= {data[2:0], data[3]};ser_data_o    <= data[3];endelse begincount         <= 0;valid         <= 0;ser_data_o    <= 0;endend
endendmodule


http://www.ppmy.cn/news/1266234.html

相关文章

HTML行内元素和块级元素的区别? 分别有哪些?

目录 一、行内元素和块级元素的区别二、行内元素和块级元素分别有哪些1、行内元素2、块级元素 一、行内元素和块级元素的区别 1、行内元素不会占据整行&#xff0c;在一条直线上排列&#xff0c;都是同一行&#xff0c;水平方向排列&#xff1b;    2、块级元素可以包含行内…

科技提升安全,基于YOLOv5系列模型【n/s/m/l/x】开发构建商超扶梯场景下行人安全行为姿态检测识别系统

在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题&#xff0c;随着AI技术的快速发展与不断普及&#xff0c;越来越多的商超、地铁等场景开始加装专用的安全检测预警系统&#xff0c;核心工作原理即使AI模型与摄像头图像视频流的实时计算&#xf…

【智能家居】七、人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)

一、翔云 人工智能开放平台 API文档开发示例下载 二、编译openSSL支持libcurl的https访问 安装SSL依赖库openSSL(使用工具wget)libcurl库重新配置&#xff0c;编译&#xff0c;安装运行&#xff08;运行需添加动态库为环境变量&#xff09; 三、编程实现人脸识别 四、Base6…

Http模块

Http模块 1.创建http服务 //导入http模块 const http require(http)//创建服务对象 const server http.createServer((request,response)>{response.end(Hello HTTP Server) })// 监听端口&#xff0c;启动服务 server.listen(9000,()>{console.log(服务已启动....);…

c语言插入排序及希尔排序详解

目录 前言&#xff1a; 插入排序&#xff1a; 希尔排序&#xff1a; 前言&#xff1a; 排序在我们生活中无处不在&#xff0c;比如学生成就排名&#xff0c;商品价格排名等等&#xff0c;所以排序在数据结构的学习中尤为重要&#xff0c;今天就为大家介绍两个经典的排序算法&…

tp5 rewrite nginx重写

tp框架,默认的访问路径是 www.xxxx.com/index.php/admin/shop/index格式的&#xff0c;为了方便和更规范&#xff0c;也看起来有逼格一些&#xff0c;需要将index.php去掉 无index.php就会报404 我这里是宝塔 #地址重写if (!-e $request_filename) {rewrite ^(.*)$ /index.…

【APP安卓测试工具】adb(Android Debug Bridge)

1.常见的命令 列出已连接的设备 adb device安装 adb install <APK文件路径>卸载 adb uninstall <APK文件路径>启动和停止 adb shell am start -n <包名>[/<Activity>]adb shell am force -stop <包名>截屏和录屏 adb shell screencap <文件路…

MeterSphere实战(一)

MeterSphere是一位朋友讲到的测试平台&#xff0c;说这东西是开源的&#xff0c;因为我是做测试的&#xff0c;很乐意了解一些新鲜事物。在我看来&#xff0c;测试就是要专注一些领域&#xff0c;然后要啥都会一点点&#xff0c;接着融会贯通起来&#xff0c;这样就可以万变不离…