在没有使用QuartusII自带的Lpm_compare 这个模块时,自己理解的就是很简单的比较器,没有想到用到它有符号的功能就得出不一样的结果了。
首先要了解二进制有符号的情况,就拿4位的二进制来说。无符号的时候4位二进制中,0000-1111对应的是0-15,而有符号的二进制中,0000-0111是0-7,1000-1111是-8—1,在程序中可以实现,下图1是RTL级图,
在比较器中,a端是自己形成的4位二进制数从0000到1111一直累加,b端是选择用一个定值7来作比较,一个通过的是无符号的比较器,另一个通过有符号的比较器,得出来的结果由下图2所示。这是两个一样的图,只是把其中一个放大,可以看到计数到哪一位开始变化的。利用有符号的比较可以形成负数的形式,对于形成有负值的波形很有帮助。
文章评论(0条评论)
登录后参与讨论