在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5347|回复: 9

哪位好心人帮帮忙啊,要不然我的课就挂了

[复制链接]
发表于 2007-5-16 08:27:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我选了FPGA这门专业任选课,但因为准备考研,平时没去上课,本以为最后考试是开卷考,谁知老师要求写论文,可是我什么都不会啊,现在自学也来不急了,我现在后悔死了,下周四就要交了,还有八天的时间让我去看那本书太不现实了,这期间还有两门考试,我该怎么办啊,哪位好心人帮帮忙吧,小弟在此感激不尽。
以下是老师给的题目,任选其一:

《基于CPLD/FPGA的数字通信系统建模与设计》设计题目
1、             设计一个数字基带传输系统,要求对信码进行HDB3编译码,系统中要求有位同步提取模块和帧同步提取模块,并进行时序仿真。
2、             设计一个三路同步复接器和分接器传输系统,要求帧标志码为巴克码01110010,系统中要求有位同步提取模块和帧同步提取模块,并进行时序仿真。
3、             设计载波同步信号提取电路,用VHDL编程并进行时序仿真。
4、             已知某2ASK系统的码元传输速率为103baud,所用的载波信号为 ,设所传送的数字信息为011001,试编写实现该数码调制的VHDL程序。
5、             设某2FSK调制系统的码元传输速率为1000baud,已调信号的载波频率为1000Hz2000Hz,若发送数字信息为011010,试考虑这时的2FSK信号应选择怎样的解调器解调,并编写实现该数码调制的VHDL程序。
6、             若某2FSK系统的码元传输速率为2×106baud,数字信号为“1”时的频率f110MHZ,数字信号为“0”时的频率f210.4MHZ。输入接收端解调器的信号振幅a=40μV。信道加性噪声为高斯白噪声、且其单边功率谱密度为 。试编写该系统的VHDL程序。
7、             设发送数字信息为011011100010,试分别编写实现该数码的2ASK调制、2FSK调制的VHDL程序。
8、             设发送数字信息为011011100010,试分别编写实现该数码的2CPSK2DPSK调制的VHDL程序。
9、             假设在某2DPSK系统中,载波频率为2400Hz,码元速率为1200baud,已知相对码序列为1100010111。试编写实现该数码调制的VHDL程序。
10、        试编写数码为1110010110004ASK的调制与解调的VHDL程序。
11、        试编写数码为1110010110004PSK的调制与解调的VHDL程序。
12、        试编写数码为1110010110004FSK的调制与解调的VHDL程序。
13、        试编写数码为1110010110002ASK的调制与解调的VHDL程序。
14、        试编写数码为1110010110002PSK的调制与解调的VHDL程序。
15、        试编写数码为1110010110002FSK 的调制与解调的VHDL程序。
要求:按照课程设计的论文格式进行论文撰写,可以简述原理部分,给出设计过程以及程序,并附仿真结果图以及对仿真结果的分析。要求交电子版的程序,包括语言程序以及仿真文件*.scf
我只要程序好仿真图形就行了,其他的我自己能搞定。
 楼主| 发表于 2007-5-16 08:32:10 | 显示全部楼层
我的电子邮箱是:zben32@126.com
发表于 2007-5-16 09:05:02 | 显示全部楼层
您都要成为研究生了,还要别人帮忙写这点东西,不是显得有点幼稚嘛?
发表于 2007-5-16 10:05:39 | 显示全部楼层
你在学习过程中有不懂的可以来这里问,但是如果要请别人帮你做作业,那也太说不过去了吧?
偶在放弃本专业长达三年后,重新捧起课本,照样可以在5天内再次学会数字逻辑系统设计,并且从零起点学会CPLD开发及仿真和VHDL编程!
如果你的水平真的高到可以经常不上课而考上研究生的话,一定可以在8天内学会FPGA开发和仿真与VHDL编程的!
 楼主| 发表于 2007-5-16 18:30:37 | 显示全部楼层
library ieee;
use ieee.std_logic_1164.all;
entity hdb3bianyi is-------top
程序
port(codein:in std_logic;
       clk:in std_logic;
       clr:in std_logic;
       codeoutut std_logic_vector(1 downto 0);
        fb,zb:in std_logic;
        decode,v2,v3ut std_logic);
end entity hdb3bianyi;
architecture gh of hdb3bianyi is
component hdb3
port(codein:in std_logic;
       clk:in std_logic;
       clr:in std_logic;
       codeoutut std_logic_vector(1 downto 0));
end component hdb3;

