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

哈尔滨做网站的平面设计素材网站排名

哈尔滨做网站的,平面设计素材网站排名,上海的网络推广公司,wordpress插件字库flash的指定扇区擦除实验。 先发写指令#xff0c;再进入写锁存周期等待500ns#xff0c;进入写扇区擦除指令#xff0c;然后写扇区地址#xff0c;页地址#xff0c;字节地址。即可完成扇区擦除。 模块框图#xff1a; 时序图#xff1a; 代码#xff1a; module…flash的指定扇区擦除实验。 先发写指令再进入写锁存周期等待500ns进入写扇区擦除指令然后写扇区地址页地址字节地址。即可完成扇区擦除。 模块框图 时序图  代码  module spi (input wire sys_clk ,input wire sys_rst_n , input wire key_start ,output wire miso ,output reg mosi ,output reg cs_n ,output reg sck );// parameter parameter COMD_W 8h06 , // 写指令COMD_B 8hc7 , // 全擦除指令COMD_S 8hd8 ; // 扇区擦除指令parameter ADR_SE 8h00 , // 扇区地址 adress secterADR_PA 8h04 , // 页地址 adress pageADR_BY 8h25 ; // 字节地址 adress byteparameter IDLE 4b0001 ,WREN 4b0010 ,WEL 4b0100 ,SE 4b1000 ;// wire signal deginewire IDLEtoWREN; wire WRENtoWEL ; wire WRENtoSE ; wire SEtoIDLE ; // reg signal definereg [3:0] state_c ;reg [3:0] state_n ;reg [3:0] cnt_20ns ;reg [3:0] cnt_bit ;reg [3:0] cnt_byte ;reg flag_bit ;reg f_b_reg ; // flag_bit_reg的缩写 /****************************************************************************/// 三段式状态机// 现态与次态描述// state_calways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) state_c IDLE ;elsestate_c state_n ;end// state_nalways (*) begincase (state_c)IDLE :if(IDLEtoWREN)state_n WREN ;else state_n IDLE ;WREN :if(WRENtoWEL)state_n WEL ;else state_n WREN ;WEL :if(WRENtoSE)state_n SE ;else state_n WEL ;SE :if(SEtoIDLE)state_n IDLE ;else state_n SE ;default: state_n IDLE ;endcaseend// 状态转移描述assign IDLEtoWREN ( state_c IDLE) ( key_start ) ;assign WRENtoWEL ( state_c WREN) ( f_b_reg ) ;assign WRENtoSE ( state_c WEL ) ( cnt_20ns 6 ) ;assign SEtoIDLE ( state_c SE ) ( f_b_reg ) ;// 相关信号描述// reg [3:0] cnt_20ns ;always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) cnt_20ns 4d0 ;else case (state_c)IDLE : cnt_20ns 4d0 ;WREN : if(cnt_20ns || f_b_reg)cnt_20ns 4d0 ;else cnt_20ns cnt_20ns 1b1 ;WEL : if(cnt_20ns 6) // 60x20ns120nscnt_20ns 4d0 ;elsecnt_20ns cnt_20ns 1b1 ;SE : if(cnt_20ns || f_b_reg)cnt_20ns 4d0 ;else cnt_20ns cnt_20ns 1b1 ;default: cnt_20ns 4d0 ;endcaseend// reg [3:0] cnt_bit ;always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n)cnt_bit 4d0 ;else case (state_c)IDLE : cnt_bit 4d0 ;WREN : if(!cnt_20ns sck cnt_bit 7)cnt_bit 4d0 ;else if(!cnt_20ns sck)cnt_bit cnt_bit 1b1 ;WEL : cnt_bit 4d0 ;SE : if(!cnt_20ns sck cnt_bit 7)cnt_bit 4d0 ;else if(!cnt_20ns sck)cnt_bit cnt_bit 1b1 ;default: cnt_bit 4d0 ;endcaseend// reg [3:0] cnt_bytealways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) cnt_byte 4d0 ;else if(cnt_bit 7 !cnt_20ns sck cnt_byte 4)cnt_byte 4d0 ;else if(cnt_bit 7 !cnt_20ns sck)cnt_byte cnt_byte 1b1 ;else cnt_byte cnt_byte ;end// reg flag_bit ;always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) flag_bit 1b0 ;elsecase (state_c)IDLE : flag_bit 1b0 ;WREN : if(cnt_bit 7 sck !cnt_20ns)flag_bit 1b1 ;else flag_bit flag_bit ;WEL : flag_bit 1b0 ;SE : if(cnt_bit 7 sck !cnt_20ns cnt_byte 4)flag_bit 1b1 ;else flag_bit flag_bit ;default: flag_bit 1b0 ;endcaseend// reg f_b_reg ;always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) beginf_b_reg 1b0 ;end else beginf_b_reg flag_bit ;endend// output signal// wire miso ,assign miso 1bz ;// mosialways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n)mosi 1b0 ;elsecase (state_c)IDLE : mosi 1b0 ;WREN : if(!cnt_bit) // (cnt_bit 0)mosi COMD_W[7] ;else if(cnt_20ns sck)mosi COMD_W[7 - cnt_bit] ;else mosi mosi ;WEL : mosi 1b0 ;SE : case (cnt_byte)1: beginif(!cnt_bit)mosi COMD_S[7] ;else if(cnt_20ns sck)mosi COMD_S[7 - cnt_bit] ;else mosi mosi ; end2: beginif(!cnt_bit)mosi ADR_SE[7] ;else if(cnt_20ns sck)mosi ADR_SE[7 - cnt_bit] ;else mosi mosi ; end3: beginif(!cnt_bit)mosi ADR_PA[7] ;else if(cnt_20ns sck)mosi ADR_PA[7 - cnt_bit] ;else mosi mosi ; end4: beginif(!cnt_bit)mosi ADR_BY[7] ;else if(cnt_20ns sck)mosi ADR_BY[7 - cnt_bit] ;else mosi mosi ; enddefault: mosi 1b0 ;endcasedefault: mosi 1b0 ;endcaseend// reg cs_n ,always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) begincs_n 1b1 ;end else begincase (state_c)IDLE : if(key_start)cs_n 1b0 ;else cs_n 1b1 ;WREN : if(f_b_reg)cs_n 1b1 ;else cs_n cs_n ;WEL : if(cnt_20ns 6) cs_n 1b0 ;else cs_n cs_n ;SE : if(f_b_reg)cs_n 1b1 ;else cs_n cs_n ;default: cs_n 1b1 ;endcaseendend// reg sck always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n)sck 1b0 ;else case (state_c)IDLE : sck 1b0 ;WREN : if(cnt_20ns)sck ~sck ;else sck sck ;WEL : sck 1b0 ;SE : if(cnt_20ns)sck ~sck ;else sck sck ;default: sck 1b0 ;endcaseendendmodulemodule top(input wire sys_clk ,input wire sys_rst_n ,input wire key_in ,output wire cs_n ,output wire sck ,output wire mosi );// 例化间连线wire key_flag ;key_filter key_filter_inst(.sys_clk ( sys_clk ) ,.sys_rst_n ( sys_rst_n ) ,.key_in ( key_in ) ,.key_out ( key_flag ) );spi spi_inst(.sys_clk ( sys_clk ) ,.sys_rst_n ( sys_rst_n ) ,.key_start ( key_flag ) ,.mosi ( mosi ) ,.miso ( ) ,.cs_n ( cs_n ) ,.sck ( sck ) );endmodule module key_filter #(parameter MAX_CNT_20MS 20d100_0000 )(input wire sys_clk ,input wire sys_rst_n ,input wire key_in ,output wire key_out );reg key_r_0 ;reg key_r_1 ;wire nege ;wire pose ;reg [19:00] cnt_20ms ;wire add_cnt_20ms ;wire end_cnt_20ms ;reg add_cnt_flag ;// key_r_0 key_r_1 always (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) beginkey_r_0 1b1 ;end else beginkey_r_0 key_in ;endendalways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) beginkey_r_1 1b1 ;end else beginkey_r_1 key_r_0 ;endend// nege poseassign nege ~key_r_0 key_r_1 ;assign pose key_r_0 ~key_r_1 ;// add_cnt_flagalways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) beginadd_cnt_flag 1b0 ;end else beginif(nege) beginadd_cnt_flag 1b1 ;end else beginif( pose || end_cnt_20ms ) beginadd_cnt_flag 1b0 ;end else beginadd_cnt_flag add_cnt_flag ;endend endend// cnt_20ms add_cnt_20ms end_cnt_20msalways (posedge sys_clk or negedge sys_rst_n) beginif(~sys_rst_n) begincnt_20ms 20d0 ;end else beginif(add_cnt_20ms) beginif(end_cnt_20ms) begincnt_20ms 20d0 ;end else begincnt_20ms cnt_20ms 20d1 ;endend else begincnt_20ms 20d0 ;endendendassign add_cnt_20ms add_cnt_flag ;assign end_cnt_20ms add_cnt_20ms cnt_20ms ( MAX_CNT_20MS - 1b1 ) ;// key_out// always (posedge sys_clk or negedge sys_rst_n) begin// // always (*) begin // 这样的话 会综合成 数据选择器// if(~sys_rst_n) begin// key_out 1b0 ;// end else begin// if(end_cnt_20ms) begin// key_out 1b1 ;// end else begin// key_out 1b0 ;// end// end// endassign key_out end_cnt_20ms ; endmodule仿真图忘记截屏了。 需要用到仿真模型。 上版验证通过。
http://www.zqtcl.cn/news/194770/

