
FPGA
teenagerold
这个作者很懒,什么都没留下…
展开
-
关于parallel_case和full_case的使用
总是想写点东西,区分一下synopsys parallel_case和full_case的使用方法,今天就写一点吧。在写RTL的时候,常常会用到CASE语句,但是case语句实际综合后,产生的逻辑变化比较多,parallel_case和full_case主要就是用来控制综合器把case语句综合成什么硬件逻辑。首先说说parallel_case。例子一:转载 2017-09-18 19:14:23 · 1035 阅读 · 0 评论 -
always电平触发
一直用的是always块的沿触发,今天看了一下电平触发。 先看一个例子:always@(a or b or c)begin……end 对于always块敏感电平列表,只要有a、b、c任何一个发生变化,从低到高或者从高到低都会执行一次过程块。 对于 always@(*) 这种的写法,表示对always模块中的所有赋值信号发生变化,都会触发模块重新计算。这里看一个例子: alwa原创 2017-10-02 10:10:54 · 11808 阅读 · 0 评论 -
数字时钟设计
设计一个多功能数字时钟,有基本的数字时钟、秒表、闹钟三个功能。原创 2017-12-08 21:00:15 · 24503 阅读 · 3 评论 -
串口回环测试思考
这两天测试FPGA串口发送接收时,按照彬哥书上,搭建串口回环测试,但是自己写的模块总是相邻两个字符丢失一个字符,使用Modelsim功能仿真,发现了一些问题,记录在此。 如果是按照过采样的方法设计的串口发送与接收模块,那么在PC向FPGA连续发送字符时,可以想象的到,每10个字符间隔(1 start+8bits+1 stop),接收模块就会产生一个接收标志rx_flag。回环测试时,由于...原创 2018-03-25 09:59:39 · 3705 阅读 · 0 评论 -
给串口模块加入FIFO
根据Dvm-gli的博客(彬哥的论坛),彬哥的串口发送程序在用户需要连续进行数据发送时,使用起来不方便,因为每发送一个数据,都要给出一个相应的发送脉冲。这时可以在用户和uart_transfer之间加入一个fifo模块,用户只需要把要发送的数据写入fifo,自动由uart_transfer模块进行发送,这样使用上方便一些。 主要端口如下, 需要注意的信号有两个,一个是uar...原创 2018-03-27 14:54:33 · 7289 阅读 · 2 评论 -
quartus调用modelsim仿真时弹出“voptk.exe已停止工作”的解决办法
首先需要确认的是你的verilog设计能编译通过,在Quartus ii 里面也就是能完成“Analyse&Synthesis”,然后再确认你的testbench无语法及逻辑错误,一般调用Modelsim,假如.v源文件或者.v测试文件有语法错误,console中会有错误提示,请先修正语法错误。 如果源文件语法没有错误,但是仍然会弹出”voptk.exe已停止工作“,如果观察到Mode...原创 2019-03-12 19:55:27 · 1914 阅读 · 1 评论