component hdb3by
port(fb,zb,clk:in std_logic;
decode,v2,v3:out std_logic);
end component hdb3by;
begin
U1:HDB3
PORT MAP ( CODEIN=>CODEIN,CLK=>CLK,CLR=>CLR,CODEOUT=>CODEOUT );
U2:HDB3by
PORT MAP (fb=>fb,zb=>zb,clk=>clk,decode=>decode,v2=>v2,v3=>v3);
end architecture gh;
-----------------------------
编码
library ieee;
use ieee.std_logic_1164.all;
entity hdb3 is
  port(codein:in std_logic;
       clk:in std_logic;
       clr:in std_logic;
       codeout:out std_logic_vector(1 downto 0));
end hdb3;
architecture behave of hdb3 is
signal cnt0:integer:=0;
signal flag0:integer range 1 downto 0 :=0;
signal flag1:integer range 1 downto 0 :=0;
signal flag2:integer range 1 downto 0 :=1;
signal flag3:integer range 1 downto 0 :=0;
signal firstv:integer range 1 downto 0 :=0;
signal codeoutv : std_logic_vector(2 downto 0);
signal s0:std_logic_vector(4 downto 0) :="00000";
signal codeoutb:std_logic_vector(2 downto 0);
signal s1:std_logic_vector(4 downto 0) :="00000";
signal clkb:std_logic;
signal clkv:std_logic;
signal clkout:std_logic;
signal s2:std_logic_vector(4 downto 0) :="00000";
signal s3 :std_logic_vector(2 downto 0);
component dff
port(d :in std_logic;
     clk :in std_logic;
     q :out std_logic);
end component;
----------------------
V
begin
vclk:clkv<=clk after 10 ns;
add_v:process(clk,clr)
  begin
     if clk'event and clk='1'then
       if clr='1'then
          codeoutv<="000";
           cnt0<=0;
       else
       case codein is
        when '1'=>   --
始终成立
            cnt0<=0;
            if(flag0=0) then
              codeoutv<="110";
              flag0<=1;
              codeoutv<="010";
              flag0<=0;
              end if;
       when '0'=>
            if cnt0=3 then
            if firstv=0 then
            if flag0=0 then
               codeoutv<="011";
               flag1<=0;
            else
               codeoutv<="111";
               flag1<=1;
             end if;
             firstv<=1;
             else
              if flag1=0 then
                 codeoutv<="111";
                  flag1<=1;
                  flag0<=1;
              else
                 codeoutv<="011";
                 flag1<=0;
                 flag0<=0;
              end if;
          end if;
        cnt0<=0;
      else
        cnt0<=cnt0+1;
        codeoutv<="000";
        end if;
      when others=>  ----
在其他所有的情况
          codeoutv<="000";
          cnt0<=cnt0;
        end case;
      end if;
     end if;
end process add_v;
s0(0)<=codeoutv(0);
s1(0)<=codeoutv(1);
s2(0)<=codeoutv(2);
ds21:dff port map(s2(0),clk,s2(1));
ds11:dff port map(s1(0),clk,s1(1));
ds01:dff port map(s0(0),clk,s0(1));
ds22:dff port map(s2(1),clk,s2(2));
ds12:dff port map(s1(1),clk,s1(2));
ds02:dff port map(s0(1),clk,s0(2));
ds23:dff port map(s2(2),clk,s2(3));
ds13:dff port map(s1(2),clk,s1(3));
ds03:dff port map(s0(2),clk,s0(3));
---------
B
bclk:clkb<=not clk;
add_b:process(clkb)
    begin
    if clkb'event and clkb='1'then
    case codeoutv is
     when "110"=>
         flag3<=1;
         s2(4)<=s2(3);
         s1(4)<=s1(3);
         s0(4)<=s0(3);
     when "010"=>
         flag3<=0;
         s2(4)<=s2(3);
         s1(4)<=s1(3);
         s0(4)<=s0(3);
     when "111"=>
        if flag3<=0 then
         s2(4)<='1';
         s1(4)<='0';
         s0(4)<='1';
         flag3<=1;
         else
         s2(4)<=s2(3);
         s1(4)<=s1(3);
         s0(4)<=s0(3);
        end if;
       flag2<=1;
when "011"=>
    if flag3<=0 then
     s2(4)<=s2(3);
     s1(4)<=s1(3);
     s0(4)<=s0(3);
    else
         s2(4)<='0';
         s1(4)<='0';
         s0(4)<='1';
         flag3<=0;
    end if;
          flag2<=0;
          when others=>
           s2(4)<=s2(3);
           s1(4)<=s1(3);
           s0(4)<=s0(3);
          end case;
            codeoutb<=s2(4)&s1(4)&s0(4);
          end if;
      end process add_b;
-------------------------
输出
outclk:clkout<=clk after 5 ns;
output: process(clkout)
    begin
      if  clkout'event and clkout='1'then
        if codeoutb="000"then
           codeout<="00";
         elsif codeoutb="001"or codeoutb="010" or codeoutb="011"then
            codeout<="01";
         else
            codeout<="10";
         end if;
       end if;
