zhliao2

风雨兼程,一路向北-------fpga (Keep a quiet heart study)

05 2012 档案

【转】异步复位,同步释放
摘要:异步复位:module test ( input clk, input rst_n, input data_in, output reg out ); always @ (posedge clk or negedge rst_n) if(!rst_n) out <= 1'b0; else out <= data_in; endmoduleRLT:我们可以看到FPGA的寄存器都有一个异步的清零端(CLR),在异步复位的设计中这个端口一般就是接低电平有效的复位信号rst_n。即使说你的设计中是高电平复位,那么实际综合后会把你的复位信号反向后接这个... 阅读全文

posted @ 2012-05-31 08:32 zhliao 阅读(322) 评论(0) 推荐(0)

【转】单片机的扩展RAM读写时序
摘要:用的是11.0592MHz的STC89C52做测试,#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar xdata LD _at_ 0x7fff;void delay(uint cnt){ uint i; for(i=0;i<cnt;i++);}void main(void){ uchar i; delay(1000); while(1) { ... 阅读全文

posted @ 2012-05-31 00:42 zhliao 阅读(705) 评论(0) 推荐(0)

数字时钟(数码管显示/键盘可调)
摘要:有关的硬件原理图:c程序://温馨提示:/*程序还没有调试完成,实际电路板调节时间时时-分-秒都会有闪烁现象,其实我是不知道的,why,也求解释#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<intrins.h> //与_nop_有关sbit duan=P2^2; //定义锁存使能端口 段锁存sbit wei=P2^3; // 位锁存sbit key1 = P1^1;sbit key2 = P1^2;sbit key3 = P1^3;sbit key4 = ... 阅读全文

posted @ 2012-05-22 21:28 zhliao 阅读(3233) 评论(1) 推荐(0)

数码显示(用到74ls273)
摘要:具体的电路图如有疑问可参考另一bloghttp://www.cnblogs.com/Crazy-Didong/archive/2012/04/12/2444446.html也是用到74ls273实现流水灯设计以下程序选择的晶振都是6MHz的,实现的功能是秒和分的实时显示在数码管上,用到了6个数码管 ==>> xx--xx (左分右秒,中间是小横线)流程图:c程序://程序选择的晶振是6MHz#include <stdio.h> #include <reg51.h> #include <absacc.h> #include <intrins. 阅读全文

posted @ 2012-05-22 21:25 zhliao 阅读(796) 评论(0) 推荐(0)

ASCII对照表
摘要:ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165A02022stx1024266B03033etx1034367C04044eot1044468D05055enq1054569E06066ack1. 阅读全文

posted @ 2012-05-22 07:37 zhliao 阅读(311) 评论(0) 推荐(0)

串行通信
摘要:本实验选择11.0592晶振,波特率为9600,串行工作方式1( SCON = 0X40 );最近被Verilog代码搞得头有点晕,或许是没有深入了解硬件思想的原因吧,有或许是没有模块化概念,总之,被它磨的信心有点。。。,不说了,这里是单片机啊,额,看来,不管学什么东西,具体的流程还是要去了解并付诸行动的,好吧,先上流程图先(嘻嘻,懒的自己画,直接copy的O(∩_∩)O~)。代码:# include <reg52.h>unsigned char data byData[10] _at_ 0x70; //在数据存储器70H~79H空间开辟数组unsigned char data b 阅读全文

posted @ 2012-05-17 14:25 zhliao 阅读(868) 评论(0) 推荐(0)

乘法器的设计
摘要:以下代码是选自特权同学的《《深入浅出玩转FPGA》》乘法器的设计方法有两种:组合逻辑设计方法和时序逻辑。采用组合逻辑设计方法,电路事先将所有的乘积项全部计算出来,最后加法运算。采用时序逻辑设计方法,电路将部分已经得到的乘积结果右移,然后与乘积项相加并保存和值,反复迭代上述步骤直到计算出最终乘积。好处:利用时序逻辑设计方法可以使整体设计具备流水线结构的特征,能适用在各种实际工程设计中。数据吞吐量使指芯片在一定时钟频率条件下所能处理的有效数据量。假设时钟频率为300MHz,由于芯片完成一次乘法运算需要1个以上的时钟周期,因此,即使芯片采用300MHz的时钟频率,它每秒钟所能处理的有效数据吞吐量也一 阅读全文

posted @ 2012-05-16 17:04 zhliao 阅读(1610) 评论(0) 推荐(0)

FPGA最小系统
摘要:以下电路参考BINGO设计的最小系统:芯片,电源,外部时钟,复位电路,下载与调试电路,存储器。1 芯片的设计:管脚的兼容性。器件的选择:成本的维护(包括硬件和软件),并非越先进越好。芯片管脚的制定原则:依据PCB布局;专用I/O处理。锁相环管脚的处理(分频和倍频)。2 电源线性电源和开关电源。3 外部时钟(一般用晶振)4 复位电路(一般低电平复位)芯片复位和阻容复位。5 下载与调试电路(JTAG和AS)最小系统测试流程:1 短路/断路测试2 电源电压测试3 下载模式测试4 其他接口依次测试FPGA型号的含义:最小系统的组成电路(部分):主芯片(EPM240GT100C5)【EPM570需要接四 阅读全文

posted @ 2012-05-16 16:25 zhliao 阅读(1573) 评论(0) 推荐(0)

VHDL模板
摘要:摘自alter在线视频的ppt常量-命名相关值-常量声明 CONSTANT <name> : <DATA_TYPE> := <value>; CONSTANT bus_width : INTEGER := 16;-执行代码不能改变它-提高代码的可读性-提高代码的灵活性信号-表示物理互联(线)的信号,实现进程之间的通信(函数)-信号可以在封装,实体和体系结构中进行声明为信号赋值SIGNAL temp : STD_LOGIC_VECTOR (7 DOWNTO 0);-所有比特: temp <= "10101010"; temp < 阅读全文

