ad_封装_ads828
module ad_ctrl(
clk,rst_n,ad_clk,
ad_data,value_x,value_y,q_sig,wren,r_addr,w_addr
); input clk;
input rst_n;
input [:] value_x;
input [:] value_y;
output ad_clk;
input [:] ad_data;
output wren;
output [:] q_sig;
output reg [:] r_addr;
output reg [:] w_addr; assign ad_clk = ~clk; wire [:] data_sig;
assign data_sig = ad_data[:];
ram_ad ram_ad_inst (
.clock ( clk ),
.data ( data_sig ),
.rdaddress ( r_addr ),
.wraddress ( w_addr ),
.wren ( wren ),
.q ( q_sig )
); //read ram
always @(posedge clk or negedge rst_n)
if(!rst_n)
r_addr <= 'd0;
else if((value_x >= && value_x < ) && (value_y >= && value_y <))
r_addr <= value_x[:];
else
r_addr <= 'd0;
//write ram
reg [:] state;
always @(posedge clk or negedge rst_n)
if(!rst_n)begin
w_addr <= 'd0;
state <= 'd0;
end
else if((value_x >= && value_x < ) && (value_y >= && value_y <))begin
case(state)
'd0:begin
if(data_sig > )
state <= ;
else
state <= 'd0;
end
'd1:begin
if(w_addr > )begin
state <= 'd0;
w_addr <= 'd0;
end
else begin
w_addr <= w_addr + 'd1;
state <= 'd1;
end
end
default:state <= 'd0;
endcase
end
else
w_addr <= 'd0; //wren
reg wren_r;
always @(posedge clk or negedge rst_n)
if(!rst_n)
wren_r <= 'd0;
else if((value_x >= && value_x < ) && (value_y >= && value_y <))
wren_r <= 'd0;
else if((value_x >= && value_x < ) && (value_y >= && value_y <))
wren_r <= 'd1;
else
wren_r <= 'd0;
assign wren = wren_r;
endmodule
set_location_assignment PIN_AF14 -to clk
set_location_assignment PIN_AA14 -to rst_n
set_location_assignment PIN_AF26 -to ad_data[0]
set_location_assignment PIN_AG25 -to ad_data[1]
set_location_assignment PIN_AE24 -to ad_data[2]
set_location_assignment PIN_AF25 -to ad_data[3]
set_location_assignment PIN_AD24 -to ad_data[4]
set_location_assignment PIN_AE23 -to ad_data[5]
set_location_assignment PIN_AB21 -to ad_data[6]
set_location_assignment PIN_AC23 -to ad_data[7]
set_location_assignment PIN_AB17 -to ad_data[8]
set_location_assignment PIN_AA21 -to ad_data[9]
set_location_assignment PIN_AG26 -to ad_clk
set_location_assignment PIN_B13 -to vga_b[0]
set_location_assignment PIN_G13 -to vga_b[1]
set_location_assignment PIN_H13 -to vga_b[2]
set_location_assignment PIN_F14 -to vga_b[3]
set_location_assignment PIN_H14 -to vga_b[4]
set_location_assignment PIN_F15 -to vga_b[5]
set_location_assignment PIN_G15 -to vga_b[6]
set_location_assignment PIN_J14 -to vga_b[7]
set_location_assignment PIN_F10 -to vga_blank
set_location_assignment PIN_A11 -to vga_clk
set_location_assignment PIN_J9 -to vga_g[0]
set_location_assignment PIN_J10 -to vga_g[1]
set_location_assignment PIN_H12 -to vga_g[2]
set_location_assignment PIN_G10 -to vga_g[3]
set_location_assignment PIN_G11 -to vga_g[4]
set_location_assignment PIN_G12 -to vga_g[5]
set_location_assignment PIN_F11 -to vga_g[6]
set_location_assignment PIN_E11 -to vga_g[7]
set_location_assignment PIN_B11 -to vga_hs
set_location_assignment PIN_A13 -to vga_r[0]
set_location_assignment PIN_C13 -to vga_r[1]
set_location_assignment PIN_E13 -to vga_r[2]
set_location_assignment PIN_B12 -to vga_r[3]
set_location_assignment PIN_C12 -to vga_r[4]
set_location_assignment PIN_D12 -to vga_r[5]
set_location_assignment PIN_E12 -to vga_r[6]
set_location_assignment PIN_F13 -to vga_r[7]
set_location_assignment PIN_C10 -to vga_sync
set_location_assignment PIN_D11 -to vga_vs
ad_封装_ads828的更多相关文章
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- Ajax实现原理,代码封装
都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~
一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...
- 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)
前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...
- 封装集合(Encapsulate Collection)
封装就是将相关的方法或者属性抽象成为一个对象. 封装的意义: 对外隐藏内部实现,接口不变,内部实现自由修改. 只返回需要的数据和方法. 提供一种方式防止数据被修改. 更好的代码复用. 当一个类的属性类 ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
- CSharpGL(7)对VAO和VBO的封装
CSharpGL(7)对VAO和VBO的封装 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考 ...
随机推荐
- canvas绘图详解-06-绘制一个五角星-常用绘图原理
先将如何画一个正规的五角星 在五角星的内外画两个圆,五角星有五个角,360/5=72度 所以得出这两个角的度数 然后算出这两个点坐标 角度转弧度 角度/180*Math.PI 所以外顶点坐标 x: ...
- vue.js 常用语法总结(一)
作者:曾萍,目前就职于京东商城. 概述 2016年已经结束了.你是否会思考一下,自己在过去的一年里是否错过一些重要的东西?不用担心,我们正在回顾那些流行的趋势.通过比较过去12个月里Github所增加 ...
- maven 配置安装
1.下载maven http://maven.apache.org/ 2.windows安装maven 解压包后配置环境变量 PATH:%M2_HOME%\bin M2_HOME:D:\soft\ ...
- nodejs笔记2 --关于nodejs最新启动方式
1,运行应用以前是node app.js或者 supervisor app.js 2, 现在的应用方式是npm start或者supervisor bin/www
- 深度神经网络(DNN)模型与前向传播算法
深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一个总结. 1. 从感知机 ...
- Lua与.net的CLR相互调用
工程环境搭建: 下载luainterface-1.5.3.zip文件,使用到的dll为Built目录下的LuaInterface.dll.lua51.dll.luanet.dll LuaInterfa ...
- linux下载时提示请尝试移除磁盘中不需要的文件并重试,或者保存到其他位置
因为我是用虚拟机装的linux,所以当时就分配了20G硬盘,下载了几个应用后再下载就提示我这个了.一开始我还以为是因为下载链接的问题,后来才知道原来是因为/tmp的满了. 然后我输入以下连个命令就能正 ...
- 我眼中的JAVA的那些数据结构应用
能沉淀下来的东西,往往都很基础,整理了下JAVA中遇到的数据结构 目录大纲: 到目前接触到的 有几个说明: 可扩容数组 ArrayList 扩容数组的实现, 满了后扩容,扩容在1.5倍,通过copy过 ...
- php代码审计--sql注入
sql注入是web安全中最常见,也是平常中危害最大的漏洞. 最近在学习代码审计,拿自己审核的一段代码做个笔记. 1.sql语句拼接可能引起sql注入 很多偷懒的程序员对于没有过滤的参数,直接将其拼接到 ...
- java springmvc +spring+ mybaits 模块化开发框架 HTML5+css3.0+bootstrap响应式开发界面
需要源码,请加QQ:858-048-581 系统模块 1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增 ...