随笔分类 -  FPGA

摘要:这些引脚大致分为四个部分,即时钟信号(CLK)、地址总线(A0-A11/BA0-1)、数据总线(DQ0-DQ15)、控制信号(LDQM/UDQM/CS/WE/CAS/RAS/CKE)。 时钟信号在前面已经做过约束,即FPGA器件内部定义为sdram_clk的引脚,对于SDRAM芯片而言这是一个外部输入(FPGA输出)的时钟信号。控制信号中LDQM/UDQM分别控制数据总线的低字节和高字节是否有效,通常均拉低,表示高低字节的数据都有效;CS是片选信号,WE是写选通信号,CAS是列选通信号,RAS是行选通信号,CKE是时钟有效信号,这五个信号的不同电平组合(满足一定时序要求)构成了不同的SDRAM 阅读全文

posted @ 2014-04-10 16:19 怎能平庸 阅读(2605) 评论(0) 推荐(0)

摘要:if....else语句和case语句的区别: 理论上,if..else语句是串行的逻辑结构,case语句是并行的逻辑结构。但经过编译器优化后 if...else结构也可能被优化为并行结构。 if语句可以不加else部分,但是,在综合后,则会多产生寄存器用于保存if中的逻辑式的值。 同样,若case语句中不加default部分,也会多产生寄存器用于保存if中的逻辑式的值。verilog中一般不用for语句,因为for语句占用的硬件资源比较多,在for语句使用的时候,注意阻塞赋值'='和非阻塞赋值'<=',在always语句中使用非阻塞赋值时,是在alway 阅读全文

posted @ 2013-11-16 18:03 怎能平庸 阅读(592) 评论(0) 推荐(0)

摘要:testbench的代码在modelsim检测语法及编译,如果有错误可在modelsim中的view->transcript中查看testbench中的verilog是并行和串行并存的语言forever#10 inclk=~inclk;#10000 $finish;和#10000 $finish;forever#10 inclk=~inclk;将是不同的仿真结果,因为在第二部分#10000 $finish;未执行完成之前forever语句是无效的。而#10000 $finish;执行完后整个仿真就结束了仿真时,在.v文件中的递增量要赋初始值,否则其仿真时为未知状态。reg outclk, 阅读全文

posted @ 2013-11-15 14:42 怎能平庸 阅读(217) 评论(0) 推荐(0)

导航