集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 8296|回复: 21

我不懂cpld 也不懂vhdl 做个数字式气温计

[复制链接]
UFP 发表于 2010-6-26 00:33:01 | 显示全部楼层 |阅读模式
我不懂cpld 也不懂vhdl 谁帮帮我
我要做个数字式气温计, 其中数字信号输出,然后在max里对cpld设计
它的功能是实现时序信号产生,数据采集,码制转换,数据显示等工作
老师说要设计电路 挺简单 可我不会
或用vhdl设计 那是不是就不用别的 只在max里设计程序就行了呢?
然后仿真,不用硬件 直接在电脑上实现 
UFO 发表于 2010-6-26 01:47:12 | 显示全部楼层
你不会vhdl, 你可以试试原理图,也许好懂一些。<br>
做完以后要下载到cpld,不然就没意义了
CTT 发表于 2010-6-26 02:50:52 | 显示全部楼层
先找本VHDL和CPLD方面的书看看,搞清楚VHDL和CPLD是怎么回事情,然后在考虑你的课题
HDL 发表于 2010-6-26 03:27:26 | 显示全部楼层
谢谢<br>
我正在看 我那必须用vhdl 讲的是这个 <br>
是不是用他编程就可以<br>
就能实现我说的功能<br>
不用在画图了???????
UFO 发表于 2010-6-26 04:24:50 | 显示全部楼层
努力吧<br>
呵呵
usb 发表于 2010-6-26 04:46:33 | 显示全部楼层
可别真跳楼了啊
interig 发表于 2010-6-26 05:54:16 | 显示全部楼层
毕高太恶心了,我做一个单片机的小系统,不难,一样焦头烂额的
ICE 发表于 2010-6-26 07:45:01 | 显示全部楼层
如果要一个实际能用的结果的话,肯定需要布PCB板,而且一定会有模拟电路、AD转换和FPGA部分,显示部分。电脑上一般还不好把这整个系统仿真出来的。你先看看怎么划分电路功能,即模拟电路做什么,FPGA做什么,搞清楚再说吧。
ANG 发表于 2010-6-26 09:02:06 | 显示全部楼层
我也是搞DVB的,兄弟介绍几个好点的公司,我明年毕业
VVC 发表于 2010-6-26 09:31:25 | 显示全部楼层
V&lt;=(D&amp;0&rsquo;) -&rdquo;100010001&rdquo;;<br>
&nbsp; &nbsp;&nbsp;&nbsp;T&lt;=(7 downto 0);&nbsp;&nbsp;得到温度二进制值<br>
下面是将BCD转换成二进制<br>
Value&lt;=&rdquo;000000000000&rdquo;when T=0else<br>
&ldquo;000000000001&rdquo;when T=else<br>
&hellip;&hellip;&hellip;<br>
&hellip;&hellip;.<br>
&ldquo;000000010001&rdquo;when T=11else<br>
&hellip;..<br>
&hellip;..<br>
&ldquo;000010011001&rdquo;whenT=99 else<br>
&ldquo;000100000000&rdquo;<br>
下面是数据采集与adc0804连接的 片选是cs写信号是wr读信号是rd中断是intr<br>
PROCESS(CP,RST)<br>
BEGIN<br>
&nbsp;&nbsp;IF RST=1 Then<br>
&nbsp;&nbsp;nCS&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nWR&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nRD&lt;=1&rsquo;;<br>
&nbsp;&nbsp;EC&lt;=0&rsquo;;<br>
State &lt;=S0;<br>
ElsIF CPEvent And CP=1&rsquo; Then<br>
CASE State IS<br>
WHEN S0 =&gt;<br>
&nbsp;&nbsp;nCS&lt;=0&rsquo;;<br>
&nbsp;&nbsp;nWR&lt;=0&rsquo;;<br>
&nbsp;&nbsp;nRD&lt;=1&rsquo;;<br>
&nbsp;&nbsp;EC&lt;=0&rsquo;;<br>
State &lt;=S1;<br>
WHEN S1 =&gt;<br>
nCS&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nWR&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nRD&lt;=1&rsquo;;<br>
&nbsp;&nbsp;EC&lt;=0&rsquo;;<br>
If nIN=0&rsquo;Then<br>
Stat &lt;=S2;<br>
End if ;<br>
WHEN S2=&gt;<br>
nCS&lt;=0&rsquo;;<br>
&nbsp;&nbsp;nWR&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nRD&lt;=0&rsquo;;<br>
&nbsp;&nbsp;EC&lt;=1&rsquo;;<br>
State &lt;=S3;<br>
<br>
WHEN S3=&gt;<br>
nCS&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nWR&lt;=1&rsquo;;<br>
&nbsp;&nbsp;nRD&lt;=1&rsquo;;<br>
&nbsp;&nbsp;EC&lt;=0&rsquo;;<br>
State&lt;=S0;<br>
WHEN OTHERS=&gt;<br>
State&lt;=S0;<br>
END CASE; <br>
End If;<br>
END PROCESS;<br>
下面是七段扫描驱动显示和十六进制与七段显示码转换电路<br>
Signal Q : STD_LOGIC_VECTOR(15 DOWNTO 0);<br>
PROCESS (CP)<br>
Begin<br>
IF CP Event AND CP =1&rsquo; then <br>
&nbsp;&nbsp;Q&lt;=Q+1;<br>
END IF;<br>
ST&lt;=Q(15 DOWNTO 14);<br>
SEL&lt;=&rdquo;110&rdquo; WHEN ST =0 ELSE<br>
&nbsp; &nbsp;&nbsp; &nbsp;&ldquo;101&rdquo; WHEN ST =1 ELSE<br>
&nbsp; &nbsp;&nbsp; &nbsp;&ldquo;011&rdquo; WHEN ST =2ELSE<br>
&nbsp; &nbsp;&nbsp; &nbsp; &ldquo;111&rdquo;<br>
<br>
NUM&lt;=Value(3 DOWNTO 0) WHEN ST =0 ELSE<br>
&nbsp; &nbsp;&nbsp; &nbsp; Value(7DOWNTO 4) WHEN ST =1ELSE<br>
&nbsp; &nbsp;&nbsp; &nbsp; Value(11DOWNTO 8);<br>
SEG &lt;= &ldquo;0111111&rdquo; WHEN NUM = 0 ELSE <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&ldquo;0000110&rdquo; WHEN NUM = 1 ELSE <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&ldquo;1011011&rdquo; WHEN NUM = 2 ELSE <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&hellip;..<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&hellip;.<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &ldquo;1110001&rdquo; WHEN NUM = 15 ELSE <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &ldquo;0000000&rdquo;;
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-7 05:30 , Processed in 0.068227 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表