1、写程序先直接写出时钟信号

 //-----------------产生串行时钟scl,为输入时钟的二分频---------
always@(negedge clk)//二分频表示频率小了,周期大了
  if(reset)
  scl<=;
  else
  scl<=~scl;

2、然后直接写主状态程序

 always@(posedge clk)
if(reset)//复位
begin
link_read<=no;//各大开关信号关闭
link_head<=no;
link_write<=no;
link_stop<=no;
link_sda<=no;
ack<=;
rf<=;//各大标志位赋值
wf<=;//写状态标志位
ff<=;//寄存器标志位
main_state<=idle;//主状态进入空闲了
end
else
begin
casex(main_state)
idle://空闲状态也是要空闲
begin
link_read<=no;//各大开关
if(wr)//写信号
begin
wf<=;
main_state<=ready;
end
else if(rd)//读信号
begin
rf<=;//
main_state<=ready;
end
else
begin
wf<=;
rf<=;
main_state<=idle;
end
end
ready:
begin
head_state<=head_begin;
ff<=;
ack<=;
main_state<=write_start;
end
write_start:
begin end

3、写程序的过程中每一个根线都应该是加上寄存器和标志位和开关。

  1)输出和输入:加寄存器

  2)输入输出是否完成:加标志位

  3)未完待续。。。。。。。。。。。。。。。

阅读verilog程序总结的更多相关文章

  1. 阅读c#程序——回答问题

    c#“小”程序: using System; using System.Collections.Generic; using System.Text; namespace FindTheNumber ...

  2. 微信小程序-阅读小程序demo

    今天和朋友聊天说到小程序,然后看在看书,然后我们就弄了个小读书的demo,然后现在分享一下. 一.先来上图: 二.然后下面是详细的说明  首先先说下边的tabBar,项目采用json格式的数据配置,不 ...

  3. sobel流水线操作Verilog程序

    sobel算子的verilog实现,采用了流水线操作 module sobel_computer ( clock , reset, OrigDataEn, //SobelAluEn, OrigData ...

  4. Java阅读word程序说明文件

    完成office文件操作可以帮助apache.poi包(我用poi-3.10-FINAL),导入对应的jar包(最好所有导入) 以下的程序演示了一些操作word的过程,具体的函数功能能够查看此包的官方 ...

  5. 第一个Verilog程序:通用加法器

    Verilog作为一门硬件描述语言,快速掌握它的方法就是不断的练习,反复动手实践,通过例子掌握隐藏在语句背后的硬件电路.下面是第一个需要学习的Verilog例子: )( :] a, :] b, inp ...

  6. 写verilog程序需要注意的地方

    1.在always块语句中一定要注意if-else if-else if-else的判断条件的顺序. 2.同一个寄存器信号只能在同一个always or initial 块中进行赋值. 3.在控制一个 ...

  7. Verilog HDL的程序结构及其描述

    这篇博文是写给要入门Verilog HDL及其初学者的,也算是我对Verilog  HDL学习的一个总结,主要是Verilog HDL的程序结构及其描述,如果有错,欢迎评论指出. 一.Verilog ...

  8. 阅读程序 回答问题——FindTheNumber

    阅读程序 回答问题——FindTheNumber 阅读下面程序,请回答如下问题:问题1:这个程序要找的是符合什么条件的数?问题2:这样的数存在么?符合这一条件的最小的数是什么?问题3:在电脑上运行这一 ...

  9. C#代码分析--阅读程序,回答问题

    阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...

随机推荐

  1. JavaScript常用代码段

    总结一下在各种地方看到的还有自己使用的一些实用代码 1)区分IE和非IE浏览器 if(!+[1,]){ alert("这是IE浏览器"); } else{ alert(" ...

  2. C# 排列组合

    排列组合的概念 排列:从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement). 组合:从m个不同的元素中,任取n(n≤m)个元 ...

  3. 571亿背后:DRC助阿里实现异地双活

    571亿背后:DRC助阿里实现异地双活 赶集网SQL自动上线

  4. 值得推荐的C/C++框架和库(转)

    值得学习的C语言开源项目 C++ 资源大全 值得学习的C语言开源项目 1.Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我 ...

  5. 将windows系统装到USB存储设备

    需求: 1)一般公司比较规范,计算机系统有严格的限制策略,如果自己不懂得如何更改或者没有权限更改,将极其不便. 2)计划在家里完成在公司未完成的事,甚至异地出差觉得携带笔记本不太方便,寻找更便携的设备 ...

  6. NTP服务搭建

    1:实验环境 前提条件:虚拟机环境,windows 客户端,关闭防火墙:linux 服务器关闭防火墙,关闭selinux. Cent OS :NTP服务器 IP: 192.168.80.134  /2 ...

  7. DOM 中 Property 和 Attribute 的区别

    原文地址:http://web.jobbole.com/83129/ property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,attribute: ...

  8. centos6.5_x86_64安装Adobe Flash Player

    对x86_64的CentOS6.5系统,安装FireFox的Adobe Flash Player插件 安装插件,终端下输入命令:#wget http://linuxdownload.adobe.com ...

  9. 2. XAML

    1. 什么是 XAML XAML 可以说是 XML 的一个特殊子集,使用相同的语法,只是 XML 可以自定义任何的节点和属性,但 XAML 是有所限制的,只能在规定的命名空间下使用. 2. names ...

  10. Date and Time in PeopleCode

    Setting a Date to Null in PeopleCode To set a date to null in PeopleCode either use the SetDefault() ...