当前位置: 首页 > news >正文

内贸在什么网站做企业网站优化排名

内贸在什么网站做,企业网站优化排名,淘宝网站开发店铺什么类别,wordpress 主题 小众Intel FPGA (1):线性序列机 前提摘要 个人说明: 限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“Email:noahpanzzzgmail.com”。本博客的工程文件均存放在…

Intel FPGA (1):线性序列机

前提摘要

  1. 个人说明:

    • 限于时间紧迫以及作者水平有限,本文错误、疏漏之处恐不在少数,恳请读者批评指正。意见请留言或者发送邮件至:“Email:noahpanzzz@gmail.com”
    • 本博客的工程文件均存放在:GitHub:https://github.com/panziping。
    • 本博客的地址:CSDN:https://blog.csdn.net/ZipingPan
  2. 参考:

    • 芯片型号:Intel EP4CE10F17C8(Cyclone IV E)
    • 《数字电子技术基础》-阎石
    • 《FPGA自学笔记—设计与验证》袁玉卓,曾凯锋,梅雪松
    • 《Verilog 数字系统设计教程》夏宇闻
    • 《Verilog HDL 高级数字设计》Michael D.Ciletti
    • 《Intel FPGA/CPLD设计》(基础篇)王欣 王江宏等
    • 《Intel FPGA/CPLD设计》(高级篇)王江宏 蔡海宁等
    • 《综合与时序分析的设计约束 Synopsys设计约束(SDC)实用指南》Sridhar Gangadharan
  3. 日期:

    • 2024-01-01

正文

点亮LED灯

硬件资源

在这里插入图片描述

由原理图可知,FPGA的IO口输出低电平,则LED点亮。

程序编写
module led_test(led
);output led;assign led = 1'b0;endmodule 

点亮LED灯进阶

将LED点亮200ms,熄灭800ms。

程序编写
module led_test(clk,rst_n,led
);input clk;input rst_n;output reg led;reg [27:0] r_led_cnt;localparam LED_CNT_MAX = 28'd50_000_000;localparam LED_CNT_TURN = 28'd40_000_000;always@(posedge clk or negedge rst_n) beginif(!rst_n)r_led_cnt <= 'd0;else if(r_led_cnt == LED_CNT_MAX-1)r_led_cnt <= 'd0;elser_led_cnt <= r_led_cnt + 1'd1;endalways@(posedge clk or negedge rst_n) beginif(!rst_n)led <= 1'd1;else if(r_led_cnt == LED_CNT_TURN-1)led <= 1'd0;else if(r_led_cnt == LED_CNT_MAX-1)led <= 1'd1;elseled <= led;endendmodule 
波形图

在这里插入图片描述

由上述实验可以发现,通过计数器可以产生一个占空比不是50%的周期信号。那么是不是由此可以引申,通过计数器对时钟计数,产生一串带有数字信息的信号。

线性序列机(LSM)

产生一段信号,包含的内容为11011010,每个码元所占用的时间为50us。