end process output;
end behave;
--------------------
译码
library ieee;
use ieee.std_logic_1164.all;
entity hdb3by is
port(fb,zb,clk:in std_logic;
decode,v2,v3:out std_logic);
end entity hdb3by;
architecture hh of hdb3by is
component kvb
port(clk:in std_logic;
      v,datain:in std_logic;
      decode:out std_logic);
end component kvb;
component or1
port(a,b:in std_logic;c:out std_logic);
end component or1;
component fv
port(fb,zb:in std_logic;
fvout:out std_logic);
end component fv;
component zv
port(fb,zb:in std_logic;
zvout:out std_logic);
end component zv;
component v1
port(a,b:in std_logic;
v2,v3:out std_logic);
end component v1;
signal m,x,y,z:std_logic;
begin
t1:zv port map(fb=>fb,zb=>zb,zvout=>x);
t2:fv port map(fb=>fb,zb=>zb,fvout=>y);
t3:or1 port map(a=>y,b=>x,c=>z);
t4:or1 port map(a=>fb,b=>zb,c=>m);
t5:kvb port map(clk=>clk,v=>z,datain=>m,decode=>decode);
t6:v1 port map(a=>x,b=>y,v2=>v2,v3=>v3);
end architecture hh;
library ieee;
use ieee.std_logic_1164.all;
entity v1 is
port(a,b:in std_logic;
v2,v3:out std_logic);
end v1;
architecture one of v1 is
begin
v2<=a;
v3<=b;
end one;
---------+v
模块
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity zv is
port(fb,zb:in std_logic;
zvout:out std_logic);
end zv;
architecture bh of zv is
signal M:std_logic_vector(2 downto 0);
begin
process(zb,fb)
begin
if fb='1'then M<="000";
  elsif zb'event and zb='1'then
    if M<2 then
      M<=M+1;
     end if;
  end if;
end process;
process(FB,M)
begin
if FB='0'then
if M<2 then
zvout<='0' ;
     else
      zvout<=zb;
end if;
    else
zvout<='0';
end if;
end process;
end bh;
-------- -V
模块
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity fv is
port(fb,zb:in std_logic;
fvout:out std_logic);
end fv;
architecture hh of fv is
signal N:std_logic_vector(2 downto 0);
begin
process(zb,fb)
  begin
  if zb='1'then N<="000";
  elsif fb'event and fb='1'then
     if N<2 then
        N<=N+1;
      end if ;
    end if;
end process;
process(zb,N)
begin
if zb='0'then
if N<2 then
   fvout<='0';
         else
         fvout<=fb;
    end if;
       else
  fvout<='0';
end if;
end process;
end hh;
----------
加法器
library ieee;
use ieee.std_logic_1164.all;
entity or1 is
port(a,b:in std_logic;c:out std_logic);
end entity or1;
architecture one of or1 is
begin
c<=a or b;
end architecture one;
-----------VB
library ieee;
use ieee.std_logic_1164.all;
entity kvb is
port(clk:in std_logic;
v,datain:in std_logic;
decode:out std_logic);
end kvb;
architecture behav of kvb is
signal A0,A1,A2,A3:std_logic;
begin
  process(clk,v)
   begin
    if clk'event and clk='1'then
   if(v='1')then
     A0<='0';
     A1<='0';
     A2<='0';
     A3<='0';
   decode<=A0;
  elsif(v='0')then
     A3<=datain;
     A2<=A3;
     A1<=A2;
     A0<=A1;
  decode<=A0;
end if;
end if;
end process;
end behav;
 楼主| 发表于 2007-5-16 18:33:46 | 显示全部楼层
帮我看看这个程序,我照书本写的,由于老师没讲帧同步模块,问其他的同学他们也不会,哪位大侠帮我改一下可以吗?小弟在此谢谢了。
题目:设计一个数字基带传输系统,要求对信码进行HDB3编译码,系统中要求有位同步提取模块和帧同步提取模块,并进行时序仿真
发表于 2007-5-19 12:22:26 | 显示全部楼层
感觉不是VHDL课,根本就是通信原理...
这些你可以去论文数据库里查,肯定查的到.然后看看改改就OK
COPY同学的也可以
发表于 2007-5-22 05:29:21 | 显示全部楼层
早挂早安心

中国的大学生让人瞧不起基本上都是lz这样的给祸害的
发表于 2007-5-23 18:47:34 | 显示全部楼层
只可惜偶通信的东西不懂
发表于 2007-6-4 16:12:33 | 显示全部楼层
考研不用太认真  现在考研的人数明显下降 还是搞点实用的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-17 09:44 , Processed in 0.025667 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表