posted @ 2012-05-14 13:27 zhliao 阅读(855) 评论(0) 推荐(0)

VHDL基础
摘要:行为建模----由其输入输出响应描述的组件-只有电路功能,没有结构-没有专门的硬件目标结构化建模----由底层互联组成和原语描述的组件-电路功能和结构-要求明确的硬件实现寄存器传送级(RTL)----出于综合目的的一类行为建模-硬件是隐含的或者推断的-可综合综合----将HDL译成电路,然后对表征电路进行优化进程----VHDL中执行的基本单元VHDL基础-两种构建方法:综合和仿真-VHDL语言包括保留关键字-语言的大部分对条件不敏感-VHDL声明以;结束-VHDL对空白不敏感。用于提高可读性-VHDL中的注释以"--"开始,到eol结束VHDL设计单元-实体:用于定义模型 阅读全文

posted @ 2012-05-13 15:41 zhliao 阅读(589) 评论(0) 推荐(0)

QuartusII不同后缀文件的具体信息
摘要:在quartusII设置文件(.QSF)中储存设置QuartusII工程文件(.QPF)QuartusII默认文件(.QDF)QuartusII设置文件(.QSF)Synopsys设计约束(.QDC)-保持时序约束压缩的QuartusII档案文件(.QAR)存档活动日志(.QARLOG)Project -- Archive进行存档QuartusII宏功能-Altera专用宏功能(以'ALT'开头)-参数化模块库(LPM)SDC格式,TimeQuestwSDC网表术语cell 器件构建模块(例如,查找表,寄存器,嵌入式乘法器,存储器模块,I/O,单元,PLL等)Pin Cell的 阅读全文

posted @ 2012-05-13 13:20 zhliao 阅读(1726) 评论(0) 推荐(0)

altera产生网表后需要仿真注意的问题(前仿真/后仿真)
摘要:在ModelSim文件中.vo文件也是verilog语言描述的..sdo文件实际上芯片之间布线的延时文件,在布线时每个连接线之间的延时.包括器件的延时信息.D:\altera\11.1sp2\quartus\eda\sim_lib加载库文件,比如使用cyclone系列的器件,那就要使用cyclone_atoms.v。如果使用ALTERA的ip核,那么还需要使用altera_mf.v文件。如果altera的ip核中包括了用户的原语,还需要加入220model.v文件。以上对应的verilog HDL语言的库文件,同时使用VHDL语言的库文件后缀为.VHD。在实际的应用中的数据量很大,使用传统的方 阅读全文

posted @ 2012-05-10 15:50 zhliao 阅读(1381) 评论(0) 推荐(0)

【转】FPGA资料汇总
摘要:初学者建议看基本中文的教材,这样方便上手(1)《EDA技术使用教程-Verilog(第四版)》潘松 黄继业,科学出版社国内Verilog经典教材,杭电人民首批试用,由杭电老师(康芯http://www.kx-soc.com/)编著,是初学Verilog理论不错的好书。(2)《深入浅出玩转FPGA》吴厚航 北京航空航天大学出版工程师项目实战演习的案例分析,更具实践价值。(3)《Verilog 数字系统设计教程》夏宇闻 北京航空航天大学出版理论价值相当雄厚,涵盖了Verilog所有领域,包括CPU的设计等。(4)《fpga prototyping by verilog examples》、《fpg 阅读全文

posted @ 2012-05-09 14:46 zhliao 阅读(791) 评论(0) 推荐(1)

通信(通信方式\电平转换\波特率\串行口结构)
摘要:以下内容选自郭天祥的书籍:串行通信方式:串行通信的必要过程:发送时,要把并行数据变成串行数据发送到线路上去,接受时,要把串行信号再变成并行数据,这样才能被计算机及其他设备处理。串行通信又有两种方式:异步串行通信和同步串行通信。异步串行通信方式:同步串行通信:TTL和RST232电平的转换:波特率与定时器初值的关系:也就必定很高。串行口结构描述:方式1的编程和实现: 阅读全文

posted @ 2012-05-08 15:11 zhliao 阅读(554) 评论(0) 推荐(0)

连载:单片机模板程序(asm)
摘要:以下程序择晶振为12MHz时钟i周期为晶振的倒数,位1/f(晶振),机器周期为时钟周期的12分频,即为12*1/f(晶振),故12MHz的机器周期为1us定时器1/0 ORG 0000H ;复位入口地址 AJMP START ;熟记长跳转和短跳转的区别:跳转时有范围的 LJMP MAIN ORG 001BH ;T1中断服务程序入口地址,若要实现T0中断,则地址改为000BH AJMP TIME1 ORG 0030H ;主程序STAR... 阅读全文

posted @ 2012-05-04 12:34 zhliao 阅读(699) 评论(0) 推荐(0)

各种工作寄存器(定时器/中断)
摘要:以下内容参考郭天祥的书籍:EA:全局中断允许位,要想打开任何中断,EA都必须为1.然后再允许某个特定的中断。ES:串行口中断允许。ES=1时,串口接收或者发送完成数据以后会引起中断(TI=1,或者RI=1)ET1:定时计数器1中断允许。ET1=1时,当定时计数器1计数满,溢出后引起中断,可在中断函数中处理定时器。EX1:外部中断1允许位。EX=1时,外部条边沿(或者电平)中断信号来后,会引起外部中断,可在外部中断函数中处理事件。ET0/EX0功能跟上面一样,只是换了个定时器或者外部中断。 PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。PT1:T1中断优 阅读全文

posted @ 2012-05-04 11:03 zhliao 阅读(1325) 评论(0) 推荐(0)