module tx_test(clk,rst_n,tx
);input clk;input rst_n;output reg tx;reg [15:0] r_tim_cnt;localparam TIM_CNT_MAX = 16'd20_000;localparam DATA0 = 16'd2_500;localparam DATA1 = 16'd5_000;localparam DATA2 = 16'd7_500;localparam DATA3 = 16'd10_000;localparam DATA4 = 16'd12_500;localparam DATA5 = 16'd15_000;localparam DATA6 = 16'd17_500;localparam DATA7 = 16'd20_000;always@(posedge clk or negedge rst_n) beginif(!rst_n)r_tim_cnt <= 'd0;else if(r_tim_cnt == TIM_CNT_MAX-1)r_tim_cnt <= 'd0;elser_tim_cnt <= r_tim_cnt + 1'd1;endalways@(posedge clk or negedge rst_n) beginif(!rst_n)tx <= 1'd1;else if(r_tim_cnt == DATA0 - 1'd1)tx <= 1'd0;else if(r_tim_cnt == DATA1 - 1'd1)tx <= 1'd1;else if(r_tim_cnt == DATA2 - 1'd1)tx <= 1'd0;else if(r_tim_cnt == DATA3 - 1'd1)tx <= 1'd1;else if(r_tim_cnt == DATA4 - 1'd1)tx <= 1'd1;else if(r_tim_cnt == DATA5 - 1'd1)tx <= 1'd0;else if(r_tim_cnt == DATA6 - 1'd1)tx <= 1'd1;else if(r_tim_cnt == DATA7 - 1'd1)tx <= 1'd1;else tx <= tx;end//	always@(posedge clk or negedge rst_n) begin
//		if(!rst_n)
//			tx <= 1'd1;
//		else 
//			case(r_tim_cnt)
//			DATA0-1'd1: tx <= 1'd0;
//			DATA1-1'd1: tx <= 1'd1;			
//			DATA2-1'd1: tx <= 1'd0;
//			DATA3-1'd1: tx <= 1'd1;		
//			DATA4-1'd1: tx <= 1'd1;
//			DATA5-1'd1: tx <= 1'd0;			
//			DATA6-1'd1: tx <= 1'd1;
//			DATA7-1'd1: tx <= 1'd1;			
//			default:tx <= tx;
//			endcase
//	end
//	endmodule 
波形图

在这里插入图片描述

由上述实验可以发现,通过线性序列机产生了8bits(11011010)的信号。那么是不是对于串行信号都可以通过线性序列机进行输出。

数码管驱动

上述是线性序列机(LSM)的简单应用。

这一部分展示线性序列机应用在数码管驱动电路中(完整请见(Intel FPGA (3):数码管显示)),需要通过线性序列机产生三个信号seg_sclk(sh_cp),seg_rclk(st_cp),seg_dio(ds)

波形图

在这里插入图片描述

程序编写
module hc595_driver(clk,rst_n,seg_data,seg_data_valid_go,seg_sclk,seg_rclk,seg_dio
);input clk;input rst_n;input [15:0] seg_data;input seg_data_valid_go;output reg seg_sclk;output reg seg_rclk;output reg seg_dio;reg [15:0] r_seg_data;always@(posedge clk or negedge rst_n) beginif(!rst_n)r_seg_data <= 'd0;else if(seg_data_valid_go == 1'b1)r_seg_data <= seg_data;elser_seg_data <= r_seg_data;endlocalparam DIV_CNT_MAX = 4;			//fsh_cp = 6.25MHzreg [2:0] r_div_cnt;always@(posedge clk or negedge rst_n) beginif(!rst_n)r_div_cnt <= 'd0;else if(r_div_cnt == DIV_CNT_MAX -1)r_div_cnt <= 'd0;else	r_div_cnt <= r_div_cnt + 1'b1;endwire w_sclk_pluse;	//SH_CPassign w_sclk_pluse = (r_div_cnt == DIV_CNT_MAX -1) ? 1'b1 :1'b0;reg [4:0] r_sclk_edge_cnt;	//SH_CPalways@(posedge clk or negedge rst_n) beginif(!rst_n)r_sclk_edge_cnt <= 'd0;else if(w_sclk_pluse == 1'b1)if(r_sclk_edge_cnt == 5'd31)r_sclk_edge_cnt <= 'd0;elser_sclk_edge_cnt <= r_sclk_edge_cnt + 1'd1;elser_sclk_edge_cnt <= r_sclk_edge_cnt;endalways@(posedge clk or negedge rst_n) beginif(!rst_n) beginseg_sclk <= 1'd0;seg_rclk <= 1'd0;seg_dio <= 1'd0;endelse begincase(r_sclk_edge_cnt)5'd0 : begin seg_sclk = 1'b0; seg_rclk = 1'b1; seg_dio = r_seg_data[15]; end //Q2H(HEX_DP)5'd1 : begin seg_sclk = 1'b1; seg_rclk = 1'b0;  								 end 5'd2 : begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[14]; end //Q2G(HEX_G)5'd3 : begin seg_sclk = 1'b1;								   						 end5'd4 : begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[13]; end //Q2F(HEX_F)5'd5 : begin seg_sclk = 1'b1;														    end5'd6 : begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[12]; end //Q2E(HEX_E)5'd7 : begin seg_sclk = 1'b1;														    end5'd8 : begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[11]; end //Q2D(HEX_D)	5'd9 : begin seg_sclk = 1'b1;														    end5'd10: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[10]; end //Q2C(HEX_C)	5'd11: begin seg_sclk = 1'b1;														    end5'd12: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[9];  end //Q2B(HEX_B)	5'd13: begin seg_sclk = 1'b1;					    									 end5'd14: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[8];  end //Q2A(HEX_A)5'd15: begin seg_sclk = 1'b1;					    									 end5'd16: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[7];  end //Q1H(HEX_SEL7)		5'd17: begin seg_sclk = 1'b1;					    									 end5'd18: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[6];  end //Q1G(HEX_SEL6)5'd19: begin seg_sclk = 1'b1;					    									 end5'd20: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[5];  end //Q1F(HEX_SEL5)5'd21: begin seg_sclk = 1'b1;					    									 end5'd22: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[4];  end //Q1E(HEX_SEL4)		5'd23: begin seg_sclk = 1'b1;					    									 end5'd24: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[3];  end //Q1D(HEX_SEL3)			5'd25: begin seg_sclk = 1'b1;					    									 end5'd26: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[2];  end //Q1C(HEX_SEL2)	5'd27: begin seg_sclk = 1'b1;					    									 end5'd28: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[1];  end //Q1B(HEX_SEL1)	5'd29: begin seg_sclk = 1'b1;					    									 end5'd30: begin seg_sclk = 1'b0;				        seg_dio = r_seg_data[0];  end //Q1A(HEX_SEL0)5'd31: begin seg_sclk = 1'b1;					    									 enddefault:;endcaseendendendmodule 