相关文章:

  • 西部数码做跳转网站百度seo排名培训优化
  • 农业网站素材wordpress all in one
  • 学习网站建设有前景没wordpress 和dokuwiki
  • 服装网站开发方案网站设计美工排版编辑
  • 旅游网站首页模板下载广州市建设工程检测中心网站
  • 餐饮加盟网站建设wordpress 首行缩进
  • kkday是哪里做的网站橙云 php网站建设
  • 站长之家0网站规划作品
  • 物流公司网站建设系统规划广告设计怎么学
  • 异地备案 网站中信建设有限责任公司经济性质
  • 网站没有备案怎么申请广告宿迁莱布拉网站建设
  • 太原适合网站设计地址网站建设 教学视频教程
  • 建商城网站需要多少钱网站开发维护报价单
  • 唐山网站建设冀icp备婚纱网站页面设计
  • 做购物网站支付需要怎么做手机网站建设教程
  • 国外网站空间租用哪个好建站快车打电话
  • 自媒体网站 程序做药公司的网站前置审批
  • 简洁网站模板素材廊坊建设企业网站
  • 长沙建站找有为太极就治就网站内容如何自动关联新浪微博
  • 手机企业网站设计理念企业建设网站的步骤是什么?
  • 网站建设与管理视频网站推广的方法枫子
  • 苏州市住房和城乡建设局官方网站宠物之家网站开发
  • 建个人网站活字格能开发企业网站吗
  • php网站后台密码忘记做电子商务网站 语言
  • 网站建设策划师怎样进入国外网站
  • 建设银行商城网站浙江建站管理系统价格
  • 我想做个网站怎么做的常用的网络营销方法及效果
  • 南通专业做网站南宁网站建设mxfsem
  • 阿里巴巴电子商务网站建设目的网站专题素材
  • 浙江虎霸建设机械有限公司网站哪个网站做简历好