总结

线性序列机可以画出任意波形的数字信号!常用作为最低层RTL设计。


本文均为原创,欢迎转载,请注明文章出处:CSDN:https://blog.csdn.net/ZipingPan。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

非原创博客会在文末标注出处,由于时效原因,可能并不是原创作者地址(已经无法溯源)。


文章转载自:
http://dinncofaultage.stkw.cn
http://dinncorecreance.stkw.cn
http://dinncomoutan.stkw.cn
http://dinncobespatter.stkw.cn
http://dinncoretravirus.stkw.cn
http://dinncosoily.stkw.cn
http://dinncoswoosh.stkw.cn
http://dinncogrisaille.stkw.cn
http://dinnconinon.stkw.cn
http://dinncoepibiont.stkw.cn
http://dinncousbeg.stkw.cn
http://dinncokalpak.stkw.cn
http://dinncofellowman.stkw.cn
http://dinncotemplate.stkw.cn
http://dinncohandsew.stkw.cn
http://dinncofluky.stkw.cn
http://dinncocucurbitaceous.stkw.cn
http://dinncoscholarship.stkw.cn
http://dinncospicknel.stkw.cn
http://dinncotympano.stkw.cn
http://dinncorhinitis.stkw.cn
http://dinncojurisprudence.stkw.cn
http://dinncoeasytran.stkw.cn
http://dinncodust.stkw.cn
http://dinncoparachor.stkw.cn
http://dinncounseriousness.stkw.cn
http://dinncobenefaction.stkw.cn
http://dinncostabling.stkw.cn
http://dinncountried.stkw.cn
http://dinncodiamantiferous.stkw.cn
http://dinncoweedy.stkw.cn
http://dinncomirrnyong.stkw.cn
http://dinncopiedmont.stkw.cn
http://dinncowalleye.stkw.cn
http://dinncoswordman.stkw.cn
http://dinncoproofless.stkw.cn
http://dinncosamite.stkw.cn
http://dinncoangelhood.stkw.cn
http://dinncocartelize.stkw.cn
http://dinncoscoreless.stkw.cn
http://dinncoremitter.stkw.cn
http://dinncodarkly.stkw.cn
http://dinncocolatitude.stkw.cn
http://dinncomayfly.stkw.cn
http://dinncochristiania.stkw.cn
http://dinncoreflorescent.stkw.cn
http://dinncoantebrachium.stkw.cn
http://dinncoabsterge.stkw.cn
http://dinncoevacuee.stkw.cn
http://dinncopaintwork.stkw.cn
http://dinncoventriloquy.stkw.cn
http://dinncocoulee.stkw.cn
http://dinncomellowy.stkw.cn
http://dinncoina.stkw.cn
http://dinncochromatin.stkw.cn
http://dinncomonoculture.stkw.cn
http://dinncothyroiditis.stkw.cn
http://dinncosomatotrophic.stkw.cn
http://dinncoadrenochrome.stkw.cn
http://dinncointersatellite.stkw.cn
http://dinncopeck.stkw.cn
http://dinncopyopneumothorax.stkw.cn
http://dinncovicious.stkw.cn
http://dinncoefik.stkw.cn
http://dinncoexpletory.stkw.cn
http://dinncosclerosing.stkw.cn
http://dinncomaterialize.stkw.cn
http://dinncoimmiserization.stkw.cn
http://dinncoorbicularis.stkw.cn
http://dinnconewsagent.stkw.cn
http://dinncoporgy.stkw.cn
http://dinncosulphanilamide.stkw.cn
http://dinncolemures.stkw.cn
http://dinncodoubling.stkw.cn
http://dinncomajolica.stkw.cn
http://dinncoletdown.stkw.cn
http://dinncohagiarchy.stkw.cn
http://dinncoidolatress.stkw.cn
http://dinncoporny.stkw.cn
http://dinncowildly.stkw.cn
http://dinncofuzzball.stkw.cn
http://dinncoirredeemable.stkw.cn
http://dinncowaive.stkw.cn
http://dinncodematerialize.stkw.cn
http://dinncohomocyclic.stkw.cn
http://dinncomaraud.stkw.cn
http://dinncosomnambular.stkw.cn
http://dinncosunback.stkw.cn
http://dinncoblanky.stkw.cn
http://dinncoemulous.stkw.cn
http://dinncoenchylema.stkw.cn
http://dinncoterrarium.stkw.cn
http://dinncoacoelomate.stkw.cn
http://dinncototalize.stkw.cn
http://dinncoeastwards.stkw.cn
http://dinncopersonalist.stkw.cn
http://dinncoepitomist.stkw.cn
http://dinncocorban.stkw.cn
http://dinncoeuropeanly.stkw.cn
http://dinncoimaginable.stkw.cn
http://www.dinnco.com/news/109212.html

相关文章:

  • 做购物网站骗人安徽seo人员
  • 网站响应式建设谷歌浏览器2021最新版
  • 网站开发项目怎么接中国企业培训网
  • 求个网站急急急bt磁力搜索引擎索引
  • ps图做ppt模板下载网站有哪些内容外贸网络推广公司
  • 佛山抖音seo常州网络推广seo
  • 凡科网站制作seo广告优化
  • 中山响应式网站建设阿里巴巴友情链接怎么设置
  • 做网站编辑累吗百度的特点和优势
  • 杭州网站建设洛洛科技微信群推广
  • 网站首页素材免费注册网址
  • 建个网站 做ib代理风云榜
  • 做服装招聘的网站有哪些今日最新新闻
  • 苏州沧浪区做网站的淘宝流量网站
  • 网站建设经费管理网站诊断分析
  • 医疗网站被黑后可以做排名上海百度关键词优化公司
  • 公司网站建设情况说明书免费b站软件下载
  • 中国招生代理网福州seo经理招聘
  • 深圳服务好的网站建设seo按照搜索引擎的什么对网站
  • 自适应网站怎么做百度一下你就知道官方
  • wordpress高级模板aso排名优化知识
  • 电影新网站如何做seo优化郑州网站建设七彩科技
  • 做日历的网站深圳建站公司
  • 网站关键词做排名不分免费软文网站
  • 免费软件app有哪些合肥百度搜索优化
  • 怎样说服企业做网站建设推广seo 推广教程
  • 广州做网站做得比较好今日特大新闻新事
  • 网页设计与网站建设作业阿里云万网域名查询
  • wordpress建站论坛windows优化大师有用吗
  • 做网站域名的公司seo工具有哪些